feat: Add server form component with protocol configuration and localization support

This commit is contained in:
web
2025-08-23 09:10:05 -07:00
parent 26176a7afa
commit 217ddce60c
26 changed files with 3399 additions and 146 deletions
+23 -9
View File
@@ -1,27 +1,41 @@
{
"ADS Config": "ADS Config",
"Announcement Management": "Announcement Management",
"Application Management": "Application Management",
"Auth Control": "Auth Control",
"Balance": "Balance",
"Commerce": "Commerce",
"Commission": "Commission",
"Coupon Management": "Coupon Management",
"Dashboard": "Dashboard",
"Document Management": "Document Management",
"Finance": "Finance",
"Email": "Email",
"Gift": "Gift",
"Login": "Login",
"Logs & Analytics": "Logs & Analytics",
"Maintenance": "Maintenance",
"Marketing Management": "Marketing Management",
"Node Management": "Node Management",
"Order Management": "Order Management",
"Payment Config": "Payment Config",
"Product Management": "Product Management",
"Protocol Management": "Protocol Management",
"Rule Management": "Rule Management",
"Server": "Server",
"Register": "Register",
"Reset Subscribe": "Reset Subscribe",
"SMS": "SMS",
"Server Management": "Server Management",
"Settings": "Settings",
"Server Traffic": "Server Traffic",
"Subscribe": "Subscribe",
"Subscribe Config": "Subscribe Config",
"Subscribe Traffic": "Subscribe Traffic",
"System": "System",
"System Config": "System Config",
"System Management": "System Management",
"System Tool": "System Tool",
"Ticket Management": "Ticket Management",
"User": "User",
"User Detail": "User Detail",
"User Management": "User Management"
"User Management": "User Management",
"Users & Support": "Users & Support"
}
+37
View File
@@ -0,0 +1,37 @@
{
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDeleteDesc": "This action cannot be undone.",
"confirmDeleteTitle": "Delete this node?",
"copied": "Copied successfully",
"copy": "Copy",
"create": "Create",
"created": "Created successfully",
"delete": "Delete",
"deleted": "Deleted successfully",
"drawerCreateTitle": "Create Node",
"drawerEditTitle": "Edit Node",
"edit": "Edit",
"enabled": "Enabled",
"enabled_off": "Disabled",
"enabled_on": "Enabled",
"errors": {
"nameRequired": "Name is required",
"serverRequired": "Please select a server",
"serverAddrRequired": "Entry address is required",
"protocolRequired": "Please select a protocol",
"portRange": "Port must be 165535"
},
"name": "Name",
"pageTitle": "Nodes",
"port": "Port",
"protocol": "Protocol",
"select_protocol": "Search protocol…",
"select_server": "Search server…",
"server": "Server",
"server_addr": "Entry address",
"server_addr_port": "Address:Port",
"tags": "Tags",
"tags_placeholder": "Type and press Enter",
"updated": "Updated successfully"
}
+102
View File
@@ -0,0 +1,102 @@
{
"cancel": "Cancel",
"city": "City",
"config": {
"title": "Node configuration",
"description": "Manage node communication keys, pull/push intervals, and dynamic multipliers.",
"saveSuccess": "Saved successfully",
"communicationKey": "Communication key",
"inputPlaceholder": "Please enter",
"communicationKeyDescription": "Used for node authentication.",
"nodePullInterval": "Node pull interval",
"nodePullIntervalDescription": "How often the node pulls configuration (seconds).",
"nodePushInterval": "Node push interval",
"nodePushIntervalDescription": "How often the node pushes stats (seconds).",
"dynamicMultiplier": "Dynamic multiplier",
"dynamicMultiplierDescription": "Define time slots and multipliers to adjust traffic accounting.",
"startTime": "Start time",
"endTime": "End time",
"multiplier": "Multiplier",
"reset": "Reset",
"save": "Save",
"timeSlot": "Time slot",
"actions": {
"cancel": "Cancel",
"save": "Save"
}
},
"confirm": "Confirm",
"confirmDeleteDesc": "This action cannot be undone.",
"confirmDeleteTitle": "Delete this server?",
"congestion_controller": "Congestion controller",
"copied": "Copied",
"copy": "Copy",
"country": "Country",
"cpu": "CPU",
"create": "Create",
"created": "Created successfully",
"delete": "Delete",
"deleted": "Deleted successfully",
"disable_sni": "Disable SNI",
"disk": "Disk",
"drawerCreateTitle": "Create Server",
"drawerEditTitle": "Edit Server",
"edit": "Edit",
"enabled": "Enabled",
"encryption_method": "Encryption method",
"expireTime": "Expire time",
"expired": "Expired",
"flow": "Flow",
"hop_interval": "Hop interval",
"hop_ports": "Hop ports",
"hop_ports_placeholder": "e.g. 443,8443,10443",
"host": "Host",
"id": "ID",
"ipAddresses": "IP addresses",
"memory": "Memory",
"name": "Name",
"noData": "No data",
"notAvailable": "N/A",
"obfs_password": "Obfuscation password",
"obfs_password_placeholder": "Enter obfuscation password",
"offline": "Offline",
"online": "Online",
"onlineUsers": "Online users",
"pageTitle": "Servers",
"path": "Path",
"please_select": "Please select",
"port": "Port",
"port_placeholder": "Enter port",
"protocols": "Protocols",
"reduce_rtt": "Reduce RTT",
"security_allow_insecure": "Allow insecure",
"security_fingerprint": "Fingerprint",
"security_private_key": "Reality private key",
"security_private_key_placeholder": "Enter private key",
"security_public_key": "Reality public key",
"security_public_key_placeholder": "Enter public key",
"security_server_address": "Reality server address",
"security_server_address_placeholder": "e.g. 1.2.3.4 or domain",
"security_server_port": "Reality server port",
"security_server_port_placeholder": "Enter port",
"security_short_id": "Reality short ID",
"security_short_id_placeholder": "Hex string (up to 16 chars)",
"security_sni": "SNI",
"security_title": "Security",
"select_encryption_method": "Select encryption method",
"serverAddress": "Server",
"server_addr": "Server address",
"server_key": "Server key",
"service_name": "Service name",
"status": "Status",
"subscribeId": "Subscription ID",
"subscription": "Subscription",
"traffic": "Traffic",
"transport_title": "Transport",
"udp_relay_mode": "UDP relay mode",
"unitSecondsShort": "s",
"unlimited": "Unlimited",
"updated": "Updated successfully",
"user": "User",
"validation_failed": "Validation failed. Please check the form."
}
+2
View File
@@ -18,6 +18,8 @@ export default getRequestConfig(async () => {
'ads': (await import(`./${locale}/ads.json`)).default,
'payment': (await import(`./${locale}/payment.json`)).default,
'server': (await import(`./${locale}/server.json`)).default,
'servers': (await import(`./${locale}/servers.json`)).default,
'nodes': (await import(`./${locale}/nodes.json`)).default,
'product': (await import(`./${locale}/product.json`)).default,
'order': (await import(`./${locale}/order.json`)).default,
'coupon': (await import(`./${locale}/coupon.json`)).default,
+25 -11
View File
@@ -1,27 +1,41 @@
{
"ADS Config": "ADS配置",
"ADS Config": "广告配置",
"Announcement Management": "公告管理",
"Application Management": "应用管理",
"Auth Control": "认证控制",
"Balance": "余额变动",
"Commerce": "商务",
"Commission": "佣金记录",
"Coupon Management": "优惠券管理",
"Dashboard": "仪表盘",
"Document Management": "文档管理",
"Finance": "财务",
"Email": "邮件日志",
"Gift": "赠送记录",
"Login": "登录日志",
"Logs & Analytics": "日志与分析",
"Maintenance": "运维",
"Marketing Management": "营销管理",
"Node Management": "节点管理",
"Order Management": "订单管理",
"Payment Config": "支付配置",
"Product Management": "品管理",
"Protocol Management": "协议管理",
"Rule Management": "规则管理",
"Server": "服务",
"Product Management": "品管理",
"Register": "注册日志",
"Reset Subscribe": "重置订阅",
"SMS": "短信日志",
"Server Management": "服务管理",
"Settings": "设置",
"Server Traffic": "服务流量",
"Subscribe": "订阅日志",
"Subscribe Config": "订阅配置",
"Subscribe Traffic": "订阅流量",
"System": "系统",
"System Config": "系统配置",
"System Management": "系统管理",
"System Tool": "系统工具",
"Ticket Management": "工单管理",
"User": "用户",
"User Detail": "用户详情",
"User Management": "用户管理"
"User Management": "用户管理",
"Users & Support": "用户与支持"
}
+38
View File
@@ -0,0 +1,38 @@
{
"cancel": "取消",
"confirm": "确定",
"confirmDeleteDesc": "此操作不可撤销。",
"confirmDeleteTitle": "删除该节点?",
"copied": "复制成功",
"copy": "复制",
"create": "新建",
"created": "创建成功",
"delete": "删除",
"deleted": "删除成功",
"drawerCreateTitle": "新建节点",
"drawerEditTitle": "编辑节点",
"edit": "编辑",
"enabled": "是否启用",
"enabled_off": "未启用",
"enabled_on": "已启用",
"errors": {
"nameRequired": "请输入名称",
"serverRequired": "请选择服务器",
"serverAddrRequired": "请输入入口地址",
"protocolRequired": "请选择协议",
"portRange": "端口范围 165535"
},
"name": "名称",
"pageTitle": "节点管理",
"port": "端口",
"protocol": "协议类型",
"select_protocol": "搜索协议…",
"select_server": "搜索服务器…",
"server": "服务器",
"server_addr": "入口地址",
"server_addr_port": "服务器地址:端口",
"tags": "标签",
"tags_placeholder": "输入后回车添加",
"updated": "更新成功"
}
+102
View File
@@ -0,0 +1,102 @@
{
"cancel": "取消",
"city": "城市",
"config": {
"title": "节点配置",
"description": "管理节点通信密钥、拉取/推送间隔与动态倍率。",
"saveSuccess": "保存成功",
"communicationKey": "通信密钥",
"inputPlaceholder": "请输入",
"communicationKeyDescription": "用于节点鉴权。",
"nodePullInterval": "节点拉取间隔",
"nodePullIntervalDescription": "节点拉取配置的频率(秒)。",
"nodePushInterval": "节点推送间隔",
"nodePushIntervalDescription": "节点上报状态的频率(秒)。",
"dynamicMultiplier": "动态倍率",
"dynamicMultiplierDescription": "按时间段设置倍率,用于调节流量或计费。",
"startTime": "开始时间",
"endTime": "结束时间",
"multiplier": "倍率",
"reset": "重置",
"save": "保存",
"timeSlot": "时间段",
"actions": {
"cancel": "取消",
"save": "保存"
}
},
"confirm": "确认",
"confirmDeleteDesc": "该操作不可撤销。",
"confirmDeleteTitle": "确认删除该服务器?",
"congestion_controller": "拥塞控制",
"copied": "已复制",
"copy": "复制",
"country": "国家",
"cpu": "CPU",
"create": "新建",
"created": "创建成功",
"delete": "删除",
"deleted": "删除成功",
"disable_sni": "禁用 SNI",
"disk": "磁盘",
"drawerCreateTitle": "新建服务器",
"drawerEditTitle": "编辑服务器",
"edit": "编辑",
"enabled": "启用",
"encryption_method": "加密方式",
"expireTime": "到期时间",
"expired": "已过期",
"flow": "流控",
"hop_interval": "跳端口间隔",
"hop_ports": "跳端口",
"hop_ports_placeholder": "例如 443,8443,10443",
"host": "Host",
"id": "编号",
"ipAddresses": "IP 地址",
"memory": "内存",
"name": "名称",
"noData": "暂无数据",
"notAvailable": "—",
"obfs_password": "混淆密码",
"obfs_password_placeholder": "输入混淆密码",
"offline": "离线",
"online": "在线",
"onlineUsers": "在线人数",
"pageTitle": "服务器",
"path": "路径",
"please_select": "请选择",
"port": "端口",
"port_placeholder": "输入端口",
"protocols": "协议",
"reduce_rtt": "降低 RTT",
"security_allow_insecure": "允许不安全",
"security_fingerprint": "指纹",
"security_private_key": "Reality 私钥",
"security_private_key_placeholder": "输入私钥",
"security_public_key": "Reality 公钥",
"security_public_key_placeholder": "输入公钥",
"security_server_address": "Reality 回源地址",
"security_server_address_placeholder": "如 1.2.3.4 或域名",
"security_server_port": "Reality 回源端口",
"security_server_port_placeholder": "输入端口",
"security_short_id": "Reality Short ID",
"security_short_id_placeholder": "16 位内十六进制",
"security_sni": "SNI",
"security_title": "安全",
"select_encryption_method": "选择加密方式",
"serverAddress": "服务器",
"server_addr": "服务器地址",
"server_key": "服务器密钥",
"service_name": "服务名",
"status": "状态",
"subscribeId": "订阅 ID",
"subscription": "订阅",
"traffic": "流量",
"transport_title": "传输方式",
"udp_relay_mode": "UDP 转发模式",
"unitSecondsShort": "秒",
"unlimited": "不限",
"updated": "更新成功",
"user": "用户",
"validation_failed": "校验失败,请检查表单。"
}