feat(web-service): allow custom access token with persisted port and localized start errors

- Persist user-supplied access token and last-used port in app_metadata, falling back to defaults when unset
- Atomically guard concurrent starts via compare_exchange with RAII rollback of the running flag
- Wrap token and port persistence in a single SeaORM transaction to prevent partial writes
- Classify bind errors (port in use, permission denied, address unavailable, invalid address) into stable i18n keys
- Localize start-failure messages across all 10 supported languages
This commit is contained in:
xintaofei
2026-04-18 10:18:34 +08:00
parent 32b4c88582
commit fd10494128
16 changed files with 427 additions and 67 deletions

View File

@@ -1857,7 +1857,17 @@
"copy": "コピー",
"addressLabel": "アクセスアドレス",
"tokenLabel": "アクセストークン",
"tokenHint": "Webクライアントの初回アクセス時にこのトークンを入力してください"
"tokenHint": "Webクライアントの初回アクセス時にこのトークンを入力してください",
"tokenPlaceholder": "空欄の場合は自動生成",
"regenerate": "再生成",
"errors": {
"alreadyRunning": "Web サービスはすでに起動しています",
"invalidAddress": "ホストまたはポートの形式が無効です",
"portInUse": "ポート {port} はすでに使用中です。そのポートを使用しているプロセスを終了するか、別のポートを指定してください",
"permissionDenied": "権限が不足しています。1024 以上のポートを使用するか、より高い権限で実行してください",
"addressUnavailable": "このアドレスはこの端末では利用できません",
"bindFailed": "アドレスのバインドに失敗しました"
}
},
"DirectoryBrowser": {
"title": "ディレクトリを参照",