yumetodoの旅とプログラミングとかの記録

旅や登山の記録やプログラミング関連の話とかフリーソフト紹介とか

KeePass2 Plugin: Dropboxと同期できるKeeCloudがアップデートされたので注意点を書く

ドイツ語版

だいたい同じ内容が

KeePass-Datenbanken per Dropbox synchronisieren mit KeeCloud – Der Clouddoktor – Neues aus der Welt der Digitale Transformation und der Cloud

にあります。

Dropbox api v1が無効になった

2016/07/28にDropbox API v1がdeprecatedになり、v2に移行してくれという話が出てきた。

blogs.dropbox.com

2017/08/12頃には

Dropbox api v1 remove announce

のような警告文がメールに送られてきた。

これを受けてKeeCloudではDropbox api v2への移行を検討した。

devinmartin / KeeCloud / 課題 / #76 - Dropbox API v1 soon to be deactivated (Upgrade to API v2) — Bitbucket

検討された選択肢

KeeCloudは

github.com

DropNetというライブラリを使ってDropbox APIを叩いていた。ところがこのDropNetは

github.com

開発を終了した。

Dropbox公式で

github.com

dropbox-sdk-dotnetというのが出ているのでこれに乗り換えることにした。

devinmartin / KeeCloud / Pull request #6: Support OAuth 2 for Dropbox — Bitbucket

Breaking Change

DropBox APi v2でredirect URLを登録するのにlocalhostを使うとport衝突の可能性があるので、custom URL protocol handlerを使ってdropbox://から始まるURLを使うことになった

つまりURLがdropbox:///からdropbox://に変わる。

KeeCloudをUpdate/new installする方法

version upの場合は、念のため、以前にURL Credential Managerで認証した時に「Add Entry」を押した時にroot pathにできるKeeCloud Dropbox credentialsないしそれっぽい名前のエントリーを削除しておいてほしい。

URL Credential Manager

version upの場合でも以前のAPIキーは使えないのでこの手順は必須だ

まずKeePassを起動し、

URLCredetialWizard

ToolURL Credential Managerを選択する。

CredentialConfiguration1

選択肢をDropboxにしてNext、ブラウザが立ち上がる。

Dropbox API Request

許可を押すとむっちゃ長い(44文字!)APIキーが手に入るのでコピー

CredentialConfiguration2

KeePassのさっきのウィザードに戻り、貼り付けてNext

CredentialConfiguration3

こんなふうに表示されるので、Save as Entryを必ず押す。押し忘れたらやり直し。ちなみに一回押せば十分なので何回も押さないように。

同期設定

オフラインでも使えるようにかつ同期することを目指す。

KeePass_entry

さっきSave as Entryしたものはここにできる。パスワードをコピーする。タイムアウトに注意。素早く作業するかメモ帳かなにかに貼り付けておくべし。

trigger1

Tooltriggers...をクリック

trigger2

画像はversionアップ作業時のものなのですでにSyncWithDropboxという項目があるがなければAdd、すでにこれに類する作業をしていればその項目を選択してEditを押す。

trigger3

名前はここではSyncWithDropboxにした。好きなものでいい。他はいじらずEventsタブへ

trigger4

画像のようになるように調整してほしい。Actionsタブへ

trigger5

画像のようになるように調整してほしい。ここで2番目Synchronize activce database with a file/URLの設定だが

trigger6

こんな感じだ。

  • File/URL: dropbox://<path to your db file>.kdbx
  • IO Connection - User Name: ただのカカシ、なんでもいい。
  • IO Connection - Password: Save as EntryしたもののPassword欄。あのくっそ長いsecret keyを貼り付ける

URLがdropbox:///からdropbox://に変わったことに注意してほしい。

後はOKFinishOKで閉じて、Ctrl+Sで保存して完了!