chore: 保存工作副本——客户端授权新契约(双端点/验签/令牌/周检)与桌面会话可靠性改进

This commit is contained in:
Logan.Li committed 2026-09-14 22:10:22 +08:00
1 parent f71eef0eba
commit ae6093c9b3
163 files changed
+4911 -2494

No files matched your search

+31 -19
View File
@@ -13,7 +13,7 @@
"ai": "AI models",
"aiDesc": "AI providers",
"about": "About",
"aboutDesc": "Version and data",
"aboutDesc": "Version, contact, and diagnostics",
"account": "Account",
"accountDesc": "Email, license, and device"
},
@@ -89,22 +89,23 @@
"ssh": {
"connection": "Connection",
"keepAlive": "Keep-alive",
"keepAliveDesc": "Send SSH keep-alive while idle; disconnect only after several missed replies",
"keepAliveDesc": "Send SSH protocol keep-alive while idle (not typed into the shell). Beats NAT drops; does not bypass remote TMOUT",
"autoReconnect": "Auto reconnect",
"autoReconnectDesc": "Automatically retry after unexpected disconnects",
"autoReconnectDesc": "Retry after unexpected disconnects while the tab stays open (new shell). Closing the tab, idle suspend, or remote TMOUT are not forced alive",
"timeout": "Connection timeout",
"timeoutDesc": "Maximum wait time when establishing SSH (seconds)",
"maxReconnect": "Reconnect attempts",
"maxReconnectDesc": "Maximum retries after unexpected disconnect",
"timeoutDesc": "Maximum wait when establishing an SSH connection (seconds)",
"maxReconnect": "Auto-reconnect attempts",
"maxReconnectDesc": "Maximum retries after an unexpected disconnect",
"pool": "Connection pool",
"maxConnections": "Max connections",
"maxConnectionsDesc": "Shared cap for SSH, SFTP, and batch connections",
"maxConnections": "Maximum connections",
"maxConnectionsDesc": "Shared by SSH, SFTP, and batch connections",
"maxBackground": "Background connection limit",
"maxBackgroundDesc": "Evict least recently used connections when over limit",
"maxBackgroundDesc": "When exceeded, the least recently used connection is reclaimed first",
"suspend": "Background suspend",
"suspendDesc": "Minutes before idle background tabs suspend (active Shell/SFTP stay connected)",
"suspendDesc": "Minutes before a background tab is suspended (kept alive while a shell or SFTP is active)",
"keepAliveInterval": "Keep-alive interval (sec)",
"keepAliveIntervalDesc": "How often to ping the server (like ClientAliveInterval). Use 15s or less on flaky Wi‑Fi / NAT"
"keepAliveIntervalDesc": "How often to ping the server (like ClientAliveInterval). Use 15s or less on flaky Wi‑Fi / NAT",
"sessionPolicyHint": "Keep-alive protects the TCP link, not remote session policy. Bash TMOUT, sshd ClientAlive, and Windows idle GPO still apply. Use tmux/screen on the server for long jobs."
},
"security": {
"credentials": "Credential protection",
@@ -122,16 +123,25 @@
},
"about": {
"tagline": "Simple, practical native ops terminal",
"appVersion": "App v{{version}}",
"copyVersion": "Copy version info",
"runtime": "Runtime",
"system": "System",
"localData": "Local data",
"appVersion": "v{{version}}",
"copyVersion": "Copy version, system, and paths for a GitHub issue",
"copyDiagnostics": "Copy diagnostics",
"copyPath": "Copy path",
"resources": "Resources",
"wechat": "WeChat",
"copyWechat": "Copy WeChat ID",
"github": "Discussions",
"githubDesc": "https://github.com/L00J/opsxshell/discussions",
"releases": "Releases",
"releasesDesc": "Installers and release notes",
"licenseLink": "License",
"licenseLinkDesc": "MIT License",
"diagnostics": "Diagnostics",
"sessionsSettings": "Sessions and settings",
"masterKeyPath": "Master key",
"privacyNote": "Passwords and key passphrases are AES-256-GCM encrypted in Rust. No terminal history, no bastion audit trail.",
"license": "MIT License · Rust · XTerm.js",
"logPath": "Application log"
"logPath": "Application log",
"reportBug": "Report a bug",
"reportBugDesc": "Opens GitHub with this version and platform filled in"
},
"ai": {
"presets": "Provider presets",
@@ -157,7 +167,9 @@
"otherModels": "Other models…",
"customModel": "Custom model",
"backToList": "Back to list",
"apiKey": "API Key",
"apiKeyOptional": "API Key (not required)",
"endpoint": "Endpoint",
"advanced": "Advanced",
"allowHttp": "Allow HTTP (localhost/LAN)",
"setActive": "Set as active",