- 新增日志中心功能 (api/logapi.go + Logs.vue) - 新增GRE协议服务支持 (service/gre/) - 新增流量监控组件 (TrafficChart.vue) - 新增L2TP/IPSec测试用例 - 新增日志轮转服务 (logrotate.go) - 新增部署脚本 (scripts/install.sh, uninstall.sh, service文件) - 更新i18n国际化文件 - 优化后端API和前端路由
1027 lines
37 KiB
JSON
1027 lines
37 KiB
JSON
{
|
||
"common": {
|
||
"appName": "VPN 管理平台",
|
||
"confirm": "确认",
|
||
"cancel": "取消",
|
||
"save": "保存",
|
||
"delete": "删除",
|
||
"edit": "编辑",
|
||
"add": "添加",
|
||
"create": "创建",
|
||
"close": "关闭",
|
||
"search": "搜索",
|
||
"refresh": "刷新",
|
||
"back": "返回",
|
||
"submit": "提交",
|
||
"yes": "是",
|
||
"no": "否",
|
||
"enabled": "启用",
|
||
"disabled": "禁用",
|
||
"loading": "加载中",
|
||
"operation": "操作",
|
||
"status": "状态",
|
||
"name": "名称",
|
||
"description": "说明",
|
||
"username": "用户名",
|
||
"password": "***",
|
||
"email": "邮箱",
|
||
"source": "来源",
|
||
"local": "本地",
|
||
"ldap": "LDAP",
|
||
"remark": "备注",
|
||
"protocol": "协议",
|
||
"node": "节点",
|
||
"time": "时间",
|
||
"target": "对象",
|
||
"action": "动作",
|
||
"traffic": "流量 ↓ / ↑",
|
||
"ipAddress": "IP 地址",
|
||
"detail": "详情",
|
||
"copy": "复制",
|
||
"copied": "已复制",
|
||
"download": "下载",
|
||
"permanent": "永久",
|
||
"saveSuccess": "已保存",
|
||
"saveFailed": "保存失败",
|
||
"deleteSuccess": "已删除",
|
||
"deleteFailed": "删除失败",
|
||
"loadFailed": "加载失败",
|
||
"operationFailed": "操作失败",
|
||
"deleteConfirm": "删除确认",
|
||
"noData": "暂无数据",
|
||
"never": "不",
|
||
"copiedToClipboard": "已复制到剪贴板",
|
||
"logout": "退出登录",
|
||
"batchOperation": "批量操作"
|
||
},
|
||
"login": {
|
||
"title": "VPN 专线管理平台",
|
||
"subtitle": "统一管理多协议 VPN,配置简单、安全可控",
|
||
"protocols": "WireGuard · IPSec · L2TP · FRP · OpenVPN · 自定义协议插件",
|
||
"feature1Title": "多协议统一管理",
|
||
"feature1Desc": "WireGuard / IPSec / L2TP / FRP / OpenVPN",
|
||
"feature2Title": "企业级安全",
|
||
"feature2Desc": "密钥 AES-GCM 加密 + 双因素认证",
|
||
"feature3Title": "一键创建配置",
|
||
"feature3Desc": "向导式生成,客户端配置秒级下载",
|
||
"feature4Title": "轻量零依赖",
|
||
"feature4Desc": "单二进制交付,无需 Docker",
|
||
"welcome": "欢迎登录",
|
||
"welcomeHint": "请输入账号密码登录管理平台",
|
||
"usernameLabel": "用户名",
|
||
"usernamePlaceholder": "请输入用户名",
|
||
"passwordLabel": "密码",
|
||
"passwordPlaceholder": "请输入密码",
|
||
"loginButton": "登 录",
|
||
"defaultAccount": "默认账号 <strong>admin / admin123</strong>,登录后请立即修改",
|
||
"errorEmpty": "请输入用户名和密码",
|
||
"loginSuccess": "登录成功",
|
||
"changePasswordFirst": "首次登录请先修改密码",
|
||
"loginFailed": "登录失败,请检查网络或联系管理员"
|
||
},
|
||
"dashboard": {
|
||
"welcomeTitle": "欢迎使用 VPN 管理平台",
|
||
"welcomeDesc": "还没有专线,3 步即可创建第一条:选择协议 → 填写参数 → 自动生成配置",
|
||
"createNow": "立即创建专线",
|
||
"totalTunnels": "专线总数",
|
||
"running": "运行中",
|
||
"onlineUsers": "在线用户",
|
||
"totalTraffic": "累计流量 ↓↑",
|
||
"protocolDistribution": "协议分布",
|
||
"protocolEngineStatus": "协议引擎状态",
|
||
"depCheckResult": "系统依赖检测结果",
|
||
"depReady": "已就绪",
|
||
"demoMode": "演示模式",
|
||
"deploy": "下载部署",
|
||
"installCmd": "安装命令",
|
||
"expiringTunnels": "即将到期的专线(7 天内)",
|
||
"expiryTime": "到期时间",
|
||
"noTunnels": "暂无专线",
|
||
"deploySuccess": "{name} {version} 部署成功",
|
||
"deployFailed": "{name} 部署失败",
|
||
"contactAdmin": "请联系系统管理员安装",
|
||
"recommendedCmd": "推荐命令",
|
||
"otherDistros": "其他发行版",
|
||
"copyRecommended": "复制推荐命令",
|
||
"getInstallCmdFailed": "获取安装命令失败",
|
||
"aptDefault": "apt 默认"
|
||
},
|
||
"tunnels": {
|
||
"searchPlaceholder": "搜索名称",
|
||
"allProtocols": "全部协议",
|
||
"allStates": "全部状态",
|
||
"stateRunning": "运行中",
|
||
"stateStopped": "已停止",
|
||
"stateError": "异常",
|
||
"stateUndeployed": "未部署",
|
||
"createTunnel": "创建专线",
|
||
"createFirst": "创建第一条专线",
|
||
"noTunnels": "还没有专线",
|
||
"expireTime": "到期时间",
|
||
"localNode": "本机节点",
|
||
"start": "启动",
|
||
"stop": "停止",
|
||
"started": "已启动",
|
||
"startFailed": "启动失败",
|
||
"stopped": "已停止",
|
||
"more": "更多",
|
||
"viewLogs": "查看日志",
|
||
"downloadConfig": "下载配置",
|
||
"showQrCode": "显示二维码",
|
||
"ipsecTest": "IPSec 对接测试",
|
||
"delete": "删除",
|
||
"detail": "详情",
|
||
"protocol": "协议",
|
||
"createTime": "创建时间",
|
||
"autoStart": "自动启动",
|
||
"runningParams": "运行参数",
|
||
"clientConfig": "客户端配置",
|
||
"noClientConfig": "该协议暂无客户端配置",
|
||
"downloadClientConfig": "下载客户端配置",
|
||
"ipsecParamCheck": "IPSec 参数检查与连通性测试",
|
||
"trafficPolicy": "流量策略",
|
||
"quotaGB": "配额(GB)",
|
||
"quotaUnlimited": "0 = 不限。已用:{used}",
|
||
"rateLimitMbps": "限速(Mbps)",
|
||
"rateUnlimited": "0 = 不限",
|
||
"exceedAction": "超额动作",
|
||
"actionWarn": "仅告警",
|
||
"actionBlock": "自动停止",
|
||
"actionThrottle": "限速至1Mbps",
|
||
"resetCycle": "重置周期",
|
||
"resetNone": "不重置",
|
||
"resetDaily": "每天",
|
||
"resetMonthly": "每月",
|
||
"savePolicy": "保存策略",
|
||
"policySaved": "流量策略已保存",
|
||
"peerList": "Peer 列表",
|
||
"addPeer": "添加 Peer",
|
||
"peerId": "Peer ID",
|
||
"address": "地址",
|
||
"peerOnline": "在线",
|
||
"peerOffline": "离线",
|
||
"config": "配置",
|
||
"qrCode": "二维码",
|
||
"scanQrTitle": "扫码导入 WireGuard 客户端",
|
||
"scanQrHint": "使用 WireGuard App「从二维码添加」",
|
||
"addPeerTitle": "添加 WireGuard Peer",
|
||
"autoGenId": "留空自动生成 client-N",
|
||
"peerNamePlaceholder": "手机 / 笔记本",
|
||
"clientAddress": "客户端地址",
|
||
"defaultAllowedIPs": "留空使用隧道默认",
|
||
"externalPublicKey": "外部公钥",
|
||
"externalKeyHint": "留空则平台托管生成密钥;填写则为外部设备",
|
||
"logTitle": "实例日志 — {name}",
|
||
"liveOutput": "● 实时输出中",
|
||
"logStopped": "已停止",
|
||
"pause": "暂停",
|
||
"resume": "继续",
|
||
"clearScreen": "清屏",
|
||
"waitingLog": "等待日志输出...",
|
||
"fillClientAddress": "请填写客户端地址",
|
||
"peerAdded": "Peer 已添加",
|
||
"addFailed": "添加失败",
|
||
"deletePeerConfirm": "删除 Peer「{id}」?",
|
||
"downloadFailed": "下载失败",
|
||
"qrFailed": "生成二维码失败",
|
||
"noClientConfigWarn": "无客户端配置",
|
||
"deleteTunnelConfirm": "确定删除专线「{name}」?配置与密钥将一并清除。",
|
||
"peerAlreadyAdded": "Peer 已添加",
|
||
"stopFailed": "停止失败",
|
||
"selected": "已选择 {count} 项",
|
||
"batchStart": "批量启动",
|
||
"batchStop": "批量停止",
|
||
"batchDelete": "批量删除",
|
||
"batchStartConfirm": "确认批量启动 {count} 条隧道?",
|
||
"batchStopConfirm": "确认批量停止 {count} 条隧道?",
|
||
"batchDeleteConfirm": "确认批量删除 {count} 条隧道?此操作不可撤销!",
|
||
"batchStarted": "批量操作已提交,正在后台执行",
|
||
"taskProgress": "任务进度",
|
||
"taskPending": "等待中",
|
||
"taskRunning": "执行中",
|
||
"taskDone": "已完成",
|
||
"taskFailed": "失败",
|
||
"taskSuccess": "成功 {count}/{total}",
|
||
"taskFailedCount": "失败 {count}",
|
||
"taskInProgress": "进行中 ({done}/{total})",
|
||
"taskComplete": "全部完成",
|
||
"taskPartialFail": "部分失败",
|
||
"viewTasks": "查看任务",
|
||
"noTasks": "暂无任务记录",
|
||
"trafficTrend": "流量趋势",
|
||
"noTrafficData": "暂无流量数据(等待采样中…)"
|
||
},
|
||
"tunnelEditor": {
|
||
"title": "编辑专线",
|
||
"backToList": "返回列表",
|
||
"sensitiveFieldHint": "密码、PSK、Token 等敏感字段不会回显;留空表示继续使用原值。",
|
||
"tunnelName": "专线名称",
|
||
"protocolType": "协议类型",
|
||
"keepOriginal": "留空保持原值",
|
||
"expireTime": "到期时间",
|
||
"expirePlaceholder": "留空为永久",
|
||
"autoStart": "自动启动",
|
||
"saveConfig": "保存配置",
|
||
"loadFailed": "加载专线失败",
|
||
"fillName": "请填写专线名称",
|
||
"configSaved": "配置已保存"
|
||
},
|
||
"tunnelWizard": {
|
||
"step1": "选择协议",
|
||
"step2": "填写参数",
|
||
"step3": "生成配置",
|
||
"recommend": "推荐",
|
||
"depReady": "✓ 依赖就绪",
|
||
"notDeployed": "未部署",
|
||
"oneClickInstall": "一键安装",
|
||
"installCmd": "安装命令",
|
||
"customPlugin": "自定义协议插件",
|
||
"customScene": "自定义对接",
|
||
"tunnelName": "专线名称",
|
||
"namePlaceholder": "例如:总部-分支互联",
|
||
"protocolType": "协议类型",
|
||
"reselect": "重新选择",
|
||
"advancedOptions": "高级选项",
|
||
"expireTime": "到期时间",
|
||
"expirePlaceholder": "留空为永久",
|
||
"autoStartAfterCreate": "创建后自动启动",
|
||
"previousStep": "上一步",
|
||
"generateConfig": "生成配置",
|
||
"createSuccess": "专线创建成功",
|
||
"configGenerated": "「{name}」配置已生成",
|
||
"clientConfig": "客户端配置",
|
||
"downloadConfigFile": "下载配置文件",
|
||
"showQrCode": "显示二维码",
|
||
"goIpsecPeer": "前往 IPSec 对接页",
|
||
"backToList": "返回列表",
|
||
"installCmdTitle": "{name} 安装命令",
|
||
"pkgManagerDetected": "检测到当前系统包管理器:{pm},推荐使用以下命令",
|
||
"noPkgManager": "未检测到系统包管理器,以下是各平台安装命令供参考",
|
||
"aptDefault": "apt (默认)",
|
||
"recommended": "推荐",
|
||
"copyThisCmd": "复制此命令",
|
||
"otherDistros": "其他发行版",
|
||
"fillName": "请填写专线名称",
|
||
"fillRequired": "请填写必填项:{label}",
|
||
"createFailed": "创建失败",
|
||
"installSuccess": "{protocol} {version} 安装成功 {method}",
|
||
"methodPackageManager": "(包管理器安装)",
|
||
"methodDownload": "(一键安装)",
|
||
"installFailed": "{protocol} 安装失败"
|
||
},
|
||
"users": {
|
||
"title": "管理用户",
|
||
"batchImport": "批量导入",
|
||
"ldapImport": "LDAP 导入",
|
||
"addUser": "添加用户",
|
||
"role": "角色",
|
||
"roleAdmin": "管理员",
|
||
"roleOperator": "运维",
|
||
"roleViewer": "只读",
|
||
"noUsers": "还没有用户",
|
||
"ldapTitle": "LDAP 身份源",
|
||
"ldapHint": "LDAP 用户可首次登录后自动同步,也可使用左侧「LDAP 导入」预先添加。",
|
||
"ldapUrl": "LDAP URL",
|
||
"bindDn": "Bind DN",
|
||
"bindPassword": "Bind 密码",
|
||
"keepOriginal": "留空保持原值",
|
||
"baseDn": "Base DN",
|
||
"userFilter": "用户过滤",
|
||
"usernameAttr": "用户名属性",
|
||
"testConnection": "测试连接",
|
||
"editUser": "编辑用户",
|
||
"loginUsername": "登录用户名",
|
||
"keepUnchanged": "留空不修改",
|
||
"min8Chars": "至少 8 位",
|
||
"batchImportTitle": "批量导入用户",
|
||
"batchHint": "每行一个用户,格式:用户名,密码 或仅用户名(自动生成密码)。密码至少 8 位。",
|
||
"batchPlaceholder": "每行一个:用户名,密码(如 user1,Pass1234);或仅用户名自动生成密码",
|
||
"defaultRole": "默认角色",
|
||
"startImport": "开始导入",
|
||
"ldapImportTitle": "从 LDAP 导入用户",
|
||
"ldapNotEnabled": "LDAP 未启用,请先在右侧配置并测试连接",
|
||
"refreshUserList": "刷新用户列表",
|
||
"userCount": "共 {count} 个用户,已选 {selected} 个",
|
||
"fullName": "姓名",
|
||
"imported": "已导入",
|
||
"pendingImport": "待导入",
|
||
"clickRefreshHint": "点击上方刷新加载 LDAP 用户",
|
||
"ldapDisabled": "LDAP 未启用",
|
||
"importSelected": "导入入选中 ({count})",
|
||
"updated": "已更新",
|
||
"fillUsername": "请填写用户名",
|
||
"passwordMin8": "密码至少 8 位",
|
||
"userCreated": "用户已创建",
|
||
"deleteUserConfirm": "确定删除用户「{username}」?",
|
||
"enterAtLeastOne": "请输入至少一行用户数据",
|
||
"importResult": "成功 {success},跳过 {skipped},失败 {failed}",
|
||
"importResultTitle": "导入结果",
|
||
"importFailed": "导入失败",
|
||
"ldapLoadFailed": "LDAP 加载失败",
|
||
"ldapConfigSaved": "LDAP 配置已保存",
|
||
"ldapConnected": "LDAP 连接成功",
|
||
"ldapConnectFailed": "连接失败",
|
||
"emptyUsername": "(空)",
|
||
"errorDetails": "失败详情:"
|
||
},
|
||
"vpnUsers": {
|
||
"title": "VPN 拨号用户",
|
||
"mfaHint": "OpenVPN 双因素认证(TOTP / 静态挑战 / PIN+OTP)",
|
||
"addUser": "添加用户",
|
||
"displayName": "姓名",
|
||
"tunnel": "隧道",
|
||
"otpMfa": "OTP / MFA",
|
||
"bound": "已绑定",
|
||
"unbound": "未绑定",
|
||
"locked": "锁定",
|
||
"lastOnline": "最近在线",
|
||
"downloadConfig": "下载配置",
|
||
"otpManagement": "OTP 管理",
|
||
"addVpnUserTitle": "添加 VPN 拨号用户",
|
||
"dialTunnel": "拨号隧道",
|
||
"pickFromUsers": "从已有用户选",
|
||
"displayNameLabel": "显示名",
|
||
"authSource": "认证来源",
|
||
"min8Chars": "至少 8 位",
|
||
"ldapDn": "LDAP DN",
|
||
"create": "创建",
|
||
"pickUserTitle": "选择已有平台用户",
|
||
"noPlatformUsers": "暂无平台用户",
|
||
"clickRowHint": "点击行即选中并自动填充",
|
||
"otpDialogTitle": "双因素认证 — {username}",
|
||
"otpHint": "基于 TOTP 的双因素认证(SHA1 / base32 / 30s / 6 位),兼容主流 Authenticator 应用。支持静态挑战二次输入与 PIN+OTP 组合模式。",
|
||
"bindStatus": "绑定状态",
|
||
"boundTotp": "已绑定 TOTP",
|
||
"staticPin": "静态 PIN",
|
||
"pinSet": "已设置",
|
||
"pinNotSet": "未设置",
|
||
"failCount": "失败次数",
|
||
"lockStatus": "锁定",
|
||
"lockedUntil": "是(至 {time})",
|
||
"lastOtpSuccess": "最近 OTP 成功",
|
||
"compatible": "兼容",
|
||
"totpCompatible": "TOTP 标准(兼容 Google/Microsoft Authenticator)",
|
||
"bindAuthenticator": "绑定 Authenticator",
|
||
"disableMfa": "关闭 MFA",
|
||
"regenBackupCodes": "重新生成备用码",
|
||
"setClearPin": "设置/清除 PIN",
|
||
"unlock": "解锁",
|
||
"exportKeys": "导出密钥",
|
||
"scanHint": "使用 Google Authenticator / Microsoft Authenticator / FreeOTP 扫描",
|
||
"base32Key": "base32 密钥:{key}",
|
||
"input6DigitCode": "输入 6 位验证码确认绑定",
|
||
"verifyAndEnable": "验证并启用",
|
||
"clientConnectHint": "客户端连接方式:密码框填登录密码,第二因子填 6 位动态验证码(若设置了 PIN,则填 PIN+验证码,如 1234123456)。也支持密码后直接附加 6 位码。",
|
||
"setPinTitle": "设置静态 PIN",
|
||
"pinHint": "连接时第二因子需输入 PIN + 6 位动态验证码(无空格拼接)。留空保存可清除已设置的 PIN。",
|
||
"pinPlaceholder": "4-32 位 PIN,留空清除",
|
||
"userFilled": "已填充用户「{username}」信息",
|
||
"vpnUserCreated": "拨号用户已创建",
|
||
"createFailed": "创建失败",
|
||
"downloadFailed": "下载失败",
|
||
"mfaSetupFailed": "无法开始 MFA 设置",
|
||
"inputCode": "请输入验证码",
|
||
"mfaEnabledMsg": "双因素认证已启用。\n\n一次性备用码(请妥善保存,丢失手机时用于登录):\n{codes}\n\n客户端连接方式:密码框填登录密码,第二因子填 6 位动态验证码(若设置了 PIN 则填 PIN+验证码)。",
|
||
"bindSuccess": "绑定成功",
|
||
"verifyFailed": "验证失败",
|
||
"disableMfaConfirm": "关闭 {username} 的 MFA?",
|
||
"mfaClosed": "MFA 已关闭",
|
||
"backupCodesTitle": "备用码",
|
||
"newBackupCodes": "新备用码(旧码失效):\n\n{codes}",
|
||
"generateFailed": "生成失败",
|
||
"pinSetSuccess": "PIN 已设置",
|
||
"pinCleared": "PIN 已清除",
|
||
"unlocked": "已解锁",
|
||
"unlockFailed": "解锁失败",
|
||
"exportKeysTitle": "导出密钥",
|
||
"otpSecretsMsg": "TOTP 密钥行(敏感信息,请勿泄露):\n\n{line}\n\n格式说明:{format}",
|
||
"exportFailed": "导出失败",
|
||
"deleteVpnUserConfirm": "删除拨号用户 {username}?"
|
||
},
|
||
"sessions": {
|
||
"title": "在线会话",
|
||
"onlineCount": "{count} 个在线",
|
||
"publicAddress": "公网地址",
|
||
"vpnIp": "VPN IP",
|
||
"connectedDuration": "已连接时长",
|
||
"kickOffline": "踢下线",
|
||
"noOnlineUsers": "当前无在线用户",
|
||
"trafficAlert": "⚠ 异常流量告警",
|
||
"userTunnel": "用户/隧道",
|
||
"alertType": "类型",
|
||
"rateAlert": "突发流量",
|
||
"quotaExceed": "配额超额",
|
||
"auditLog": "连接审计日志",
|
||
"event": "事件",
|
||
"eventConnect": "连接",
|
||
"eventDisconnect": "断开",
|
||
"eventAuthFail": "认证失败",
|
||
"eventQuotaExceed": "配额超额",
|
||
"eventRateAlert": "突发流量",
|
||
"seconds": "{n}秒",
|
||
"minutes": "{n}分钟",
|
||
"hoursMinutes": "{h}小时{m}分",
|
||
"loadDataFailed": "加载数据失败",
|
||
"kickConfirm": "确定踢用户「{username}」下线?",
|
||
"kicked": "已踢下线"
|
||
},
|
||
"logs": {
|
||
"auditTitle": "操作审计日志",
|
||
"connTitle": "连接审计日志",
|
||
"alertTitle": "流量告警",
|
||
"statsTitle": "日志统计",
|
||
"keywordPlaceholder": "搜索目标/详情",
|
||
"startDate": "开始日期",
|
||
"endDate": "结束日期",
|
||
"exportCsv": "导出 CSV",
|
||
"eventType": "事件类型",
|
||
"tunnelId": "隧道ID",
|
||
"auditCount": "审计日志",
|
||
"connCount": "连接日志",
|
||
"sessionCount": "会话记录",
|
||
"from": "从",
|
||
"cleanup": "清理日志",
|
||
"cleanupHint": "删除指定天数之前的日志数据",
|
||
"cleanupPrompt": "保留最近多少天的日志?",
|
||
"cleanupInputError": "请输入正整数",
|
||
"cleanupDone": "清理完成:审计 {audit} 条、连接 {conn} 条、会话 {session} 条",
|
||
"loadFailed": "加载日志失败",
|
||
"noAlerts": "暂无流量告警"
|
||
},
|
||
"settings": {
|
||
"mustChangePassword": "首次登录或密码已被管理员重置,必须修改密码后才能使用其他功能",
|
||
"changePassword": "修改密码",
|
||
"oldPassword": "原密码",
|
||
"newPassword": "新密码",
|
||
"min8Chars": "至少 8 位",
|
||
"confirmNewPassword": "确认新密码",
|
||
"change": "修改",
|
||
"mfaTitle": "双因素认证(MFA)",
|
||
"mfaHint": "使用 Microsoft Authenticator、Google Authenticator 等应用扫描二维码。备用码可在丢失手机时登录。",
|
||
"setupMfa": "设置 MFA",
|
||
"disableMfa": "关闭 MFA",
|
||
"input6DigitCode": "输入 App 显示的 6 位验证码",
|
||
"verifyAndEnable": "验证并启用",
|
||
"deployTitle": "部署说明",
|
||
"deliveryForm": "交付形态",
|
||
"deliveryDesc": "单二进制(前端已内嵌),无需 Docker",
|
||
"dataDir": "数据目录",
|
||
"dataDirDesc": "./data(可用 VPN_DATA_DIR 覆盖)",
|
||
"listenAddr": "监听地址",
|
||
"listenAddrDesc": ":8080(VPN_LISTEN_ADDR 覆盖)",
|
||
"keyStorage": "密钥存储",
|
||
"keyStorageDesc": "PSK / 私钥 AES-GCM 加密落库,配置文件 0600 权限",
|
||
"systemDeps": "系统依赖",
|
||
"systemDepsDesc": "wireguard-tools / strongswan / xl2tpd / openvpn / frp",
|
||
"prodSuggestion": "生产建议",
|
||
"prodSuggestionDesc": "经 Nginx/Caddy 反向代理终止 TLS 后暴露",
|
||
"auditTitle": "操作审计(最近 100 条)",
|
||
"auditMigrated": "审计日志已迁移至「日志中心」,支持分页、筛选和导出",
|
||
"noAuditLogs": "暂无审计日志",
|
||
"mfaEnabledTitle": "MFA 已启用 — 请保存备用码",
|
||
"backupCodesHint": "这些备用码仅显示一次,丢失手机时用于登录。请立即复制保存!",
|
||
"copyAll": "复制全部",
|
||
"savedConfirm": "我已保存",
|
||
"passwordMismatch": "两次新密码不一致",
|
||
"passwordMin8": "新密码至少 8 位",
|
||
"passwordChanged": "密码已修改",
|
||
"changeFailed": "修改失败",
|
||
"setupFailed": "设置失败",
|
||
"verifyFailed": "验证失败",
|
||
"mfaClosed": "MFA 已关闭",
|
||
"closeFailed": "关闭失败",
|
||
"mustChangeHint": "首次登录或密码已被重置,请先修改密码",
|
||
"confirmChange": "确认修改",
|
||
"strength": "强度:{level}",
|
||
"strengthVeryWeak": "很弱",
|
||
"strengthWeak": "弱",
|
||
"strengthFair": "一般",
|
||
"strengthStrong": "较强",
|
||
"strengthVeryStrong": "强"
|
||
},
|
||
"plugins": {
|
||
"title": "自定义协议插件",
|
||
"registerPlugin": "注册插件",
|
||
"pluginHint": "插件通过<b>命令钩子</b>实现统一协议契约:平台将专线配置 JSON 通过 stdin 传给钩子命令。",
|
||
"pluginContract": "契约:<code>Create / Start / Stop / Status / Config</code>;Status 钩子 stdout 输出 <code>running</code> 或 <code>stopped</code>;Config 钩子 stdout 输出客户端配置文本。",
|
||
"protocolId": "协议标识",
|
||
"enabled": "启用",
|
||
"disabled": "停用",
|
||
"noPlugins": "还没有自定义协议插件",
|
||
"editPlugin": "编辑插件",
|
||
"registerPluginTitle": "注册协议插件",
|
||
"protocolIdPlaceholder": "如 myproto(字母数字)",
|
||
"displayName": "显示名称",
|
||
"optional": "可选",
|
||
"protocolIdRequired": "协议标识与 Start 钩子必填"
|
||
},
|
||
"nodes": {
|
||
"title": "节点管理",
|
||
"addNode": "添加节点",
|
||
"nodeHint": "节点用于将专线部署到中继服务器。本机节点为内置默认节点;远程节点支持 SSH 凭证验证(密码/私钥),验证通过后状态显示为「已验证」。",
|
||
"type": "类型",
|
||
"typeLocal": "本机",
|
||
"typeRemote": "远程",
|
||
"sshUser": "SSH 用户",
|
||
"authMethod": "认证方式",
|
||
"authPassword": "密码",
|
||
"authKey": "私钥",
|
||
"statusReady": "就绪",
|
||
"statusVerified": "已验证",
|
||
"statusFailed": "验证失败",
|
||
"statusUnverified": "未验证",
|
||
"verify": "验证",
|
||
"noNodes": "还没有远程节点,点击右上角添加",
|
||
"editNode": "编辑节点",
|
||
"namePlaceholder": "例如:北京中继节点",
|
||
"addressPlaceholder": "IP 或域名,如 192.168.1.100",
|
||
"sshPort": "SSH 端口",
|
||
"remoteNode": "远程节点",
|
||
"localNode": "本机节点",
|
||
"defaultRoot": "默认 root",
|
||
"keepUnchanged": "留空表示不修改",
|
||
"sshPasswordPlaceholder": "SSH 登录密码",
|
||
"privateKeyPlaceholder": "粘贴 OpenSSH/PEM 格式私钥内容",
|
||
"testConnection": "测试连接",
|
||
"determine": "确定",
|
||
"fillAddressFirst": "请先填写地址",
|
||
"requestFailed": "请求失败",
|
||
"fillNameAndAddress": "请填写名称与地址",
|
||
"added": "已添加",
|
||
"updated": "已更新",
|
||
"verifySuccess": "验证成功:{msg}",
|
||
"verifyFailed": "验证失败:{msg}",
|
||
"deleteNodeConfirm": "确定删除节点「{name}」?该操作不可撤销。"
|
||
},
|
||
"notFound": {
|
||
"title": "404",
|
||
"subtitle": "您访问的页面不存在或已被移除",
|
||
"backHome": "返回首页"
|
||
},
|
||
"mfaVerify": {
|
||
"title": "双因素认证",
|
||
"hint": "请输入 Authenticator 应用中显示的 6 位动态验证码",
|
||
"verifyAndLogin": "验证并登录",
|
||
"backToLogin": "返回登录",
|
||
"inputFullCode": "请输入完整的 6 位验证码",
|
||
"sessionExpired": "登录会话已过期,请重新登录",
|
||
"verifySuccess": "验证成功",
|
||
"codeError": "验证码错误,请重试"
|
||
},
|
||
"ipsecPeer": {
|
||
"localParams": "本端 IPSec 参数",
|
||
"loadTemplate": "载入设备模板",
|
||
"localPublicIp": "本端公网 IP",
|
||
"remoteGateway": "对端网关",
|
||
"localSubnets": "本端网段",
|
||
"remoteSubnets": "对端网段",
|
||
"psk": "预共享密钥",
|
||
"phase1": "Phase 1(IKE SA)",
|
||
"ikeVersion": "IKE 版本",
|
||
"proposal": "提议",
|
||
"localId": "本端 ID",
|
||
"remoteId": "对端 ID",
|
||
"phase2": "Phase 2(IPSec SA)",
|
||
"espProposal": "ESP 提议",
|
||
"pfsGroup": "PFS 组",
|
||
"dpdPolicy": "DPD 策略",
|
||
"dpdRestart": "restart(断线重连)",
|
||
"dpdClear": "clear(清除)",
|
||
"dpdTrap": "trap(按需触发)",
|
||
"createIpsecTunnel": "创建 IPSec 专线",
|
||
"paramConsistency": "双方参数一致性检查",
|
||
"peerIkeVersion": "对端 IKE 版本",
|
||
"peerPhase1": "对端 Phase1",
|
||
"peerPhase2": "对端 Phase2",
|
||
"peerPfsGroup": "对端 PFS 组",
|
||
"peerLocalSubnets": "对端本端网段",
|
||
"peerIkePlaceholder": "对端的 IKE 提议",
|
||
"peerEspPlaceholder": "对端的 ESP 提议",
|
||
"peerSubnetsPlaceholder": "对端视角的 local(=我方 remote)",
|
||
"startCompare": "开始对比检查",
|
||
"paramsConsistent": "双方参数一致,可以建立隧道",
|
||
"paramsInconsistent": "发现参数不一致:",
|
||
"connectivityTest": "一键连通性测试",
|
||
"selectIpsecTunnel": "选择已有 IPSec 专线",
|
||
"testConnectivity": "测试与对端网关连通性",
|
||
"reachable": "可达",
|
||
"unreachable": "不可达",
|
||
"latency": "耗时",
|
||
"templateLoaded": "已载入「{name}」模板:{note}",
|
||
"fillRequiredFields": "请填写完整的必填项(网关/网段/PSK)",
|
||
"ipsecCreated": "IPSec 专线已创建并启动",
|
||
"createFailed": "创建失败",
|
||
"testFailed": "测试失败"
|
||
},
|
||
"router": {
|
||
"dashboard": "总览",
|
||
"tunnels": "专线列表",
|
||
"sessions": "在线会话",
|
||
"createTunnel": "创建专线",
|
||
"editTunnel": "编辑专线",
|
||
"ipsecPeer": "IPSec 第三方对接",
|
||
"nodes": "节点管理",
|
||
"users": "用户管理",
|
||
"vpnUsers": "VPN 拨号用户",
|
||
"plugins": "协议插件",
|
||
"settings": "系统设置",
|
||
"logs": "日志中心",
|
||
"notFound": "页面不存在",
|
||
"sidebarOps": "专线运维",
|
||
"sidebarResource": "资源管理",
|
||
"sidebarSystem": "系统"
|
||
},
|
||
"protocolIcon": {
|
||
"custom": "自定义协议"
|
||
},
|
||
"protocols": {
|
||
"wireguard": {
|
||
"name": "WireGuard",
|
||
"desc": "性能最好的现代 VPN,内核级实现,漫游友好",
|
||
"scenes": "内部接入 / 移动办公",
|
||
"fields": {
|
||
"address": {
|
||
"label": "服务端 VPN 网段地址",
|
||
"tip": "服务端在 VPN 网段中的地址(CIDR)"
|
||
},
|
||
"listen_port": {
|
||
"label": "监听端口"
|
||
},
|
||
"client_address": {
|
||
"label": "首个客户端地址",
|
||
"tip": "创建后可在详情中继续添加 Peer"
|
||
},
|
||
"public_endpoint": {
|
||
"label": "公网接入点",
|
||
"tip": "客户端连接用,公网 IP:端口"
|
||
},
|
||
"dns": {
|
||
"label": "DNS"
|
||
},
|
||
"allowed_ips": {
|
||
"label": "客户端 AllowedIPs",
|
||
"tip": "全流量代理用 0.0.0.0/0;仅内网填内网网段"
|
||
},
|
||
"keepalive": {
|
||
"label": "Keepalive(秒)",
|
||
"tip": "NAT 后客户端建议 15–25"
|
||
},
|
||
"mtu": {
|
||
"label": "MTU",
|
||
"tip": "0 表示默认;跨公网常见 1280–1420"
|
||
},
|
||
"enable_nat": {
|
||
"label": "启用 NAT 出网",
|
||
"tip": "客户端需访问公网/其它网段时开启"
|
||
},
|
||
"egress_interface": {
|
||
"label": "NAT 出口网卡",
|
||
"tip": "留空则自动探测默认路由网卡"
|
||
}
|
||
}
|
||
},
|
||
"ipsec": {
|
||
"name": "IPSec 站点互联",
|
||
"desc": "与第三方设备(Cisco/华为/飞塔等)做站点到站点对接",
|
||
"scenes": "第三方对接 / 站点互联",
|
||
"fields": {
|
||
"vendor_template": {
|
||
"label": "厂商模板",
|
||
"tip": "自动预填 Phase1/Phase2 提议,仍可手动改",
|
||
"options": {
|
||
"generic": "通用标准(推荐)",
|
||
"cisco": "Cisco ISR/ASR",
|
||
"fortigate": "FortiGate",
|
||
"huawei": "华为 USG/AR",
|
||
"h3c": "H3C"
|
||
}
|
||
},
|
||
"public_endpoint": {
|
||
"label": "本端公网 IP"
|
||
},
|
||
"remote_gateway": {
|
||
"label": "对端网关地址"
|
||
},
|
||
"local_subnets": {
|
||
"label": "本端网段",
|
||
"tip": "多个网段用逗号分隔"
|
||
},
|
||
"remote_subnets": {
|
||
"label": "对端网段"
|
||
},
|
||
"psk": {
|
||
"label": "预共享密钥 PSK"
|
||
},
|
||
"ike_version": {
|
||
"label": "IKE 版本",
|
||
"options": {
|
||
"ikev2": "IKEv2",
|
||
"ikev1": "IKEv1"
|
||
}
|
||
},
|
||
"ike_proposal": {
|
||
"label": "Phase1 提议",
|
||
"tip": "加密-认证-DH组,需与对端一致"
|
||
},
|
||
"esp_proposal": {
|
||
"label": "Phase2 提议"
|
||
},
|
||
"pfs_group": {
|
||
"label": "PFS DH 组"
|
||
},
|
||
"ike_lifetime": {
|
||
"label": "IKE 生存期(秒)"
|
||
},
|
||
"local_id": {
|
||
"label": "本端标识 ID"
|
||
},
|
||
"remote_id": {
|
||
"label": "对端标识 ID"
|
||
}
|
||
}
|
||
},
|
||
"ikev2": {
|
||
"name": "IKEv2 远程接入",
|
||
"desc": "手机/笔记本原生拨号进内网,比 L2TP 更现代",
|
||
"scenes": "员工远程办公 / 原生 VPN",
|
||
"fields": {
|
||
"public_endpoint": {
|
||
"label": "服务器公网地址"
|
||
},
|
||
"local_id": {
|
||
"label": "服务器 ID / 远程 ID",
|
||
"tip": "客户端「远程 ID」与此一致"
|
||
},
|
||
"psk": {
|
||
"label": "机器认证 PSK",
|
||
"tip": "留空自动生成;iOS/Android 共享密钥"
|
||
},
|
||
"username": {
|
||
"label": "默认拨号用户"
|
||
},
|
||
"password": {
|
||
"label": "默认拨号密码",
|
||
"tip": "留空自动生成;更多账号在拨号用户页添加"
|
||
},
|
||
"address_pool": {
|
||
"label": "客户端地址池"
|
||
},
|
||
"dns": {
|
||
"label": "下发 DNS"
|
||
},
|
||
"local_ts": {
|
||
"label": "放行网段",
|
||
"tip": "0.0.0.0/0 为全流量;可改为内网 CIDR"
|
||
},
|
||
"ike_proposal": {
|
||
"label": "IKE 提议"
|
||
},
|
||
"esp_proposal": {
|
||
"label": "ESP 提议"
|
||
}
|
||
}
|
||
},
|
||
"l2tp": {
|
||
"name": "L2TP/IPSec",
|
||
"desc": "兼容性最好,手机/老设备/路由器原生支持",
|
||
"scenes": "移动设备 / 老设备兼容",
|
||
"fields": {
|
||
"public_endpoint": {
|
||
"label": "服务器公网 IP"
|
||
},
|
||
"psk": {
|
||
"label": "IPSec 预共享密钥"
|
||
},
|
||
"username": {
|
||
"label": "默认拨号用户名",
|
||
"tip": "可在「VPN 拨号用户」为本隧道添加更多账号"
|
||
},
|
||
"password": {
|
||
"label": "默认拨号密码",
|
||
"tip": "若只使用拨号用户表可留空(创建时需至少有一种)"
|
||
},
|
||
"ip_range": {
|
||
"label": "客户端地址池"
|
||
},
|
||
"local_ip": {
|
||
"label": "服务端隧道地址"
|
||
},
|
||
"dns": {
|
||
"label": "下发 DNS"
|
||
}
|
||
}
|
||
},
|
||
"frp": {
|
||
"name": "FRP 内网穿透",
|
||
"desc": "国内刚需,TCP/UDP/HTTP 端口映射与反向代理",
|
||
"scenes": "内网穿透 / 端口映射",
|
||
"fields": {
|
||
"mode": {
|
||
"label": "运行模式",
|
||
"tip": "server=frps(有公网),client=frpc(内网侧)",
|
||
"options": {
|
||
"server": "server (frps 公网侧)",
|
||
"client": "client (frpc 内网侧)"
|
||
}
|
||
},
|
||
"bind_port": {
|
||
"label": "绑定端口(server)"
|
||
},
|
||
"public_endpoint": {
|
||
"label": "公网地址(server)"
|
||
},
|
||
"dashboard_port": {
|
||
"label": "管理面板端口(server)"
|
||
},
|
||
"dashboard_user": {
|
||
"label": "管理面板账号(server)"
|
||
},
|
||
"dashboard_password": {
|
||
"label": "管理面板密码(server)",
|
||
"tip": "留空时自动生成强随机密码;编辑时留空保持原密码"
|
||
},
|
||
"vhost_http_port": {
|
||
"label": "HTTP 虚拟主机端口",
|
||
"tip": "0 表示不启用;HTTP 代理需 >0"
|
||
},
|
||
"vhost_https_port": {
|
||
"label": "HTTPS 虚拟主机端口",
|
||
"tip": "0 表示不启用"
|
||
},
|
||
"allow_ports": {
|
||
"label": "允许映射端口范围",
|
||
"tip": "限制 frpc 可申请的 remotePort"
|
||
},
|
||
"server_addr": {
|
||
"label": "frps 地址(client)"
|
||
},
|
||
"server_port": {
|
||
"label": "frps 端口(client)"
|
||
},
|
||
"token": {
|
||
"label": "认证 Token",
|
||
"tip": "留空自动生成"
|
||
},
|
||
"proxy_name": {
|
||
"label": "代理名称"
|
||
},
|
||
"proxy_type": {
|
||
"label": "代理类型",
|
||
"options": {
|
||
"tcp": "TCP",
|
||
"udp": "UDP",
|
||
"http": "HTTP",
|
||
"https": "HTTPS",
|
||
"stcp": "STCP(安全点对点)",
|
||
"xtcp": "XTCP(P2P)"
|
||
}
|
||
},
|
||
"local_ip": {
|
||
"label": "内网目标 IP"
|
||
},
|
||
"local_port": {
|
||
"label": "内网目标端口"
|
||
},
|
||
"remote_port": {
|
||
"label": "公网映射端口"
|
||
},
|
||
"custom_domains": {
|
||
"label": "绑定域名",
|
||
"tip": "HTTP/HTTPS 代理必填"
|
||
},
|
||
"secret_key": {
|
||
"label": "STCP/XTCP 密钥",
|
||
"tip": "访问端与提供端需一致"
|
||
}
|
||
}
|
||
},
|
||
"openvpn": {
|
||
"name": "OpenVPN",
|
||
"desc": "最成熟的开源 VPN,兼容各类老项目与系统",
|
||
"scenes": "老项目兼容 / 通用接入",
|
||
"fields": {
|
||
"public_endpoint": {
|
||
"label": "公网接入地址"
|
||
},
|
||
"port": {
|
||
"label": "端口"
|
||
},
|
||
"proto": {
|
||
"label": "传输协议",
|
||
"tip": "可随时在编辑中切换;切换后需重启专线,客户端需重新下载配置",
|
||
"options": {
|
||
"udp": "UDP(推荐,性能更好)",
|
||
"tcp-server": "TCP(穿透限制网络更稳)"
|
||
}
|
||
},
|
||
"subnet": {
|
||
"label": "VPN 网段",
|
||
"tip": "如 10.8.0.0 255.255.240.0 可容纳更多客户端(/20)"
|
||
},
|
||
"cipher": {
|
||
"label": "加密算法",
|
||
"options": {
|
||
"AES-256-GCM": "AES-256-GCM",
|
||
"AES-128-GCM": "AES-128-GCM",
|
||
"AES-256-CBC": "AES-256-CBC"
|
||
}
|
||
},
|
||
"auth_mode": {
|
||
"label": "认证方式",
|
||
"tip": "密码模式对齐生产 verify-client-cert none + username-as-common-name",
|
||
"options": {
|
||
"certificate": "仅证书",
|
||
"password": "***",
|
||
"certificate+password": "证书 + 密码"
|
||
}
|
||
},
|
||
"mfa_mode": {
|
||
"label": "拨号 MFA (2FA)",
|
||
"tip": "static-challenge + TOTP;在拨号用户页管理 OTP",
|
||
"options": {
|
||
"off": "关闭",
|
||
"optional": "可选(用户绑定后才校验)",
|
||
"required": "强制(所有拨号用户必须 MFA)"
|
||
}
|
||
},
|
||
"otp_slop": {
|
||
"label": "OTP 时钟容差(秒)"
|
||
},
|
||
"otp_max_failures": {
|
||
"label": "OTP 失败锁定次数"
|
||
},
|
||
"otp_lockout_sec": {
|
||
"label": "OTP 锁定时长(秒)"
|
||
},
|
||
"otp_disallow_reuse": {
|
||
"label": "禁止重复使用同码"
|
||
},
|
||
"dns": {
|
||
"label": "下发 DNS"
|
||
},
|
||
"redirect_gateway": {
|
||
"label": "全流量代理",
|
||
"tip": "关闭后仅推送下方内网路由(生产常只推指定路由)"
|
||
},
|
||
"push_routes": {
|
||
"label": "推送内网路由",
|
||
"tip": "CIDR 逗号分隔"
|
||
},
|
||
"enable_nat": {
|
||
"label": "启用 NAT 出网"
|
||
},
|
||
"max_clients": {
|
||
"label": "最大客户端数",
|
||
"tip": "0 不限制;生产常见 1000"
|
||
},
|
||
"keepalive_interval": {
|
||
"label": "Keepalive 间隔",
|
||
"tip": "生产常用 keepalive 5 30"
|
||
},
|
||
"keepalive_timeout": {
|
||
"label": "Keepalive 超时"
|
||
},
|
||
"tun_mtu": {
|
||
"label": "tun-mtu",
|
||
"tip": "生产常用 1500"
|
||
},
|
||
"tun_mtu_extra": {
|
||
"label": "tun-mtu-extra"
|
||
},
|
||
"mssfix": {
|
||
"label": "mssfix",
|
||
"tip": "0=不设置;TCP 生产常用 1450,选 TCP 时默认 1450"
|
||
},
|
||
"duplicate_cn": {
|
||
"label": "允许 duplicate-cn",
|
||
"tip": "同用户名/证书多终端同时在线;密码模式默认会自动开启"
|
||
},
|
||
"reneg_sec": {
|
||
"label": "reneg-sec",
|
||
"tip": "0=禁用 TLS 重协商(生产/MFA 推荐);证书-only 默认可 3600"
|
||
},
|
||
"run_as_user": {
|
||
"label": "降权用户",
|
||
"tip": "对应 user openvpn;需系统已有该用户,留空不降权"
|
||
},
|
||
"run_as_group": {
|
||
"label": "降权组",
|
||
"tip": "对应 group openvpn"
|
||
}
|
||
}
|
||
},
|
||
"custom": {
|
||
"fields": {
|
||
"endpoint": {
|
||
"label": "接入地址"
|
||
},
|
||
"token": {
|
||
"label": "认证凭据"
|
||
},
|
||
"extra": {
|
||
"label": "扩展参数(JSON)"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
} |