##はじめに
1Password
というMacのアプリがあります。
このアプリは、保存されたパスワードの強度な暗号化と自動ログインを補助するものです。
ここで、CLIユーザーの方は、Keepass
というOSSのツールを使っている人が多いと思います。
私も、Keepass
の方を使っています。
よって、Keepass
で作られたデータベースファイルを使って、自動ログインを補助するツールを作ってみました。
##airkeepass
###インストールと実行
git clone https://github.com/syui/airkeepass
cd !$:t
./airkeepass
必要なツールはいくつかありますが、自動ダウンロードされるようにしておきました。
自動ダウンロードされるのは、以下のツールです。ダウンロードされる場所は、airkeepass/tool/
です。
###コマンドからの実行
選択メニューを使わない場合は、airkeepass/text/theme.txt
を確認して下さい。
コマンド | 内容 |
---|---|
./airkeepass login-a | オートログインの実行 |
./airkeepass login-k | データベースファイルの追加 |
./airkeepass login-l | リストの表示 |
./airkeepass login-t | テストログイン |
./airkeepass login-b | ブラウザの指定 |
./airkeepass login-d | 個人ファイルの削除 |
./airkeepass login-e | 終了 |
###自動ログイン
試しに自動ログインしてみましょう。
テストのデータベースファイルが用意されていますので、それを選択します。text/keepass-test.kdb
指定したブラウザが開き、無事、IDとパスワードが入力され、Enterが押されました。
データベースファイルの場所は、text/keepass.txt
に保存されますので、airkeepass
は、一度実行すれば、次も同じファイルを選択します。
変更するには、login-k
を選択または引数に指定します。
もし候補に上がってこない場所にある場合は、パスを手動で入力してください。
###注意点
Google Chrome
を使ってなら確実にログインできます。
しかし、Safari
とFirefox
を選択した場合は、ブラウザのリロードによっては失敗することがあります。
原因は以下のコードになります。
Safari|Firefox)
echo "
tell application \"$brows\"
--キー操作(C-v,Tab,入力,Enter)
--省略
"|osascript -
;;
Google Chrome|*)
echo "
tell application \"$brows\"
--リロード完了を待つ処理
repeat while loading of active tab of window 1
delay 0.1
end repeat
--ペーストを実行
paste selection active tab of window 1
--キー操作(Tab,入力,Enter)
--省略
"|osascript -
;;
Chromeは、リロード完了、ペーストの処理を書いていますが、SafariとFirefoxは書いていません。