tindy2013 / subconverter

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

[Feature] 能否支持 mihomo 内核格式转换 #750

Open leic4u opened 7 months ago

leic4u commented 7 months ago

verify

功能描述

2 年前有 issue 已经请求了 mihomo(Clash.meta) 内核的支持(参见 #522),当时的情况是 Clash 还在继续维护,mihomo 内核属于是对 Clash 内核进行补充的第三方内核。

目前 Subconverter 支持 Clash 及 ClashR 内核的配置文件格式,其中 ClashR 内核支持了 SSR 协议,但在 Clash 内核官方支持 SSR 协议之后,ClashR 内核也就没有再继续更新了。

但随着去年 Clash 的删库,目前仍在继续维护的仅剩 mihomo 内核。

mihomo 内核目前支持部分原 Clash 内核暂未支持的协议。包括:

其实还有一些如 nameserver-policy域名嗅探 等其他 mihomo 内核的独有特性,但这部分不会直接影响 mihomo 内核的使用。

整体 mihomo 内核的配置文件格式支持与否,请开发者们酌情考虑。

无论支持与否,都感谢各位项目贡献者的辛苦维护。❤️

可能的解决方案

No response

fuwuqi298 commented 4 months ago

+1

Raytheon-S commented 4 months ago

+1

lonelam commented 2 months ago

这里格式很乱不太好加,这么多协议主要是用在什么场景呢?我自己需要用hysteria 2 所以fork了一份把hysteria 2 加上了,已提PR但是目前没合入:https://github.com/lonelam/subconverter

yixiuge301 commented 2 months ago

直接用 script 就好了,都不用订阅转换了,clash-verge-rev 直接粘进去就行。

leic4u commented 2 months ago

直接用 script 就好了,都不用订阅转换了,clash-verge-rev 直接粘进去就行。

你是指用对应协议的 URI 链接吗,我现在就在用这个方法。但这个方法会丢节点参数,有些 URI 上的参数 mihomo 无法直接识别。

yixiuge301 commented 2 months ago

直接用 script 就好了,都不用订阅转换了,clash-verge-rev 直接粘进去就行。

你是指用对应协议的 URI 链接吗,我现在就在用这个方法。但这个方法会丢节点参数,有些 URI 上的参数 mihomo 无法直接识别。

软件用 clash-verge-rev,应用拓展填入 script。你去试试就知道了,很好用。

leic4u commented 2 months ago

直接用 script 就好了,都不用订阅转换了,clash-verge-rev 直接粘进去就行。

你是指用对应协议的 URI 链接吗,我现在就在用这个方法。但这个方法会丢节点参数,有些 URI 上的参数 mihomo 无法直接识别。

软件用 clash-verge-rev,应用拓展填入 script。你去试试就知道了,很好用。

没用的,会丢参数。你自建个参数多些的节点试试就知道了。

yixiuge301 commented 2 months ago

直接用 script 就好了,都不用订阅转换了,clash-verge-rev 直接粘进去就行。

你是指用对应协议的 URI 链接吗,我现在就在用这个方法。但这个方法会丢节点参数,有些 URI 上的参数 mihomo 无法直接识别。

软件用 clash-verge-rev,应用拓展填入 script。你去试试就知道了,很好用。

没用的,会丢参数。你自建个参数多些的节点试试就知道了。

指的哪个参数?我没遇到,或者把你的节点参数改一下发出来(连接地址、密码、端口改一下),我试试。

像这样

vmess://eyJhZGQiOiJ3d3cuZ29vZ2xlLmNvbSIsInYiOjIsInBzIjoi5pel5pysQkdQIiwicG9ydCI6NTUzMTIsImlkIjoiODFmMTEzODYtNzE0Yi00ZjM5LTg1ZmYtZGFlZWU3YjcxZmE0IiwiYWlkIjowLCJzY3kiOiJhdXRvIiwibmV0IjoidGNwIiwidHlwZSI6IiIsInRscyI6IiJ9

- {name: "日本BGP", server: www.google.com, port: 55312, type: vmess, uuid: 81f11386-714b-4f39-85ff-daeee7b71fa4, alterId: 0, cipher: auto, tls: false}
devnakx commented 1 month ago

这里格式很乱不太好加,这么多协议主要是用在什么场景呢?我自己需要用hysteria 2 所以fork了一份把hysteria 2 加上了,已提PR但是目前没合入:https://github.com/lonelam/subconverter

@lonelam 你好,请问你这个hy2支持端口跳跃吗?我稍微看了下源码好像只提供了hy1支持?

lonelam commented 1 month ago

这里格式很乱不太好加,这么多协议主要是用在什么场景呢?我自己需要用hysteria 2 所以fork了一份把hysteria 2 加上了,已提PR但是目前没合入:https://github.com/lonelam/subconverter

@lonelam 你好,请问你这个hy2支持端口跳跃吗?我稍微看了下源码好像只提供了hy1支持?

我查了一下,端口跳跃需要使用10000-20000这样的字段作为端口号,感谢@fengluo2 ,他帮忙加上了ports字段,可以试用一下:https://github.com/lonelam/subconverter/pull/3/files#diff-6bd7fb0d3b9c875bc6220a5b79c8ef5f63b1046d021537a55530125166d915f2

devnakx commented 1 month ago

这里格式很乱不太好加,这么多协议主要是用在什么场景呢?我自己需要用hysteria 2 所以fork了一份把hysteria 2 加上了,已提PR但是目前没合入:https://github.com/lonelam/subconverter

@lonelam 你好,请问你这个hy2支持端口跳跃吗?我稍微看了下源码好像只提供了hy1支持?

查了一下,端口跳跃要求port字段支持20000-30000这样的格式,这在subconverter里面不受支持,可能需要。我自己主要是为了把机场提供的clash for windows格式的hy/hy2协议转换到clash verge支持的mihomo格式,目前我自己用着没问题。

没事了,我自己 clone 了 MetaCubeX/subconverter 参考 https://github.com/MetaCubeX/subconverter/pull/4 在本地改了下可以支持了

devnakx commented 1 month ago

这里格式很乱不太好加,这么多协议主要是用在什么场景呢?我自己需要用hysteria 2 所以fork了一份把hysteria 2 加上了,已提PR但是目前没合入:https://github.com/lonelam/subconverter

@lonelam 你好,请问你这个hy2支持端口跳跃吗?我稍微看了下源码好像只提供了hy1支持?

我查了一下,端口跳跃需要使用10000-20000这样的字段作为端口号,感谢@fengluo2 ,他帮忙加上了ports字段,可以试用一下:https://github.com/lonelam/subconverter/pull/3/files#diff-6bd7fb0d3b9c875bc6220a5b79c8ef5f63b1046d021537a55530125166d915f2

OK,NB

blacksheepaul commented 2 weeks ago

直接用 script 就好了,都不用订阅转换了,clash-verge-rev 直接粘进去就行。

不是所有的客户端都有script