経緯
- これまで:個人用途ではいろいろと組み合わせていた
- 最近:仕事の環境は1Passwordで統一されていた
- これから:個人用途も統一しよう
ブラウザのパスワード管理を統一する
LastPassに登録していたWebサイトを手軽に移動できるならどちらでもよかった。 それぞれのサービスでエクスポート、インポートできる形式が違うのは面白い。
古すぎて消滅したWebサイトのデータがあったりするので、形式を変換しつつ、フィルタリングと並び替えもするスクリプトを作った。見どころは以下です。
- ヘッダー行の列名を見て読み取り元を判別する
- 何もマッチしない正規表現 Regexp.union() を知った
url
とusername
の2列で並び替えるため Array#<=> を使ったEnumerable#inject
と CSV#<< を使うと、ヘッダー行ありのCSV形式文字列を簡単に出力できる
password formatter (google account password manager/firefox sync/lastpass)
gist
$ ruby -v ruby 3.2.0 (2022-12-25 revision a528908271) [x64-mingw-ucrt] # 構造や形式が違う $ head -n 1 lastpass.csv firefox.csv chrome.csv ==> lastpass.csv <== url,username,password,totp,extra,name,grouping,fav ==> firefox.csv <== "url","username","password","httpRealm","formActionOrigin","guid","timeCreated","timeLastUsed","timePasswordChanged" ==> chrome.csv <== name,url,username,password # # lastpassからchrome $ ruby password-formatter.rb --to chrome --filter_url=localhost --filter_username=test lastpass.csv > lastpass.chrome.csv $ head -n 1 lastpass.chrome.csv "name","url","username","password" # # firefoxからchrome $ ruby password-formatter.rb --to chrome --filter_url=localhost --filter_username=test firefox.csv > firefox.chrome.csv $ head -n 1 firefox.chrome.csv "name","url","username","password" # # chromeからfirefox $ ruby password-formatter.rb --to firefox --filter_url=localhost --filter_username=test chrome.csv > chrome.firefox.csv $ head -n 1 chrome.firefox.csv "url","username","password","httpRealm","formActionOrigin","guid","timeCreated","timeLastUsed","timePasswordChanged"
Google Account Password Managerは一見すると情報量が少ないんだけど、アプリアカウントも管理していて油断がならない。
- LastPass
- ✅テキストファイルをインポートできる
- ✅テキストファイルをエクスポートできる
- よくデータ漏洩している
- やめたい
- Firefox Sync
- 同じPCにインストールした別のブラウザのデータをインポートできる
- ✅テキストファイルをエクスポートできる
- 知名度が低い
- Mozilla Foundationには頑張って欲しいので毎月寄付してる
- Google Account Password Manager
- ✅テキストファイルをインポートできる
- ✅テキストファイルをエクスポートできる
- ほとんどブラウザと一体化してる
- 近い将来にGoogle Oneを使い始める気がしている