alireza0:s-ui 修复流量重置未记为变更导致面板不刷新,重置后客户端状态会自行更新
alireza0 回复「订阅流量重置后用户状态没有变回已启用」:周期性重置其实已经重新启用了客户端,但这次重置没有被记为一次变更,面板因此不刷新,一直显示为已禁用,直到手动刷新页面。已修复:重置会被记录,面板会自行更新,将在下个版本包含。关于报告者提出的「用完流量后限制而不是禁用」建议,作者说明用尽流量的客户端会被禁用以便内核停止为其服务,下一次重置会重新启用,结果相同。
X-UI 与 S-UI 核心维护者
共 25 条动态,按原始发布时间排列。
查看人物介绍alireza0 回复「订阅流量重置后用户状态没有变回已启用」:周期性重置其实已经重新启用了客户端,但这次重置没有被记为一次变更,面板因此不刷新,一直显示为已禁用,直到手动刷新页面。已修复:重置会被记录,面板会自行更新,将在下个版本包含。关于报告者提出的「用完流量后限制而不是禁用」建议,作者说明用尽流量的客户端会被禁用以便内核停止为其服务,下一次重置会重新启用,结果相同。
针对「面板 1.12.0 起不再提供 Xray 版本切换、只剩 26.7.28」的反馈,说明该限制指的是当前版本所支持的最低版本;新版本将在发布后提供。
针对日志中的两条告警:gRPC 警告来自 Xray 而非 x-ui,表示某个入站使用了 grpc 传输、Xray 现在建议改用 XHTTP,这是警告不是错误、功能未损坏,把该入站传输切换为 XHTTP 并更新客户端即可消除;另一条 Clash 路由消息在本项目中找不到对应功能,询问是否使用了修改版 x-ui 或额外工具,并请提供 x-ui 版本与完整日志(去掉 IP 等敏感信息)。
针对面板设置问题:Telegram 定时提醒使用标准 5 段 crontab(如 0 9 * * *)此前被静默拒绝、收不到通知,属缺陷、已修复并将随下个版本发布,保存设置时也会拒绝无效值;面板时区设置只影响面板自身的定时任务,容器时钟来自 TZ 变量(默认 Asia/Tehran),可在 docker-compose.yml 中设置 TZ: Asia/Shanghai 更改。
针对 x-ui 1.12.0 + Docker 下反复出现的「refresh online users failed: unknown method GetUsersStats」警告:说明它表示实际运行的 Xray 二进制不支持 GetUsersStats 调用(尽管日志显示 26.7.28),而 x-ui 1.12.0 需要该调用才能显示在线用户。建议检查容器内 xray 版本输出、是否用挂载卷里的自有 xray 覆盖了内置二进制、镜像是否真的更新过,备份后通过面板重置 x…(节选)
针对「能否让 dokodemo-door 通过 sockopt 发送 Proxy Protocol」的提问:该能力由 Xray-core 处理、x-ui 仅透传配置,dokodemo-door 只能接收 Proxy Protocol 而不能发送。替代做法是——在转发到真实入站的出站上使用 freedom 并把 proxyProtocol 设为 1 或 2,在真实入站上开启 acceptProxyProtocol,这样真实入站就能看到原始客户端 IP。若希望 dokodemo-…(节选)
在 s-ui issue #1281(外部 IPv6 节点在 Clash/Mihomo 订阅格式下缺失或不可用)中,alireza0 测试该链接后确认 S-UI 能解析,且节点已出现在生成的 Clash YAML(type: ss、cipher: 2022-blake3-aes-256-gcm、server: jpv6.example.com)。他判断原因很可能是 DNS:该服务器名只有 AAAA 记录,而 S-UI 默认 Clash 配置设置 dns: ipv6: fals…(节选)
针对「外部订阅中的 IPv6 节点在 Clash/Mihomo 格式下缺失或无效」,alireza0 说明在链接格式下外部订阅的行会原样透传;转成 Clash/Mihomo 时每一行都要解析并转换,解析不了的行会被跳过且没有任何提示,所以这些 IPv6 节点很可能是解析器尚未支持的格式。作者请反馈方提供一条缺失的 IPv6 原始行(地址与凭据打码、保留格式)并说明协议(vless、ss、trojan 等)。
在「api: restructure API v2 routes, add token management and e2e tests」PR 中,alireza0 表示重构 API v2 路由会改变既有集成依赖的公开 API,其中一些即使保留旧路由也会破坏(例如 `GET /apiv2/config`、改为 401、未知 action 返回 404),这类改动应放到下个大版本,因此关闭该 PR。另外允许 API 令牌创建新令牌(包括永久令牌)会让短期或泄露的令牌取得长期访问…(节选)
针对「实时连接中断开连接的功能」,alireza0 跟进说明:「断开连接」现在会关闭 QUIC 会话(Hysteria、Hysteria2、TUIC),而不是暂停它们,客户端会立即重连。该改动将随下个版本发布。
针对「因流量配额被禁用的客户端在全局流量重置后无法重连」,alireza0 说明已修复:全局重置不再重启内核,被重新启用的用户就地更新、可立即连接;对 QUIC 协议(Hysteria、Hysteria2、TUIC),此前任何内核重启都会让客户端在旧会话上等待约 30 秒,现在服务端会正确关闭其会话,客户端可立刻重连。该修复将随下个版本发布。
针对「Usage Sort」,alireza0 说明已修复:流量列现在按已消耗流量排序,而不是按分配配额,因此在所有客户端都不限量时也能正常工作。该修复将随下个版本发布。
针对「手机上无法调整规则顺序」,alireza0 说明多数移动浏览器不会从触摸开始拖放,因此每条规则卡片(路由与 DNS)现在都有上移/下移按钮,桌面端同样可用。该改动将随下个版本发布。
在 s-ui「多节点管理」功能请求(已关闭)中,alireza0 称这是面向商业用途的需求,实现它会让面板失去简洁性、对个人使用更重;该功能已列在捐赠清单 donate.alireza0.dev 上,从清单看没有人对它感兴趣。他称商业用途请使用其商业产品 Nexora Panel(nexora-panel.org、github.com/Nexora-VPN/nexora-panel)。
在「Reset All Traffic (cron) not working in v1.6.3」报告中,alireza0 说明原因与修复:定时计划此前只在面板启动时读取,保存新的计划要重启才生效;现在改为保存后立即生效,且无效的 cron 表达式会在保存时被拒绝。他称会包含在下一个版本中。
在「实时连接中断开连接的功能」报告中,alireza0 说明:Hysteria、Hysteria2、TUIC 这类基于 QUIC 的协议无法从服务端关闭会话,所以「断开连接」会把它封禁一段时间;客户端不断重试会让封禁持续最长 10 分钟。现在修复为封禁最多 30 秒后解除、客户端可以重新连接。他称会包含在下一个版本中。
在「Cannot edit source_ip_cidr on DNS rule」报告中,alireza0 说明已修复:选中 source_ip_cidr 后会显示填写 CIDR 列表的输入框,source_ip_is_private 会显示对应的开关。他称会包含在下一个版本中。
在「Add detour option to HTTP Client GUI to fix remote rule-set downloads for sing-box v1.14.0+」请求(已关闭)中,alireza0 说明已修复:HTTP Client 表单现在暴露全部 Dial 选项,包括用 detour 把下载走某个出站;default_http_client 已经在规则页可用。他称会包含在下一个版本中。
在 s-ui PR #1267 下,alireza0 先感谢贡献(该 PR 由 maywind23 于 2026-09-17 提交,标题为 “Codex/Customized Modifications and Links of Surge Snell”,新增 contrib/surge-snell 补丁与脚本、service/surge_snell.go 等文件),随后说明:s-ui 是 Sing-Box 的面板,因此他必须跟随上游 sing-box。该 PR 未被合并,由…(节选)
在答复测速报告时表示已复现并修复:测试被一次性全部发出,面板把每一条当作前一条的重复而取消,因此只有最后一个出口真正被测;逐个测试出口的方式从未受影响,Endpoints 页面的 Test all 同样存在该问题。修复将在下一个版本发布。
在答复关于 Snell 的疑问时表示这不是缺陷:Snell 在 v1.6.0 作为协议加入,但客户端支持从未实现,因此它在 Clients 页面没有位置。现在已完成——Snell 入口可分配给客户端,每个客户端在入口共享 PSK 之外还有自己的 Snell key,JSON 订阅会携带该节点;更新后首次启动时会自动为已有客户端生成 Snell key,无需手工处理。他同时说明 Clash 订阅仍会跳过 Snell 节点,因为 Clash 没有放置每用户 key 的位置,JSO…(节选)
在答复相关报告时表示,复现步骤与关于 Client Authentication 字段的说明让定位变得容易,问题已确认并修复:切换到 'Use Text' 不再关闭 Mutual TLS 选项,分组保持可见、文本字段仍在,之后也可自由切换;清空 Client Authentication 字段也不再让分组折叠。修复将在下一个版本发布。
在答复设置无法保存的报告时表示这是他在 v1.6.1 引入的回归:面板会记录已执行的一次性数据迁移,并把这些记录与设置放在一起;设置页加载时把找到的内容全部提交,而 v1.6.1 增加了更严格的保存校验,这些记录不是设置项,于是保存被拒绝。该问题影响所有 v1.6.1 安装而不只是升级来的,因为即使无需迁移,这些记录也会在首次启动时写入;配置本身未受损,保存在写入前就被拒绝。修复将在下个版本发布——设置页不再接收非设置项,并已补上测试。在此之前可改用不受影响的 API 修改设…(节选)
在答复关于 JSON 订阅模板结构的反馈时表示,该模板不是 sing-box 配置,而是面板用来构建配置的参数对象,因此 rules、rule_set、final、default_domain_resolver 等路由键位于顶层,route 段由面板自行组装;面板表单是按这一扁平结构工作的,若同时接受嵌套 route,表单与保存下来的模板就会不一致。他也不打算在面板里再加一层校验,因为 sing-box check 已经能正确校验且始终与所用 sing-box 版本匹配。他承…(节选)
在关闭一个主题 PR 时说明,该 PR 的全部文件都在 web/html 下,而这一目录在 .gitignore 中,是 frontend 子模块执行 npm run build 的输出,由 Dockerfile 与发布流程复制到位,仓库不跟踪其中任何内容。因此这里没有可审查的源码改动——主题只以压缩后的 bundle 形式存在(单个文件一行就有 25 万字符),无法看出它实际做了什么;即使合并,下一次发布构建也会重新生成 web/html 并全部覆盖。他表示若想改面板外观,…(节选)