SubGenX_Python--一个将节点链接转换为base64订阅链接的小工具
SubGenX_Python是一个将节点链接转换为base64订阅链接,并在后台监听请求的后端工具。功能非常简单,仅推荐个人使用。
功能点如下:
- vmess/vless->订阅url(但是理论上使用uuid做鉴权的应该都可以)
- 根据需求与否,分为普通节点与高级节点,供给不同的用户组
- 多用户多uuid,应对合租需要
- systemctl持久化运行
准备工作
- python3
- git
- 一个模板uuid(源码中的模板id是
620436f3-3104-48c4-a41d-3d19e72b9605
, 使用自己想要的模板id需要在app.py中default_uuid
行做相应替换,模板id是不在任何用户上使用的id) - 已经做好的若干节点链接(必须使用模板uuid)
- nginx或者其他反向代理工具(可选)
部署
-
拉源码:
git clone https://github.com/wxz7801/SubGenX_Python.git
-
进入源码文件夹并创建虚拟环境、安装依赖
cd SubGenX_Python # 创建虚拟环境并安装依赖 python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
-
创建data文件夹,并创建相关需要的文件
mkdir data && cd data
-
创建并编辑config.txt,这个里面放入所有用户组都可以访问的节点链接,格式为一行一个。下述仅作为举例:
vless://abcdefg vless://abcdefg ......
需要注意的是这里节点的uuid需要为你已经准备好的uuid,否则不会进行替换。
-
创建并编辑config_premium.txt,这个里面放入高权限用户可以访问的节点链接,格式同上。
-
创建并编辑normal_list.txt,这里放入普通用户的uuid,一行一个,即只访问config.txt的节点。
下述仅作为举例:
uuid1 uuid2 uuid3 ......
-
创建并编辑premium_list.txt,这里放入高级用户的uuid,格式同上。这组用户可以访问config.txt和config_premium.txt的节点
-
-
使用gunicorn运行服务端
#5000为端口号 #如果你部署了如nginx的反向代理,这里可以填localhost gunicorn -b 0.0.0.0:5000 app:app
-
测试
找个客户端,添加订阅,格式为[ip/域名]:[端口]/api/实际的uuid
持久化
已经有写好一个service模板,在template下。根据自己实际情况改一下路径以及其他信息。具体请参照service以及systemctl的使用方法。
后记 and QA
其实也是根据需求而来,小鸡买多了,一旦配置变化,下面的设备全部手动更新工作量就很大,这套东西至少以后修改直接在txt改节点配置就行了...
总感觉省了一点工作但没有完全省,但总归是省了(