August 2015 Archives

Build LINE API with AutoHotkey

user-pic
Vote 0 Votes

本篇不是講 carpedm20 用 Python 寫的那個非官方 LINE API
那個非官方的 API 似乎被 LINE 封鎖了, 2015-08-26 開始就不能使用
替代方案是用電腦版 LINE + AutoHotkey 自己做
簡單講就是把使用電腦版 LINE 的動作, 寫成一個 AutoHotkey Script , 帶參數進去就成了土法 API

Script 如下, 其中的座標要用 AutoIt3 Window Spy 進行調整成適合自己的環境, 每台電腦狀況不太一樣
CoordMode, Mouse, Screen ; 螢幕絕對座標
MouseClick, left, 944, 754, 2 ; 點兩下 LINE tray icon
CoordMode, Mouse, Relative ; 視窗相對座標
Sleep, 400
MouseClick, left, 70,66 ; 點「好友」圖示
MouseClick, left, 240,112 ; 點到搜尋欄
Send {BS 20}%1% ; 送出 20 個 Backspace (刪除上一個收訊者名稱) 及收訊者名稱
Sleep, 200
MouseClick, left, 100, 190, 2 ; 滑鼠到收訊者名稱點兩下
Sleep, 200
Send %2%{Enter} ; 輸入訊息及 Enter 送出
Sleep, 600 ; 這邊的停頓很重要, 停太少時間會導致訊息還沒送出就關閉視窗
Send ^w ; 關閉聊天視窗
return

存成 SendMessage.ahk
送訊息 SendMessage.ahk {個人或群組名稱} {訊息}
例如: SendMessage.ahk Pank 測試

這個方法的優點是不會被封鎖, 缺點是送訊息的速度沒辦法太快, 最快要 1 秒多
LINE 有改版時需留意 Layout 是否有變, 可能需要微調座標

進階一點可以用 Apache + PHP 弄個 API 遠端呼叫
訊息量多的話還需要弄個 Queue 來管理, 才不會有兩筆 Request 同時進來時,
造成 AutoHotkey Script 同時執行或執行時間有重疊而游標錯亂

unison
雙向同步工具, 支援 Local or Remote

Local and Remote 目錄同步範例: 以新的檔案為主, 舊檔會被新檔覆蓋
unison -batch -prefer newer /home/dir/ ssh://192.168.1.2//home/dir/

2.45.28 是 CentOS 下可成功 compile 的最新版本, compile 需安裝 ocaml,
它是用 Objective Caml 寫的

之後的版本都會出現如下錯誤
File "unison-2.48.3/fsmonitor/linux/watcher.ml", line 55, characters 5-10:
Error: Syntax error

RouterBoard OpenVPN

user-pic
Vote 0 Votes

先在 Client 端電腦安裝 OpenVPN GUI
裝好後 開 CMD 切換到 OpenVPN\easy-rsa 目錄
編輯 vars.bat.sample 檔, 主要留意 HOME 路徑是否正確, openssl.cnf.sample 保持預設值即可

初始化設定, 其實就是把 sample 檔 copy 到正式 file
init-config.bat

載入環境變數
vars.bat

清除資料, 第一次建 Key 也必需做
clean-all.bat

建立自簽 CA, 會在 keys 目錄內建立 ca.crt 及 ca.key
build-ca.bat

若 RouterBoard 端有勾選 Require Client Certificate 需要建立 Client 1 Key, 會在 keys 目錄內建立 client1.crt 及 client1.key
build-key.bat client1

RouterBoard 端動作
先把 ca.crt, ca.key 放在 RouterBoard Files
System / Certificates, Import ca.crt, 再 Import ca.key, 可以看到 KT Flag, Name cert_1
PPP / OVPN Server, Enable, Certificate 選擇剛剛匯入的 cert_1, Cipher 除了 null 全勾

Client 端用以下 Config client1.ovpn 即可連上
client
dev tun
proto tcp
remote 100.100.100.100 1194
auth-user-pass
ca ca.crt
;cert client1.crt ; 若 RouterBoard 端有勾選 Require Client Certificate 就需要
;key client1.key ; 若 RouterBoard 端有勾選 Require Client Certificate 就需要
redirect-gateway def1

About this Archive

This page is an archive of entries from August 2015 listed from newest to oldest.

July 2015 is the previous archive.

September 2015 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Monthly Archives