-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
更改vmess情况下tcp中http伪装无法转换为Clash的问题 #544
Conversation
add tcp -> http fake type
delete non-exist net type http
make typeof tcp to http
你好,大佬,没彻底修复,经测试,转换后没有读取到 原始 URL 里面的字段和值 "headerhost": "tms.dingtalk.com" 而预期之外的实际转换结果是,把 add 字段的值 赋予到了 (headers: {Host: [www.example.com]}}), |
具体可以参考这个,vmess分享链接没有官方的统一格式。 V2RayN 格式、ShadowRocket 格式、Quantumult 格式各成一套体系。 |
这里已经适配到v2rayN的vmess2的标准 |
感谢回复,是的,我刚才反复对比了不同客户端导出时的原始 vmess base64 解码后的信息,真的是太乱了 机场链接带了 headerhost 字段 和值,值与 add 的值不一致,在 v2rayNG 安卓版能使用,我把它从 v2rayNG 复制出来 URL,解码 base64 ,发现v2rayNG 直接丢弃 headerhost 字段和值的信息,导出完整配置,发现它用 Host 代替 headerhost,并将其设置为 空值 “” 在 clash 上面,clash 2023.05.19 核心上面,如果将机场的 headerhost 字段的值设置为空,或者是它里面的值,也可以连接 |
也就是 headerhost 那个字段是机场自定义的,我看了下 clash 核心的文档,header 头里面的字段和值好像是可以自定义的
越看越凌乱,这完全是没有一个统一标准,不过就这个来说,如果是自定义的部分属性,直接丢弃设置为空,机场服务端接受空值,这个兼容设计估计也是考虑到这乱七八糟的不同客户端实现最终效果的问题 那个免流机场是使用 v2board 面板,以前测试了几个也是,我抽空去看看机场面板端导出的原始 vmess base64 编码前所使用的字段 怎么感觉坑越来越多了 之前我拿你的这个pr搭了个后端 https://suc.0z.gs,我晚会看看能不能改一下,丢弃该字段的内容,设置为空,或者赋值,没学过 cpp,依葫芦画瓢试试 thx |
改这块还算挺简单的。 可以试试ClashMeta的subconverter |
多谢,我也打算摆烂换 meta 后端了,这种局面看起来出现很久了,没有一个稍微大的社区/团队来强制实施的制定一个严格的最低标准哎,各自为战,这次测试时,与去年完全一样,没任何改善, v2board 这些大的项目服务端,与主流客户端也没做到较好的兼容,虽然基本兼容是肯定有的 也可能是我机场使用的非主流参数和配置造成兼容性的鸿沟,免流机场本来就小众,太难了太难了 非常感谢推荐了这个后端项目,我从来不知道,感觉第三方魔改后端可能也是基于这个项目的,比如肥羊、品云订阅转换 |
这个是机场服务端下发的原始 vmess 信息,与你发的那个 vmess2 标准比,真的是自己弄自己的,完全没想过按标准来 { |
没啥办法,服务端官方也定不了一个调子,只能按自己的需求驱动了。 |
#536
本功能应该已经实现,但是判断的分支为net类型,然而不存在net类型为http的情况,将http伪装分支并入tcp内。