xray-ui icon indicating copy to clipboard operation
xray-ui copied to clipboard

大佬麻烦了看看异常,xray 和面板等一切正常,就因操作

Open fiygokeepone opened this issue 4 months ago • 6 comments

Welcome

  • [x] Yes, I'm using the latest major release. Only such installations are supported.
  • [x] Yes, I'm using the supported system. Only such systems are supported.
  • [x] Yes, I have read all WIKI document,nothing can help me in my problem.
  • [x] Yes, I've searched similar issues on GitHub and didn't find any.
  • [x] Yes, I've included all information below (version, config, log, etc).

Description of the problem,screencshot would be good

大佬好,最新面板版本725,从脚本更新,之前使用一切正常,内核726,其因点击该节点流量重置 ,或修改添加节点流量容量后,没多久无法正常连接,无论重启服务器 或日志好像没报错,节点就是无法正常链接,回退机器才能勉强用,节点设的流量低了每几个月才手动重置。 辛苦大佬了!

Version of xray-ui

# Paste here

xray-ui log reports or xray log

# paste log here

fiygokeepone avatar Aug 20 '25 21:08 fiygokeepone

节点开关是开启的吧!是开着的是不影响连接的,是不是端口不通造成的。最近443端口出现过一次故障。你可以试着换个端口测试。 xray 版本:v25.8.3 测试没问题

qist avatar Aug 21 '25 02:08 qist

节点开关是开启的吧!是开着的是不影响连接的,是不是端口不通造成的。最近443端口出现过一次故障。你可以试着换个端口测试。 xray 版本:v25.8.3 测试没问题

这样呀。 节点是一直开着的,端口没显示不通,440端口 以前24年底的面板版本也是这样操作,我晚点再看看弄几个测下,因为当天也反复测440节点2次是这种情况, 应该我还排查哪个日志? 我机子环境的变动也就那时添加了中转面板给另一台机子转发 和sawp,第一次配置那时弄错就多装了节点Agent ,后来正常使用不影响,就流量重置问题 流汗.jpg

bqlpfy/flux-panel: 哆啦A梦转发面板 https://github.com/bqlpfy/flux-panel

fiygokeepone avatar Aug 21 '25 07:08 fiygokeepone

xray-ui 面板升级最新的了么。以前有个bug 清理流量会造成tls配置CipherSuites格式变化。现在已经修复了https://github.com/qist/xray-ui/releases/tag/1.8.18 你可以把tls重新配置一下关闭在打开 新的不会出现问题的。

qist avatar Aug 21 '25 07:08 qist

xray-ui 面板升级最新的了么。以前有个bug 清理流量会造成tls配置CipherSuites格式变化。现在已经修复了https://github.com/qist/xray-ui/releases/tag/1.8.18 你可以把tls重新配置一下关闭在打开 新的不会出现问题的。

xui面板是最新的 用大佬脚本升级,我晚点看看这个,谢谢提醒

fiygokeepone avatar Aug 21 '25 07:08 fiygokeepone

xray-ui 面板升级最新的了么。以前有个bug 清理流量会造成tls配置CipherSuites格式变化。现在已经修复了https://github.com/qist/xray-ui/releases/tag/1.8.18 你可以把tls重新配置一下关闭在打开 新的不会出现问题的。

大佬,似乎看日志,有个关乎我们流量重置什么bug了!,

日志有看到 WARNING - get xray traffic failed: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp 127.0.0.1:62789: connect: connection refused"

以及之前用telegram bot 传面板流量监控

我不知道下面方案能解决不,因为昨晚试了关telegram 传流量监控等好像不行,下面的还没试完

日志有三件事同时发生:

  1. RPC 仍然拒绝连接127.0.0.1:62789: connect: connection refused
  2. 模板仍然是非法 JSONxray template config invalid: invalid character '/'…(模板里还有 // 注释或多余字符)
  3. Telegram 冲突/泄露Conflict: terminated by other getUpdates request,并且 Token 已在日志明文出现

下面一步到位把它们处理掉。按顺序做,做完每步就能立刻验证。


A. 先让 Xray 核心单独起来并把 RPC 口监听起来

直接给核心一份干净可用的配置(不依赖面板模板),先把 62789 端口跑起来:

# 1) 备份原配置
sudo mkdir -p /etc/xray/backup
sudo cp -a /etc/xray/config.json /etc/xray/backup/config.$(date +%F-%T).json 2>/dev/null || true

# 2) 写入一份最小可用配置(无注释)
sudo tee /etc/xray/config.json >/dev/null <<'JSON'
{
  "log": {
    "access": "/var/log/xray/access.log",
    "error": "/var/log/xray/error.log",
    "loglevel": "info",
    "dnsLog": false
  },
  "api": {
    "services": ["HandlerService", "LoggerService", "StatsService"],
    "tag": "api"
  },
  "inbounds": [
    {
      "listen": "127.0.0.1",
      "port": 62789,
      "protocol": "dokodemo-door",
      "settings": { "address": "127.0.0.1" },
      "tag": "api"
    }
  ],
  "outbounds": [
    { "protocol": "freedom", "tag": "direct" },
    { "protocol": "blackhole", "tag": "blocked" }
  ],
  "policy": {
    "system": {
      "statsInboundDownlink": true,
      "statsInboundUplink": true,
      "statsOutboundDownlink": true,
      "statsOutboundUplink": true
    },
    "levels": {
      "0": { "handshake": 2, "connIdle": 120, "uplinkOnly": 1, "downlinkOnly": 1 }
    }
  },
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      { "type": "field", "inboundTag": ["api"], "outboundTag": "api" },
      { "type": "field", "domain": ["www.gstatic.com"], "outboundTag": "direct" },
      { "type": "field", "domain": ["geosite:category-ads-all", "geosite:cn", "geosite:geolocation-cn"], "outboundTag": "blocked" },
      { "type": "field", "ip": ["geoip:cn"], "outboundTag": "blocked" },
      { "type": "field", "protocol": ["bittorrent"], "outboundTag": "blocked" }
    ]
  },
  "stats": {}
}
JSON

