因为换机场需要给 Clash 加 VLESS 支持,折腾了一下用重写一切的 Rust 重写了 subconverter 。

过程中试了用 AI (Cursor) 辅助 C++ 转 Rust ,感觉不太行,生成的代码错误不少,还是要自己动手改。感觉 AI 对 Rust 这种 native 语言的帮助远不如 JS/Web ,效率差距可能更大了。

看原版 C++ 代码时,发现里面功能巨多,很多我根本没用过,感觉不完全是写来自用的,有点像给机场用的,但又很全能,要完全测试都很复杂。

最大的疑惑是,为啥这套功能要做成 Web API 而不是 CLI ?转换订阅文件这种事,感觉 CLI 更自然。 结果就是,为了兼容这些功能,项目比我一开始只想加个 VLESS 时搞得复杂多了。

目前自用中,核心接口/sub 对齐功能了。

GitHub: https://github.com/lonelam/subconverter-rs

欢迎老哥们试用、吐槽。

举报· 826 次点击
登录 注册 站外分享
7 条回复  
joh 小成 5 天前
这套做成 Web API 是为了机场使用方便更新订阅吧。
tokuwaka 初学 5 天前
有 demo 可以看看吗
tinytoadd 小成 5 天前
感谢 op 的工作。感觉可以把 lib 编成 wasm ,然后写一个静态页面挂着。这样比原版 subconverter 更容易自建一点。
laizenan 楼主 小成 5 天前
@tinytoadd 这个听起来不错,我试试看
oneisall8955 小成 5 天前
Rust 重写万物 https://i.imgur.com/xr1UOz1.png https://i.imgur.com/xr1UOz1.png https://i.imgur.com/xr1UOz1.png ,马上尝试
oneisall8955 小成 5 天前
@tinytoadd #3 这样可以挂在 cloudflare 里面,灰常不错的想法
w568w 小成 4 天前
> 最大的疑惑是,为啥这套功能要做成 Web API 而不是 CLI ?转换订阅文件这种事,感觉 CLI 更自然。 因为大部分代理前端 App ( Mihomo party 、FlClash )都只支持设置一个订阅 URL ,如果要做转换,自然也应该提供一个 URL 。 > 感觉可以把 lib 编成 wasm ,然后写一个静态页面挂着 > 这样可以挂在 cloudflare 里面 @tinytoadd @oneisall8955 原版有后端需要部署,主要是为了解决跨域问题吧。这种需求应该没法纯前端来做的。 至于部署 cloudflare worker/pages 的,这种项目也有了: https://github.com/jwyGithub/sub-convert
返回顶部