更新记录 + 2022-01-11 编辑文章 + 2023-11-22 更新文章,增加对于URL-TEST参数URL的修改,章节七
需求描述
在本篇文章中,会教会大家配置一个自己的subconverter,订阅地址转换,用自己配置的,也就不用担心自己购买的梯子被无良的人窃取使用了。
时间线
2022-1-11 完成基础配置,基础的订阅转换的讲解,视频地址,
2022-1-15 完成更新,如何自己使用项目源码,进行Linux x86_64平台的编译。
项目地址 https://github.com/tindy2013/subconverter
本篇文章发布的时候是2022-1-11,当前最新的release发布版本是0.7.1
https://github.com/tindy2013/subconverter/releases/tag/v0.7.1
第一章、基础配置,及订阅转换的讲解
// 获取对应平台版本的压缩包,我这里环境是linux x64的,就下载对应版本,不必root用户
user@server:~$ mkdir ./subc
user@server:~$ cd subc
user@server:~$ wget https://github.com/tindy2013/subconverter/releases/download/v0.7.1/subconverter_linux64.tar.gz
user@server:~$ tar -zxvf subconverter_linux64.tar.gz
user@server:~$ cd subconverter
// 常驻后台,启动服务
user@server:~$ nohup ./subconverter &
user@server:~$ ss -tnl | grep 25500
// 能看到25500的端口监听就对了
user@server:~$
// 服务器上,这个正常进程在,就可以了
// 通用的API接口参数格式
http://127.0.0.1:25500/sub?target=%TARGET%&url=%URL%&config=%CONFIG%
// 刚刚的服务端启动好了后,假设102.199.166.159为刚刚搭建subconverter的服务器公网地址,那么,普通地址转换为其他客户端地址,典型示例样例如下
http://102.199.166.159:25500/sub?target=clash&url=机场普通订阅地址的URLEncode后的字符串
http://102.199.166.159:25500/sub?target=surge&ver=4&url=机场普通订阅地址的URLEncode后的字符串
将上面的对应的,添加到对应客户端即可!!
第二章,修改subconverter的监听端口
修改程序目录下的 pref.toml 如果需要修改为本地监听,修改listen,从'0.0.0.0'到'127.0.0.1',设置为本地的目的,主要是方便后续用Nginx之类的给它套HTTPS,连接更安全,你们可以不修改这个。 如果需要修改监听端口,修改port,从25500到你想要设置的端口(端口需要未被占用的) [server] listen = "127.0.0.1" port = 6419 serve_file_root = "web"预留位置,后面讲解
第三章,适配Clash新的内核
在2022-01-02附近,Dreamacro发布的新版的Clash内核,v1.9.0
https://github.com/Dreamacro/clash/releases
新版clash v1.9.0内核的配置文件,格式已有变化,之前全部版本的配置文件,在新版内核的各平台客户端上,已无法正常使用线路。我们也无法直接用subconverter v0.7.1版本进行直接订阅地址转换的适配
使用subconverter适配 clash v1.9.0内核的过程
https://github.com/tindy2013/subconverter/issues/442
查看修改更新的内容:
https://github.com/tindy2013/subconverter/commit/6e3324be50ecd6d7484c38722db572ff288415ef
获取新版clash v1.9.0内核的适配 6e3324be50ecd6d7484c38722db572ff288415ef
https://github.com/tindy2013/subconverter/actions
通过观察作者的修改,其实只需要替换一个文件 src/generator/config/subexport.cpp
https://github.com/tindy2013/subconverter/blob/master/src/generator/config/subexport.cpp
- 可直接从action里下载编译好的版本 by zhongfly
相关链接:https://github.com/tindy2013/subconverter/actions/workflows/build.yml - 可选用原作者提供的docker项目
- 可选自己根据项目源码进行编译
2022-1-15 更新:作者已经将这个改进合并到主线,故而,直接自己下载该项目的全部源码,整体编译一下即可。
自己编译生成对应平台的subconverter程序
# 执行编译的过程,系统OS推荐: Debian 10 / Ubuntu 20.04 # 自己的海外VPS上面编译,可以减少异常 # 我的VPS只有1核心1GB内存,故而,略微修改了编译脚本 apt-get update apt-get install git mkdir -p /root/src cd /root/src git clone https://github.com/tindy2013/subconverter.git sed -i 's/j4/j1/g' /root/src/subconverter/scripts/build.alpine.release.sh sed -i 's/j2/j1/g' /root/src/subconverter/scripts/build.alpine.release.sh docker pull multiarch/alpine:amd64-latest-stable docker run -v /root/src/subconverter:/root/workdir multiarch/alpine:amd64-latest-stable /bin/sh -c "apk add bash git nodejs npm && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
完成编译后,会在该目录下,生成subconverter的目录,打包传输到需要运行subconverter的服务器,运行即可!!!
实在懒的动手的,就等原作者下次正式版本的release更新吧。
第四章,适配TikTok的规则
修改程序目录下的 rules/DivineEngine/Surge/Ruleset/StreamingMedia/Streaming.list 修改TikTok段落就对应的规则可以,如果是其他流媒体,也是类似的操作。 # > TikTok USER-AGENT,TikTok* DOMAIN-SUFFIX,akamaized.net DOMAIN-SUFFIX,app-measurement.com DOMAIN-SUFFIX,appsflyer.com DOMAIN-SUFFIX,byteoversea.com DOMAIN-SUFFIX,googleapis.com DOMAIN-SUFFIX,ibytedtos.com DOMAIN-SUFFIX,ibyteimg.com DOMAIN-SUFFIX,ipstatp.com DOMAIN-SUFFIX,muscdn.com DOMAIN-SUFFIX,musical.ly DOMAIN-SUFFIX,snapkit.com DOMAIN-SUFFIX,tik-tokapi.com DOMAIN-SUFFIX,tiktokcdn.com DOMAIN-SUFFIX,tiktokcdn-us.com DOMAIN-SUFFIX,tiktok.com DOMAIN-SUFFIX,tiktokv.com DOMAIN-KEYWORD,-tiktokcdn-com
第五章,WEB前端搭配
第六章,增加对steam规则的适配 2022-02-18
修改 rules/DivineEngine/Surge/Ruleset/China.list 删除 # > Steam DOMAIN-SUFFIX,steamcontent.com DOMAIN-SUFFIX,steampowered.com DOMAIN-SUFFIX,steamstatic.com 修改 rules/DivineEngine/Surge/Ruleset/StreamingMedia/Streaming.list 增加 # > Steam DOMAIN-SUFFIX,steamcontent.com DOMAIN-SUFFIX,steampowered.com DOMAIN-SUFFIX,steamstatic.com
章节七,增加对URL-TEST参数的修改
近日发现猫咪的URL-TEST不工作了,排查发现,是 http://www.gstatic.com/generate_204 有点问题,如果是这样,那就好办了,无非就是不用谷歌的这个地址呗,直接从外面找一个 http://xx.xx.xx.xx/ 这样的IP:80类似格式,可以通的HTTP/WEB地址,修改到配置文件即可
修改配置文件 ./snippets/groups.toml
< url = "http://23.xx.xx.18/" --- > url = "http://www.gstatic.com/generate_204"
修改完配置文件,直接重启一下subconverter即可。
= = = = = = 分割线 = = = = = =