Repository navigation
hub を公開ネットワークに置いている場合は、hub 側の更新を優先してください。
接続コードの試行回数の上限が効かない状態でした。
直した不具合
| 症状 | 原因 |
|---|---|
| 接続コードの試行上限が効かない(セキュリティ) | 回数の書き戻しが握り潰されており、pairing.json が読めるが書けない状態だと上限が無効になる。10回外したあと正解が通った。フェイルクローズに変更 |
| Codex の取得が終わらず、子プロセスが溜まる | タイムアウトが機能していなかった。readline() がブロックするため締切が評価されない。cron が10分ごとに起動するため蓄積する |
| 横棒の行間が不揃いに見える | サービスの区切りを見出しの後ろに入れていたため、見出しが下のグループから切り離されて見えていた |
| 接続を開いたまま放置するとスレッドが残る | 受信側にタイムアウトが無かった |
install-agent.sh が settings.json の権限を緩める |
600 が 644 になっていた。元の権限を引き継ぐように変更 |
| パスに空白があると手順が壊れる | 引用の漏れ |
| macOS で Tailscale のアドレスを引けない | launchd の PATH に tailscale が無かった |
isdigit() が全角数字を通す点、一時ファイルが 644 で作られる点、
systemd の ReadWritePaths で初回起動が失敗しうる点もあわせて直しました。
追加した機能
- ウィジェットをタップすると、「あと何時間」と「何時に回復するか」(24時間表記)が切り替わります。 切り替えと同時に残量も更新します
ドキュメント
- README にスクリーンショットを追加(日本語・英語)
検査
公開前に APK を検査しました。.env と keystore.properties から実際の値を
読み込んで照合する方式です。トークンと署名鍵のパスワードは含まれていません。
一致した3件はループバックの既定値とアプリ名で、秘密ではありません。
検査の途中で、対照試験が 0 件になる欠陥を1つ見つけて直しました。
grep の実体が ugrep で、バイナリに -a を付けないと何も出力せずに
終わるためです。strings を通す方式に変えました。
インストール
limitchecker-0.2.1.apk をダウンロードして開いてください。
0.1.0 / 0.2.0 と同じ鍵で署名しているため、そのまま上書きできます。
hub と agent も更新してください。 上記の修正の多くはそちら側です。
cd limitchecker
git pull
./deploy/install-hub.sh
./deploy/install-agent.sh --status