ハイパーマッスルエンジニア

Vim、ShellScriptについてよく書く

ターミナル上にwifi接続のQRを表示できるsdushantha/wifi-passwordがおもしろい

f:id:rasukarusan:20210128170048p:plain
github.com

今接続しているwifiのパスワード、またはQRコードをTermianl上に表示できるツール。
使用頻度は少ないかもしれないが、あったら地味に便利。

インストールはpipで可能。

python3 -m pip install --user wifi-password

実行

wifi-password --qrcode

f:id:rasukarusan:20210128154847p:plain:w500
実行するとキーチェーンの許可が求められる

ユーザー名、パスワードを入力するとQRコードがターミナル上に表示される。

f:id:rasukarusan:20210128154904j:plain:w500
なんとなく読み取られるのがアレなためモザイクをかけているが、実際はきれいなQRコードが表示される

このQRをiPhoneなどのカメラで読み取れば接続できる。
オプションで--imageをつければ画像として保存することも可能。ただもしかしたらpipで依存モジュールをインストールする必要があるかも。

元祖rauchg/wifi-passwordの拡張版

rauchg/wifi-passwordが元となっているツール。
Windows, Linux, Macのマルチプラットフォームに対応したのと、QRコードの機能追加されているのが今回のもの。 また、元祖はShellScriptで書かれているが、sdushantha/wifi-passwordはPythonで書かれている。ただ、パスワード取得の処理などはどちらも同じ。

どうやってパスワードを取得しているのか

macのsecurityコマンドを実行して取得している。

security find-generic-password -l ${ssid} -D 'AirPort network password' -w

securityコマンドについては下記2つの記事がわかりやすかった。あとman securityに色々書かれているので見ると楽しい。 yukidarake.hateblo.jp macromates.com

終わり

securityコマンドの存在を初めて知った。
今までトークンなどそれ用のファイルに書き込んで、shellなどから読み取っていたが、キーチェーンに登録すればファイルとして残さなくて済みそう。