WebDAV バックアップと自動同期
WebDAVサーバーを通じてアカウントと環境設定を定期的にバックアップし、複数デバイスでの共有、バージョンロールバック、および災害復旧を実現します。
機能ハイライト
- ワンクリックバックアップ/復元:「インポート/エクスポート」ページでWebDAV認証情報を入力後、JSONバックアップをいつでもアップロードまたはダウンロードできます。
- 自動同期:
webdavAutoSyncServiceはバックグラウンドでの定期的な同期(デフォルト1時間)をサポートし、ポリシーに基づいてデータを自動的にマージまたは上書きします。 - マルチポリシーサポート:「マージ / アップロードのみ / ダウンロードのみ」を選択でき、主要デバイスと補助デバイスの異なるニーズに対応します。
- 競合マージ:マージモードでは、更新時間に基づいてアカウントと環境設定の重複を排除し、新しいデータを最大限に保持します。
前提条件
- アクセス可能なWebDAVサーバーを準備する:例: Nextcloud、堅果雲、Alist WebDAV、NASなど。
URL / ユーザー名 / パスワードを取得し、読み書き権限があることを確認してください。- 自動同期が必要な場合、ブラウザをバックグラウンドで常駐させることをお勧めします(デスクトップ版 Chrome/Edge またはモバイル版 Kiwi)。
設定エントリ
- 拡張機能を開く → インポート/エクスポート → 「WebDAV設定」。
- 入力項目:
- サーバーアドレス:ディレクトリまたは特定のJSONファイルを指すことができます。ディレクトリを指定した場合、その下に自動的に
all-api-hub-backup/all-api-hub-1-0.jsonが作成されます。 - ユーザー名/パスワード:Basic認証に使用されます。
- サーバーアドレス:ディレクトリまたは特定のJSONファイルを指すことができます。ディレクトリを指定した場合、その下に自動的に
- 「接続テスト」をクリックして設定が正しいことを確認し、その後、「バックアップのアップロード」または「バックアップのダウンロード」を実行できます。
自動同期
同じページで「自動同期」を有効にすると、バックグラウンドで定期的に同期できます。
| オプション | 説明 |
|---|---|
| 自動同期を有効にする | webdav.autoSync スイッチに対応し、オフにすると手動バックアップのみが保持されます。 |
| 同期間隔 | 秒単位で、デフォルトは3600秒(1時間)です。 |
| 同期ポリシー | merge(マージ)、upload_only(ローカルでリモートを上書き)、download_only(リモートでローカルを上書き)。 |
| 今すぐ同期 | webdavAutoSync:syncNow をトリガーし、デバッグに便利です。同期中の場合は、後でもう一度試すようプロンプトが表示されます。 |
スケジューリングフロー
- ユーザーが設定を保存した後、
webdavAutoSyncService.setupAutoSync()はsetIntervalタイマーを再作成します。 - 同期実行時:
- まず
testWebdavConnectionを呼び出して、認証情報が有効であることを確認します。 - リモートバックアップをダウンロードします(存在しない場合は初回バックアップと見なされます)。
- ローカルのアカウントと環境設定をエクスポートし、ポリシーに基づいて最終データを決定します。
- マージ:
updated_at/lastUpdatedタイムスタンプに基づいて最新の項目を保持します。 - アップロード/ダウンロードのみ:ローカルまたはリモートデータを直接選択します。
- マージ:
- マージ結果をローカルに書き戻します(
accountStorage.importData+userPreferences.importPreferencesを介して)。 - 新しいJSONを生成し、
all-api-hub-backup/all-api-hub-1-0.jsonにアップロードします。
- まず
- 同期ステータス(成功/失敗、最終実行時間)は
WEBDAV_AUTO_SYNC_UPDATEメッセージを通じてブロードキャストされ、フロントエンドでリッスンするか、コンソールログを確認できます。
セキュリティに関する推奨事項
- WebDAV側でバックアップディレクトリ用に個別のサブアカウントまたはアクセストークンを作成することをお勧めします。
- 公共デバイスにWebDAVパスワードを保存しないでください。必要に応じて定期的に変更してください。
- 同期が失敗し、401/403のエラーが表示された場合、サーバーがBasic認証をサポートしており、
MKCOL/PUT/GETメソッドを許可していることを確認してください。
よくある質問
| 問題 | 対処法 |
|---|---|
| 接続テストの失敗 | URLにプロトコル(https://)が含まれているか、またリモート書き込みが許可されているかを確認してください。 |
| 自動同期が反応しない | ブラウザがシステムによってスリープされたか、自動同期が有効になっていない可能性があります。拡張機能を再度開いて設定を保存してください。 |
| マージ後に重複アカウントが表示される | 重複する項目を手動で削除して再アップロードしてください。厳密に制御したい場合は、「アップロードのみ」ポリシーを使用してください。 |
| JSONファイルが大きすぎる | 無効になったアカウントを定期的にクリーンアップするか、バッチでエクスポートすることをお勧めします。WebDAVの制限を超えないようにしてください。 |