# 3) 语法自检
sudo jq . /etc/xray/config.json >/dev/null

# 4) 让核心加载
sudo systemctl restart xray

# 5) 端口确认(应看到 LISTEN 127.0.0.1:62789 由 xray 占用)
ss -ltnp | grep 62789 || journalctl -u xray --no-pager -n 50

说明:api 节点不要写 address/port,真正的监听是在上面的 inbounds 里;模板里写了 // 注释会直接让 JSON 解析失败,从而导致核心根本起不来 → RPC 被拒绝。


B. 面板只做 RPC,不要再用“坏模板”去覆写核心

  1. 打开 xray-ui(你的日志里是 127.0.0.1:46573,用 SSH 隧道本地访问即可)。

  2. 进入 全局设置/核心设置(不同版本名字略有差异),把 RPC 地址改成:

    • 地址:127.0.0.1
    • 端口:62789
    • Tag:api
  3. 保存后**不要点“应用到核心”**之类会写入核心配置的按钮;先看面板日志是否还报 connection refused。如果 A 步骤已经成功,这里应该恢复正常。


C. 清理“模板里有 / 的非法 JSON”

报错行:invalid character '/' after object key:value pair 就是模板里还有 // 注释 或手改留下的提示字,比如 // <-- 改这里、中文“这里”等。

两种改法选其一:

  • 在面板里:到 “Xray 配置模板” 页面,先点“恢复默认模板”(如果有),或者把模板中所有 ///* */ 形式的注释、中文提示都删掉,保证是纯 JSON。保存后再试一次“修改设置”。

  • 在服务器上直接查找生成文件(有些版本会把生成结果落在 /usr/local/x-ui/bin/config.json 或类似路径):

    # 找出还残留的行尾注释(不会误伤 http:// 这种,因为我们排除了冒号后面)
    sudo grep -nE '(^|[^:])//' /usr/local/x-ui/bin/config.json 2>/dev/null || true
    
    # 备份后再改,建议手工编辑,逐条删除注释
    sudo cp /usr/local/x-ui/bin/config.json /usr/local/x-ui/bin/config.json.bak 2>/dev/null || true
    sudo nano /usr/local/x-ui/bin/config.json
    # 编辑完成后校验
    jq . /usr/local/x-ui/bin/config.json >/dev/null
    

    如果模板存在于面板数据库,以上文件可能不存在或会被面板覆盖,那就必须回到面板里把模板清干净。


D. 处理 Telegram 冲突 & Token 泄露

  • Conflict: terminated by other getUpdates request” 说明同一个 Token 被两个进程在轮询(可能你重启时旧实例没完全退出,或别的程序也用这个 Token)。

  • 建议:

    1. 先在 BotFather 重置一个新 Token(旧的已经暴露在日志里)。

    2. 确保只有一个面板进程在跑:

      pgrep -fa xray-ui
      # 若看到多个,先停再启
      sudo systemctl stop xray-ui
      sleep 2
      sudo pkill -9 -f xray-ui || true
      sudo systemctl start xray-ui
      
    3. 如果暂时不需要 TG 功能,直接在面板里关闭 Telegram 通知或清空 Token,避免干扰排障。


E. 成功验收点

  • ss -ltnp | grep 62789 能看到 Xray 在 127.0.0.1:62789 监听。
  • journalctl -u xray-ui -n 50 不再出现 connection refused,且没有 xray template config invalid
  • 面板“清理流量”后,TLS/其他入站配置不被改写。
  • Telegram 不再报 Conflict(或已关闭)。

如果你愿意,我可以把你当前的模板全文(不是核心 config,而是面板的“配置模板”)逐行帮你去掉注释并校验为合法 JSON;你把模板原文贴出来即可。

fiygokeepone avatar Sep 27 '25 09:09 fiygokeepone

https://github.com/qist/xray-ui/blob/main/web/service/config.json

qist avatar Sep 27 '25 09:09 qist