7Sageer / sublink-worker

无需服务器,一键部署,快速使用自建节点分享URL进行订阅转换,提供灵活的自定义选项,支持SingBox/Clash/V2Ray/Xray
https://sublink-worker.sageer.me/
MIT License
981 stars 1.79k forks source link

无法解析ShadowSocks的旧式链接 #67

Closed Mr-Grin closed 3 days ago

Mr-Grin commented 3 days ago

转换成singbox链接的时候显示Internal Server Error

清晰简洁地描述 bug

转换成singbox链接的时候显示Internal Server Error,试了worker和这个repo里面的转换链接都不行,但是转换成其他格式可以,比方说xray

7Sageer commented 3 days ago

你好,感谢反馈。但是你没有提供任何有关这个bug的信息,相当于只是告诉我“在转换为sing-box格式时某个地方会报错”。要定位问题和修改几乎是不可能的。

你可以按照issue模板的填写对应信息,这样有助于我们解决问题。

Mr-Grin commented 3 days ago

你好,谢谢你的回答,我是这样操作的:

我使用这个链接进行节点转换:https://sublink-worker.sageer.me/ 首先,输入了我的节点信息:

Screenshot 2024-11-30 at 14 12 37

然后点击转换,会有三个订阅链接生成。在网页中打开Xray Link的时候,会有正常的xray节点显示,但是在打开singbox链接的时候,会显示Internal Server Error:

Screenshot 2024-11-30 at 14 14 44

之后我自己用worker搭建了一个这个转换的网页,还是会出现一样的问题。

不知道是这个项目有点问题还是什么原因,我的订阅链接应该没问题,出来就是一个Base64的文本文件

7Sageer commented 3 days ago

你好,方便的话能否将您的节点信息发送至我的邮箱7Sageer@djwcb.cn? 我可能需要进一步分析程序处理节点信息的过程

7Sageer commented 3 days ago

我了解原因了,问题在于你的shadowsocks链接使用的是旧式的版本,目前sublink-worker不支持这种格式,我会尽快添加对其的支持。

在此之前,你可以: 更新你shadowsocks的链接(例如:将ss节点先导入v2RayN再导出)并重新使用

7Sageer commented 3 days ago

已经解决了,你可以同步最新版本来转换你的链接!

Mr-Grin commented 3 days ago

好的,谢谢!

Mr-Grin commented 1 day ago

你好,这个问题好像还是没有修复,在我使用最新版本(sublink-worker.sageer.me/)来转换链接的时候,得到转换链接之后,使用remote导入singbox并且启动的时候,会出现报错: (packet-tunnel) error: start service: initialize rule-set[3]: initial rule-set: geolocation-!cn: Get "https://raw.githubusercontent.com/lyc8503/sing-box-rules/refs/heads/rule-set-geosite/geosite-geolocation-!cn.srs": name error | initialize rule-set[3]: initial rule-set: cn-ip: Get "https://raw.githubusercontent.com/lyc8503/sing-box-rules/refs/heads/rule-set-geoip/geoip-cn.srs": name error | initialize rule-set[3]: initial rule-set: geolocation-cn: Get "https://raw.githubusercontent.com/lyc8503/sing-box-rules/refs/heads/rule-set-geosite/geosite-geolocation-cn.srs": initialize rule-set[3]: initial rule-set: geolocation-!cn: Get "https://raw.githubusercontent.com/lyc8503/sing-box-rules/refs/heads/rule-set-geosite/geosite-geolocation-!cn.srs": name error | initialize rule-set[3]: initial rule-set: private-ip: Get "https://raw.githubusercontent.com/lyc8503/sing-box-rules/refs/heads/rule-set-geoip/geoip-private.srs": initialize rule-set[3]: initial rule-set: geolocation-!cn: Get "https://raw.githubusercontent.com/lyc8503/sing-box-rules/refs/heads/rule-set-geosite/geosite-geolocation-!cn.srs": name error

7Sageer commented 1 day ago

这个问题似乎在于没办法访问诸如https://raw.githubusercontent.com/lyc8503/sing-box-rules/refs/heads/rule-set-geosite/geosite-geolocation-!cn.srs这类网址,因为在初始化时会先在GitHub上获取规则集

我觉得有可能是你本地网络或者节点配置的问题?

Mr-Grin commented 1 day ago

你好,我试了一下在不开代理的时候可以下载这个网址上的内容https://raw.githubusercontent.com/lyc8503/sing-box-rules/refs/heads/rule-set-geosite/geosite-geolocation-!cn.srs。然后在使用移动网络的时候又试了一下,还是会出现上面那个报错,应该不是本地网络的问题。

我的singbox版本是Version 1.10.3 (290),订阅地址是昨天邮件发的那个。

要不我把配置文件发给你看一下?

7Sageer commented 1 day ago

我大概知道问题了: base64解码你的节点信息,得到了一系列节点url: 其中头两个节点url解析后得到的节点信息:

    {
      "tag": "剩余流量:***",
      "type": "vmess",
      "server": "www.g00gle.com",
      "server_port": 10086,
      "uuid": "***",
      "alter_id": 2,
      "security": "auto",
      "network": "tcp",
      "tcp_fast_open": false,
      "transport": {}
    },
    {
      "tag": "过期时间:***",
      "type": "vmess",
      "server": "www.g00gle.com",
      "server_port": 10086,
      "uuid": "***",
      "alter_id": 2,
      "security": "auto",
      "network": "tcp",
      "tcp_fast_open": false,
      "transport": {}
    },

这两个节点显然是不合法的(使用了域名www.g00gle.com),放在这里仅仅只是作为一个提示信息。

平时如果不使用这两个节点当然不会有问题,但是在首次启动sing-box时,客户端会使用⚡ 自动选择的节点下载规则集。

于是就会有一个测试所有连接连接延迟的过程,这个时候这里提供了两个无法解析的域名,导致客户端直接报错无法继续运行。

所以你的节点信息在这里是有问题的(这里可能是为了适配V2Ray体系的提示),建议你可以给你的节点提供商反馈一下。

短期的解决方案就是直接去除这两个“问题节点”,我测试了一下,去除后就可以正常运行了。

我会将base64编码的去除后的版本使用邮箱发给你