飘在云端

啊!那蓝真天,白真云!

· 前端 · · 5263次浏览

Subconverter 订阅转换API

API:https://api-sub.0z.gs

前端版本: committed a81f2dd (2022-01-15 23:44)
后端版本: v0.7.2-a24cb7c (committed a24cb7c 2022-04-08 18:11 UTC+8)

境内分流 IP 数据同步 ipip.net 数据源〔ipip.net: https://github.com/17mon/china_ip_list〕,不依赖 GeoIP 数据库


远程配置规则:

  1. 节点 (国外内容分流规则) + Steam (国际版分流规则,包括商店社区网页端+steam下载服务器) + 哔哩哔哩 + 回国 共4个分组;
  2. 广告拦截+隐私保护防止跟踪(可能后期会删除广告拦截提升效率降低误杀增加续航省电);
  3. 节点 分组的分流规则:绕局域网/保留地址,境内直连,境外代理(境内IP段数据来源为ipip.net: https://github.com/17mon/china_ip_list);
  4. 无需 GeoIP 支持,不依赖客户端内置的 GeoIP 数据库,使用精度更高的 ipip.net 的 CN IPv4 CIDR 数据 ;
  5. 强制代理 Google 中国大陆直连域名、必应 bing.com 搜索引擎,强制代理 ipip.net,方便查询代理IP信息
  6. 如需增加规则或反馈异常问题,可以加入 tg 群组:https://t.me/+BoggzaOLcOlmMDE1

简单使用方法:

  • 点击 API 前端 网址进入转换界面
  • 点击 基础模式
  • 订阅链接: 这里输入你的订阅连接
  • 客户端:选择你想转换的客户端
  • 点击网页底部的 生成订阅链接 ,点击 订阅复制 输入框右边的 复制 按钮,把转换后的订阅链接导入到你的客户端使用

更多高级用法见 Github 教程:https://github.com/tindy2013/subconverter/blob/master/README-cn.md


更新日志

  • 2022-4-30 修复 使用境外 IP 访问后端时返回 http 状态码 400 错误
  • 2022-4-14 跟随上游更新至 v0.7.2-a24cb7c 后端 [committed v0.7.2-a24cb7c]
  • 2022-4-5,跟随上游更新至 v0.7.2-ce8d2bd 后端 [committed v0.7.2-ce8d2bd]
  • 2022-4-3,跟随上游更新至 v0.7.2 后端 [committed 7703d55]
  • 2022-3-29 修复 回国分组 覆盖了其他分组的分流规则导致冲突的问题
  • 2022-3-27,已对订阅后端进行了速度优化,并做了简单的负载均衡,并增加境外 Cloudflare 接入
    使用境外 IP 更新订阅,走 Cloudflare CDN 网络,使用境内 IP 更新订阅,走国内网络

原订阅分组规则路径发生变更,需要重新到前端界面转换一次订阅即可。

  • 2022-3-26,因带宽被跑满导致订阅转换后端宕机 4 小时,计划迁移至 Cloudflare 继续提供服务
  • 2022-3-21,同步后端到上游最新 committed 406b0f2-2022-03-20 17:34
  • 2022-3-20,增加回国分组
  • 2022-3-19 已知当安卓系统 ≥ 9 版本,并开启了安卓自带的的加密 DNS 功能(DOT DNS),会导致 Clash For Android 无法劫持 DNS 数据包进行修改,网络会异常。
  • 2022-02-11 订阅转换后端跟随上游最新 committed 升级至 v0.7.1 backend-80cda7b ,
    增加 Steam (非中国特供版)分流规则分组,可自行决定是否代理 Steam,注意 Steam 中国特供版是默认直连,没放进steam分组里。
    增加 哔哩哔哩 港澳台分组,可自行决定是否代理。
    由于一些 BUG,我砍掉了前端对 PWA 的支持。
  • 2021-11-10 修复首次访问页面时,默认勾选的 启用UDP 参数不生效问题
  • 2021-9-14 修复 PC端 Clash CIDR 规则失效问题,增加更多保留地址

  • 即刻起,不再自行编译,直接去 GitHub action 下载最新版即可
  • subconverter GitHub 最新源码 Linux x64 平台编译步骤,使用 docker 搭建编译环境,没什么配置要求,推荐 1c1g +
    在 Ubuntu 20.04.4 LTS 编译成功,编译步骤:
  1. 自行安装好 docker、git 等命令,并最好在国外 VPS 编译,以解决 github 无速度问题或使用 github 镜像 加速 git clone
  2. mkdir -p /root/latestsubc/final & cd latestsubc/
  3. git clone --recursive https://github.com/tindy2013/subconverter.git && cd subconverter/
  4. SHA=$(git rev-parse --short HEAD) && sed -i 's/\(v[0-9]\.[0-9]\.[0-9]\)/\1-'"$SHA"'/' src/version.h
  5. docker run -v /root/latestsubc/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"

    此时编译完成,我这里用时大概 3 分钟,还是很快的,接下来从容器中提取编译好的文件并打包成压缩文件即可。

  6. docker ps -a
  7. docker cp 825054cad0ac:/root/workdir/subconverter /root/latestsubc/final

    825054cad0ac 为第六步 docker ps -a 命令输出的列表中最后退出的容器ID

  1. cd /root/latestsubc/final && tar cvJf subconverter.tar.xz /root/latestsubc/final/subconverter
  2. 此时当前目录下的 subconverter.tar.xz 即为编译好的成品,解压命令为 tar xvJf subconverter.tar.xz
鸣谢,相关项目地址:

https://github.com/tindy2013/subconverter
https://github.com/CareyWang/sub-web
https://github.com/17mon/china_ip_list