docs: update documentation

This commit is contained in:
vorotamoroz
2026-06-05 01:57:03 +09:00
parent 3a78c70539
commit 1b44ab9f2b
11 changed files with 532 additions and 94 deletions
+237 -19
View File
@@ -3,23 +3,133 @@
# このプラグインの設定項目
## Remote Database Configurations
同期先のデータベース設定を行います。何らかの同期が有効になっている場合は編集できないため、同期を解除してから行ってください
同期先のデータベース設定Remote Serverを行います。
### URI
CouchDBのURIを入力します。Cloudantの場合は「External Endpoint(preferred)」になります。
**スラッシュで終わってはいけません。**
こちらにデータベース名を含めてもかまいません。
現在のバージョンでは、複数のリモート接続設定(接続プロファイル)を登録・管理し、切り替えて使用することが可能です(「Remote Databases」リスト)。
### Username
ユーザー名を入力します。このユーザーは管理者権限があることが望ましいです。
- ** 新規接続を追加 (Add new connection)**: 新しい接続設定を作成し、各セットアップダイアログを起動します。
- **📥 接続をインポート (Import connection)**: 接続文字列(`sls+https://...``sls+s3://...``sls+p2p://...`など)を貼り付けてインポートします。
- **🔧 設定 (Configure)**: セットアップダイアログを開き、選択した接続プロファイルの設定を編集します。
- **✅ 有効化 (Activate)**: 選択したプロファイルをアクティブな同期先として有効化します。
- **🗑️ 削除 (Delete)**: 接続プロファイルを一覧から削除します。
### Password
パスワードを入力します。
これらの接続プロファイルを追加・編集する際、選択したデータベースの種類(CouchDB、S3互換オブジェクトストレージ、P2Pなど)に応じたセットアップダイアログが開きます。
### Database Name
同期するデータベース名を入力します。
⚠️存在しない場合は、テストや接続を行った際、自動的に作成されます[^1]。
[^1]:権限がない場合は自動作成には失敗します。
何らかの同期が有効になっている場合は編集できないため、同期を解除してから行ってください。
### CouchDB の設定
CouchDBの各設定項目は、接続プロファイルを追加 (➕) または設定 (🔧) する際に開く **CouchDB セットアップダイアログ** 内で設定します。
#### URI
設定キー: couchDB_URI
CouchDBの接続先URIです。ダイアログ内では **URL** と表記されます。Cloudantの場合は「External Endpoint (preferred)」になります。
注意: Obsidian Mobileではセキュア接続 (HTTPS) のみが使用可能です。また、末尾にスラッシュ(`/`)を付けてはいけません。
#### Username
設定キー: couchDB_USER
CouchDBのログインユーザー名です。ダイアログ内では **Username** と表記されます。このユーザーには管理者権限があることが望ましいです。
#### Password
設定キー: couchDB_PASSWORD
CouchDBのログインパスワードです。ダイアログ内では **Password** と表記されます。
#### Database Name
設定キー: couchDB_DBNAME
同期先のデータベース名です。ダイアログ内では **Database Name** と表記されます。
注意: データベース名には大文字、スペース、および一部の特殊文字(`_$()+/-` 以外)は使用できません。また、アンダースコア(`_`)から始めることはできません。存在しない場合は、接続テスト時または設定適用時に自動作成されます(作成権限が必要です)。
#### CORS回避のためにRequest APIを使用する
設定キー: useRequestAPI
この項目はセットアップダイアログ内では **Use Internal API** と表記されます。有効な場合、不可避なCORS問題を回避するためにObsidianの内部Request APIを使用します。これはWeb標準に準拠していない回避策であり、すべての環境での動作を保証するものではありません。安全性が低下する可能性がある点にご注意ください。将来のObsidianのアップデートによって動作しなくなる可能性があります。
#### カスタムヘッダー
設定キー: couchDB_CustomHeaders
CouchDBサーバーに送信するすべてのリクエストに含めるカスタムHTTPヘッダーを設定します。ダイアログ内では **Custom Headers** と表記されます。`ヘッダー名: 値` の形式で、1行に1つずつ入力してください。
#### JWT認証の使用 (実験的機能)
設定キー: useJWT
CouchDBでのJSON Web Token (JWT) 認証を有効にします。ダイアログ内では **Use JWT Authentication** と表記されます。十分に検証されていない実験的機能であるため、ご注意ください。
#### JWTアルゴリズム
設定キー: jwtAlgorithm
JWTの署名に使用するアルゴリズムを選択します。ダイアログ内では **JWT Algorithm** と表記されます。対応アルゴリズム: `HS256`, `HS512`, `ES256`, `ES512`
#### JWT有効期限 (分)
設定キー: jwtExpDuration
トークンの有効期限を分単位で指定します。ダイアログ内では **JWT Expiration Duration (minutes)** と表記されます。`0` を指定すると有効期限は無効になります。
#### JWTキー
設定キー: jwtKey
JWTの署名に使用する秘密鍵またはプライベートキーを指定します。ダイアログ内では **JWT Key** と表記されます。`HS256/HS512` の場合は共通鍵を、`ES256/ES512` の場合は pkcs8 PEM形式の秘密鍵を入力してください。
#### JWTキーID (kid)
設定キー: jwtKid
JWTヘッダーに含めるキーIDを指定します。ダイアログ内では **JWT Key ID (kid)** と表記されます。
#### JWTサブジェクト (sub)
設定キー: jwtSub
JWTのサブジェクト (CouchDBユーザー名) を指定します。ダイアログ内では **JWT Subject (sub)** と表記されます。
### Object Storage (Minio, S3, R2) の設定
Object Storageの各設定項目は、接続プロファイルを追加 (➕) または設定 (🔧) する際に開く **S3/MinIO/R2 セットアップダイアログ** 内で設定します。
#### エンドポイントURL
設定キー: endpoint
S3互換ストレージのエンドポイントURLです。ダイアログ内では **Endpoint URL** と表記されます。
注意: Obsidian Mobileではセキュア接続 (HTTPS) のみが使用可能です。
#### アクセスキー ID
設定キー: accessKey
認証に使用するアクセスキーIDです。ダイアログ内では **Access Key ID** と表記されます。
#### シークレットアクセスキー
設定キー: secretKey
認証に使用するシークレットアクセスキーです。ダイアログ内では **Secret Access Key** と表記されます。
#### リージョン
設定キー: region
ストレージのリージョンを指定します(例: `us-east-1`、Cloudflare R2の場合は `auto`)。ダイアログ内では **Region** と表記されます。
#### バケット名
設定キー: bucket
同期データを保存するバケット名です。ダイアログ内では **Bucket Name** と表記されます。
#### カスタムHTTPハンドラーを使用する
設定キー: useCustomRequestHandler
この項目はセットアップダイアログ内では **Use internal API** と表記されます。オブジェクトストレージがCORSをサポートしていない場合に有効にします。Obsidianの内部APIを使用してS3サーバーと通信することでCORS制約を回避します。Web標準には準拠していないため、将来のObsidianのアップデートによって動作しなくなる可能性があります。
#### バケット内のファイルプレフィックス
設定キー: bucketPrefix
この項目はセットアップダイアログ内では **Folder Prefix** と表記されます。実質的なディレクトリ指定です。末尾は `/` である必要があります(例:`vault-name/`)。バケットのルートに保存する場合は空欄のままにしてください。
#### forcePathStyleを有効にする
設定キー: forcePathStyle
この項目はセットアップダイアログ内では **Use Path-Style Access** と表記されます。有効な場合、バケット操作でforcePathStyleオプションを使用します。
#### カスタムヘッダー
設定キー: bucketCustomHeaders
オブジェクトストレージバケットに送信するすべてのリクエストに含めるカスタムHTTPヘッダーを設定します。ダイアログ内では **Custom Headers** と表記されます。`ヘッダー名: 値` の形式で、1行に1つずつ入力してください。
@@ -30,6 +140,18 @@ CouchDBのURIを入力します。Cloudantの場合は「External Endpoint(prefe
### Passphrase
暗号化を行う際に使用するパスフレーズです。充分に長いものを使用してください。
### パスの難読化
設定キー: usePathObfuscation
ダイアログ内では **Obfuscate Properties** と表記されます。有効な場合、リモートサーバー上でのファイルパスやフォルダ名を難読化(暗号化)します。これによりプライバシーが向上しますが、パフォーマンスがわずかに低下する可能性があります。
### 暗号化アルゴリズム
設定キー: E2EEAlgorithm
ダイアログ内では **Encryption Algorithm** と表記されます。エンドツーエンド暗号化に使用する暗号化アルゴリズムのバージョンを選択します。
- `v2` (V2: AES-256-GCM With HKDF): 推奨されるデフォルトのバージョンです。
- `forceV1` または `""` (V1: Legacy): レガシーな暗号化バージョンです。古いバージョンで暗号化された既存の保管庫(Vault)を同期する場合にのみ使用してください。
### Apply
End to End 暗号化を行うに当たって、異なるパスフレーズで暗号化された同一の内容を入手されることは避けるべきです。また、Self-hosted LiveSyncはコンテンツのcrc32を重複回避に使用しているため、その点でも攻撃が有効になってしまいます。
@@ -53,12 +175,66 @@ End to End 暗号化を行うに当たって、異なるパスフレーズで暗
どちらのオペレーションも、実行するとすべての同期設定が無効化されます。
### Test Database connection
上記の設定でデータベースに接続できるか確認します。
### Check database configuration
ここから直接CouchDBの設定を確認・変更できます。
### Peer-to-Peer (P2P) 同期の設定
#### P2P同期を有効にする
設定キー: P2P_Enabled
WebRTCを介したデバイス間での直接的なP2P同期を有効にします。ダイアログ内では **Enabled** と表記されます。
#### リレーサーバーのURL
設定キー: P2P_relays
WebRTCによるP2P接続を仲介・調整するためのWebSocketリレーサーバーのURLを指定します。ダイアログ内では **Relay URL** と表記されます。複数のURLを指定する場合はカンマで区切ります。ダイアログ内のボタンをクリックすると、デフォルトのリレーサーバーを設定できます。
#### グループID
設定キー: P2P_roomID
同期するデバイス群を識別するためのルームIDまたはグループIDを指定します。ダイアログ内では **Group ID** と表記されます。同期させたいすべてのデバイスで同じグループIDを指定する必要があります。任意のカスタム文字列を入力するか、ランダム生成ボタンで生成できます。
#### パスフレーズ
設定キー: P2P_passphrase
P2P通信の認証および暗号化に使用するパスワード(パスフレーズ)を指定します。ダイアログ内では **Passphrase** と表記されます。同期するすべてのデバイスで同じパスフレーズを指定する必要があります。
#### デバイス名
設定キー: P2P_DevicePeerName
P2Pネットワーク上でこのデバイスを識別するための名前を指定します。ダイアログ内では **Device Peer ID** と表記されます。グループ内のデバイス間で重複しない一意の値を設定してください。
#### 起動時のP2P自動接続開始
設定キー: P2P_AutoStart
有効な場合、プラグインの起動時に自動的にP2P接続を開始します。ダイアログ内では **Auto Start P2P Connection** と表記されます。
#### 接続済みピアへの変更の自動ブロードキャスト
設定キー: P2P_AutoBroadcast
有効な場合、ローカルでの変更が接続済みのピアに自動的にブロードキャストされます。ダイアログ内では **Auto Broadcast Changes** と表記されます。通知されたピアは変更の取得を開始します。
#### TURNサーバーのURL (カンマ区切り)
設定キー: P2P_turnServers
ダイアログ内では **TURN Server URLs (comma-separated)** と表記されます。厳しいNATやファイアウォールがある環境で、WebRTCの直接接続が確立できない場合にP2P接続を中継するためのTURN/STUNサーバーのURLをカンマ区切りで指定します。通常は空欄のままで問題ありません。
#### TURNユーザー名
設定キー: P2P_turnUsername
TURNサーバーでの認証に使用するユーザー名を設定します。ダイアログ内では **TURN Username** と表記されます。
#### TURNパスワード
設定キー: P2P_turnCredential
TURNサーバーでの認証に使用するパスワード(クレデンシャル)を設定します。ダイアログ内では **TURN Credential** と表記されます。
## Local Database Configurations
端末内に作成されるデータベースの設定です。
@@ -88,6 +264,11 @@ Self-hosted LiveSyncは一つのチャンクのサイズを最低minimum chunk s
改行文字と#を除き、すべて●に置換しても、アルゴリズムは有効に働きます。
デフォルトは20文字と、250文字です。
### チャンクスプリッター
設定キー: chunkSplitterVersion
チャンク分割アルゴリズムを選択します。V3が最も効率的です。問題が発生した場合はDefaultまたはLegacyに設定してください。
## General Settings
一般的な設定です。
@@ -97,6 +278,16 @@ Self-hosted LiveSyncは一つのチャンクのサイズを最低minimum chunk s
### Vervose log
詳細なログをログに出力します。
### ファイル警告バナーの代わりにステータスアイコンを表示
設定キー: hideFileWarningNotice
有効な場合、ファイル警告バナーの代わりにステータス表示内に ⛔ アイコンが表示されます(詳細情報は非表示になります)。
### ネットワーク警告のスタイル
設定キー: networkWarningStyle
同期サーバーに接続できない場合のネットワークエラーの表示方法。
## Sync setting
同期に関する設定です。
@@ -110,6 +301,11 @@ LiveSyncを行います。
### Periodic Sync Interval
定期的に同期を行う場合の間隔です。
### 同期の最小間隔
設定キー: syncMinimumInterval
イベント時の自動同期の最小間隔(ミリ秒)。
### Sync on Save
ファイルが保存されたときに同期を行います。
**Obsidianは、ノートを編集している間、定期的に保存を行います。添付ファイルを新しく追加した場合も同様に処理されます。**
@@ -146,6 +342,11 @@ Self-hosted LiveSyncは通常、フォルダ内のファイルがすべて削除
- Scan hidden files periodicaly.
このオプションを有効にすると、n秒おきに隠しファイルをスキャンします。
#### 非表示ファイルの変更通知を抑制
設定キー: suppressNotifyHiddenFilesChange
有効な場合、非表示ファイルの変更に関する通知を抑制します。
隠しファイルは能動的に検出されないため、スキャンが必要です。
スキャンでは、ファイルと共にファイルの変更時刻を保存します。もしファイルが消された場合は、その事実も保存します。このファイルを記録したエントリーがレプリケーションされた際、ストレージよりも新しい場合はストレージに反映されます。
@@ -176,6 +377,11 @@ Self-hosted LiveSyncはPouchDBを使用し、リモートと[このプロトコ
### Batch limit
一度に処理するBatchの数です。デフォルトは40です。
### 1回のリクエストで送信するチャンクの最大サイズ
設定キー: sendChunksBulkMaxSize
メガバイト(MB)単位で指定します。
## Miscellaneous
その他の設定です
### Show status inside editor
@@ -195,8 +401,8 @@ Self-hosted LiveSyncはPouchDBを使用し、リモートと[このプロトコ
![CorruptedData](../images/lock_pattern1.png)
データベースがロックされていて、端末が「解決済み」とマークされていない場合、警告が表示されます。
他のデバイスで、End to End暗号化を有効にしたか、Drop Historyを行った等、他の端末がそのまま同期を行ってはいない状態に陥った場合表示されます。
暗号化を有効化した場合は、パスフレーズを設定してApply and recieve、Drop Historyを行った場合は、Drop and recieveを行うと自動的に解除されます。
手動でこのロックを解除する場合は「mark this device as resolved」をクリックしてください。
暗号化を有効化した場合は、パスフレーズを設定して「このデバイスの同期状態をリセット」、または「このデバイスのファイルでサーバーデータを上書き」を行うと自動的に解除されます。
手動でこのロックを解除する場合は「I've made a backup, mark this device 'resolved'」をクリックしてください。
- パターン2
![CorruptedData](../images/lock_pattern2.png)
@@ -207,10 +413,10 @@ Self-hosted LiveSyncはPouchDBを使用し、リモートと[このプロトコ
### Verify and repair all files
Vault内のファイルを全て読み込み直し、もし差分があったり、データベースから正常に読み込めなかったものに関して、データベースに反映します。
- Drop and send
デバイスとリモートのデータベースを破棄し、ロックしてからデバイスのファイルでデータベースを構築後、リモートに上書きします。
- Drop and receive
デバイスのデータベースを破棄した後、リモートから、操作しているデバイスに関してロックを解除し、データを受信して再構築します。
- このデバイスの同期状態をリセット (Reset Synchronisation on This Device)
ローカルのデータベースを破棄し、リモートのデータから再構築します。
- このデバイスのファイルでサーバーデータを上書き (Overwrite Server Data with This Device's Files)
ローカルおよびリモートのデータベースをこのデバイス上のファイルで再構築(上書き)します。
### Lock remote database
リモートのデータベースをロックし、他の端末で同期を行おうとしてもエラーとともに同期がキャンセルされるように設定します。これは、データベースの再構築を行った場合、自動的に設定されるものと同じものです。
@@ -220,6 +426,18 @@ Vault内のファイルを全て読み込み直し、もし差分があったり
### Suspend file watching
ファイルの更新の監視を止めます。
### 破損している可能性があるファイルも処理する
設定キー: processSizeMismatchedFiles
サイズ不一致のあるファイルを処理します。特定のAPIや外部連携によって作成されたファイルを同期する際に役立ちます。
### Remediation
#### イベント反映時の最大ファイル更新日時
設定キー: maxMTimeForReflectEvents
この値(Unixエポックからの秒数)より新しい更新日時を持つファイルについては、イベントの反映を無視します。0を指定すると制限が無効になります。
### Corrupted data
![CorruptedData](../images/corrupted_data.png)