昨年からほったらかしにしていたIRKit の Firmware updateを行いました。
IRKit v2以下は脆弱性があるので、updateが必要です。
IRKitの脆弱性とファームウェアアップデートのお願い - maaash.jp
やり方
上記URLに記載の通り、updater を使えば良いようですが、エラーになるようです。
# Mac OS 10.12.2 (Sierra) Downloading v3.0.0 from https://api.github.com/repos/irkit/device/releases/1712146 Successfully downloaded to /var/folders/56/tt94wwzs0cg0z4lwpq8qc6wr0000gn/T/f-11704-7085-1whnyzk Reading current firmware from IRKit Will run: /private/var/folders/56/tt94wwzs0cg0z4lwpq8qc6wr0000gn/T/AppTranslocation/B1E59226-19E6-48E7-B9CF-6AD1D66923A9/d/IRKit Updater.app/Contents/Resources/app/bin/pulser_darwin_amd64 /dev/cu.usbmodem1421 ......................................Trying again Will run: /private/var/folders/56/tt94wwzs0cg0z4lwpq8qc6wr0000gn/T/AppTranslocation/B1E59226-19E6-48E7-B9CF-6AD1D66923A9/d/IRKit Updater.app/Contents/Resources/app/bin/pulser_darwin_amd64 /dev/cu.usbmodem1421 ......................................Finished with error: Port not found within 10 seconds
仕方がないので、github に記載の irkit/device: Infrared-WiFi-HTTP bidirectional proxy device Arduino IDE を使ったやり方で実施してみました。
注意点
これで良いのか不安ですが、とりあえず動作はするようです。
version.c
srcのcommit versionを記載しているようなので以下のようにします。
const char version[] = "v3.0.0.0.g85190b1";
GSwifi.cpp
最新のソースと行数があっていないようですが、以下の XXXXXXXXXX を変更すれば動作しました。
char* GSwifi::password() { // reuse index: 0 area // this should be safe if we immediately call `strcpy( target, password() )` char *ret = PB("XXXX, XXXXXXXXXX", 0); return ret + 5; // we detect ^ this pattern in password replacer }
USBケーブル
転送用と充電用があるのを忘れてしまっており、小一時間ほど悩んでしまいました。
転送用を使いましょう。
後は
起動後にiOSのアプリで「名前を変更」を一度選んでやると version表記が変わりました。
確認してみる
以下でIPアドレスを調べます。
$ dns-sd -B _irkit._tcp Browsing for _irkit._tcp DATE: ---Wed 04 Jan 2017--- 17:00:15.220 ...STARTING... Timestamp A/R Flags if Domain Service Type Instance Name 17:00:15.390 Add 2 4 local. _irkit._tcp. IRKit9628 $ dns-sd -G v4 IRKit9628.local DATE: ---Wed 04 Jan 2017--- 17:00:24.860 ...STARTING... Timestamp A/R Flags if Hostname Address TTL 17:00:25.578 Add 2 4 IRKit9628.local. 192.168.1.38 10
# status 200(bodyが空なのは良いのか?) $ curl -i "http://192.168.1.38/messages" -H "X-Requested-With: curl" HTTP/1.0 200 OK Access-Control-Allow-Origin: * Server: IRKit/v3.0.0.0.g85190b1 Content-Type: text/plain # status 400 curl -i "http://192.168.1.38/messages" HTTP/1.0 400 Bad Request Access-Control-Allow-Origin: * Server: IRKit/v3.0.0.0.g85190b1 Content-Type: text/plain