tindy2013 / subconverter

Utility to convert between various subscription format
GNU General Public License v3.0
13.22k stars 2.83k forks source link

0.9.0版本的clash订阅链接转换出现400错误 #740

Open hudingwen opened 7 months ago

hudingwen commented 7 months ago

确认版本最新

检索issue

subconverter版本

0.9.0

转换过程

https://转换地址/sub?target=clash&insert=false&url=普通订阅链接

转换设置

普通订阅链接的内容每行都是节点,然后整体返回base64编码到sub进行转换

复现步骤

0.8.1同样链接不会出现400的http代码

期望结果

dns: enable: true ipv6: true enhanced-mode: fake-ip fake-ip-filter:

实际结果

400

错误信息

400网页代码错误
leic4u commented 7 months ago

不是 clash 订阅的问题,我转换成其他格式也是报 400,感觉是发行版的问题。我是用的 docker 部署,镜像是 tindy2013/subconverter

不知道是不是这个版本加了什么新的请求参数没填导致的。

tindy2013 commented 7 months ago

请确认链接中的 url 是否已通过 URL Encode 处理,从该版本开始若请求 path 中带有多个 ? 时,新的 HTTP 服务器将提示错误

hudingwen commented 7 months ago

感觉可以做一下兼容处理呢 下发的地址都是这样的,普通订阅链接中只有一个? https://转换地址/sub?target=clash&insert=false&url=https://普通订阅地址/api/clash?id=123123

leic4u commented 7 months ago

破案了,URL Encode 之后可以正常转换了。

hudingwen commented 7 months ago

主要是下发给用户的地址不好通知挨个修改 不然一旦更新最新版本他们就拉去不到最新的了 9BEA0E5A

hudingwen commented 7 months ago

image 应该是改这儿吧 只是C++有点看不懂 9BF853FA