feat: add AnyTLS support and improve system functionality

- Add AnyTLS protocol support
- Add system logs viewing in admin panel
- Refactor client subscription delivery code
- Refactor hook mechanism
- Add plugin support for Shadowsocks protocol
- Add CSV export option for batch user creation
- Fix mobile admin login page width display issue
This commit is contained in:
xboard
2025-05-22 17:58:22 +08:00
parent 2580475f78
commit fc5a957ddd
35 changed files with 1586 additions and 640 deletions
+48 -9
View File
@@ -1028,7 +1028,19 @@ window.XBOARD_TRANSLATIONS['zh-CN'] = {
"result": "结果",
"duration": "耗时",
"attempts": "重试次数",
"nextRetry": "下次重试"
"nextRetry": "下次重试",
"failedJobsDetailTitle": "失败任务详情",
"viewFailedJobs": "查看报错详情",
"jobDetailTitle": "任务详细信息",
"time": "时间",
"queue": "队列",
"name": "任务名称",
"exception": "异常信息",
"noFailedJobs": "暂无失败任务",
"connection": "连接类型",
"payload": "任务数据",
"viewDetail": "查看详情",
"action": "操作"
},
"actions": {
"retry": "重试",
@@ -1039,6 +1051,27 @@ window.XBOARD_TRANSLATIONS['zh-CN'] = {
"empty": "队列中暂无作业",
"loading": "正在加载队列状态...",
"error": "加载队列状态失败"
},
"systemLog": {
"title": "系统日志",
"description": "查看系统运行日志记录",
"viewAll": "查看全部",
"level": "级别",
"time": "时间",
"message": "消息",
"action": "操作",
"context": "上下文",
"search": "搜索日志内容...",
"noLogs": "暂无日志记录",
"noSearchResults": "没有匹配的日志记录",
"detailTitle": "日志详情",
"viewDetail": "查看详情",
"totalLogs": "总日志数:{{count}}"
},
"common": {
"refresh": "刷新",
"close": "关闭",
"pagination": "第 {{current}}/{{total}} 页,共 {{count}} 条"
}
},
"route": {
@@ -1523,7 +1556,9 @@ window.XBOARD_TRANSLATIONS['zh-CN'] = {
},
"rate": {
"label": "倍率",
"error": "请输入有效的倍率"
"error": "倍率不能为空",
"error_numeric": "费率必须是数字",
"error_gte_zero": "费率必须大于或等于0"
},
"code": {
"label": "自定义节点ID",
@@ -1542,21 +1577,24 @@ window.XBOARD_TRANSLATIONS['zh-CN'] = {
},
"host": {
"label": "节点地址",
"placeholder": "请输入节点域名或者IP"
"placeholder": "请输入节点域名或者IP",
"error": "节点地址不能为空"
},
"port": {
"label": "连接端口",
"placeholder": "用户连接端口",
"tooltip": "用户实际连接使用的端口,这是客户端配置中需要填写的端口号。如果使用了中转或隧道,这个端口可能与服务器实际监听的端口不同。",
"sync": "同步到服务端口"
"tooltip": "用户实际连接使用的端口号。如果使用了中转或隧道,这个端口可能与服务器实际监听的端口不同。",
"sync": "同步到服务端口",
"error": "连接端口不能为空"
},
"server_port": {
"label": "服务端口",
"placeholder": "服务端开放端口",
"tooltip": "服务器实际监听的端口,这是在服务器上开放的真实端口。如果使用了中转或隧道,这个端口可能与用户连接端口不同。"
"placeholder": "请输入服务端口",
"error": "服务端口不能为空",
"tooltip": "服务器上的实际监听端口。"
},
"parent": {
"label": "父节点",
"label": "父节点",
"placeholder": "选择父节点",
"none": "无"
},
@@ -1970,7 +2008,8 @@ window.XBOARD_TRANSLATIONS['zh-CN'] = {
"generate_count_placeholder": "如果为批量生产请输入生成数量",
"cancel": "取消",
"submit": "生成",
"success": "生成成功"
"success": "生成成功",
"download_csv": "导出为 CSV 文件"
}
},
"edit": {