个人项目更新:自用订阅转换功能增强
个人项目更新:自用订阅转换功能增强
项目背景:
该项目旨在解决个人对于Clash配置文件的需求,包括多机场节点合并、远程规则集展开、配置文件后处理等功能。项目旨在提供一个一站式解决方案,无需依赖本地工具,简化配置管理流程。
技术架构:
项目采用Golang作为主要开发语言,通过goja引擎执行JavaScript代码,实现配置文件的转换逻辑。Go负责订阅拉取、Header透传、远程规则集并发下载、SQLite缓存等功能,而JS负责定义规则集列表、配置文件后处理等。
主要特性:
- 配置灵活:转换逻辑由JS脚本定义,可随时修改无需重新部署。
- 多订阅合并:支持合并多个机场的节点,自动生成“Sub Info”节点组显示各订阅用量。
- 流量统计:自动解析和合并订阅流量信息,透传“Subscription-Userinfo”响应头。
- 规则缓存:规则集和模板文件自动缓存到SQLite,减少网络请求。
- Web UI:提供前端界面快速生成订阅链接,配置持久化到浏览器。
- Docker部署:支持预构建镜像,一键启动。
开源信息:
项目代码已经开源,并提供了完善的README文档。项目地址为:GitHub - etnAtker/clash-converter。
项目作者表示,虽然这是第一次使用Golang进行开发,但已经成功部署在服务器上,并完全替代了subconverter和clash-verge内置的覆写功能。项目作者希望得到大家的批评指正,以进一步改进项目。
评论已关闭