Submanger Bot 是一个管理订阅链接的机器人 可以帮助使用者更方便地管理订阅
Submanger Bot 本身只是一个订阅管理器 不具备任何代理能力 也不提供任何订阅链接
这是更新截止到2023年的Bot 尽管本项目完全手写无AI 但它不支持异步容易卡死 代码极度混乱同一个功能写十遍无法维护 因此在闭源分发停止两年后于此开源
如果使用时遇到任何问题 请勿提出任何issue 因为不再维护
如果您需要更多稳定的高级功能 欢迎联系 @Temp_ChatBot
最低配置 1c0.5g
需连接Telegram服务器 请自行配置代理服务
目前仅支持 开源了随便玩哈x86 架构的 Linux/Windows 系统 如需其他系统或架构的打包请私聊
Submanger Bot 仅会在 config.yaml 文件中存储配置文件信息 在 My_sub.db 中存储订阅链接 在 Airport.list 文件中存储机场名称
Submanger Bot 的全部数据仅会存储在本地和Telegram服务器(聊天记录) 除拥有ssh账密,Telegram Bot Token或超管授予权限外无法通过其他方式从Bot获取数据 真没后门 你可以反一下试试
Submanger Bot 仅会连接 Telegram服务器 订阅链接服务器 subconverter服务器 除此之外不会连接任何其他服务 你可以自己抓包试试
一键脚本目前仅支持 Debian/Ubuntu 系统 其他系统请自行手动下载
脚本启动后会下载bot本体 配置进程守护 screen 并要求填写 授权Token Telegram Bot Token 超管Telegram id
目前的一键脚本请在群内置顶获取 这个旧版开源的 没必要一键脚本
Submanger Bot 直接以二进制单文件形式提供 目前仅支持
Linux x86/Windows x86 系统如果需要其他架构的打包 请私聊我
由于机器人的配置比较复杂 建议搭配
readme.config.yaml与 #使用 查看
以下配置必须设置 否则 Bot 将无法启动:
token: 你的 Bot 授权Tokentelegramtoken你的 Telegram Bot Token(请于@BotFather获取)administrator: 超级管理员id
如以一键脚本安装 会要求填写以上配置
请自行查看 readme.config.yaml 其实就是懒得写
My_sub.db : 使用Sqlite数据库 以明文方式存储订阅到本地
Airport.list : 机场名称数据库 每行格式为 域名 机场名 Bot不会提供数据库 请自行收集\
在识别机场名称时 会先从数据库中查找对应域名 若未找到则会尝试自动识别域名 但自动识别到的机场名并不会添加进数据库
无授权者即游客 在关闭唯一管理模式时 (adminOnlyMode 为 0) 可以使用如下指令:
查询订阅 /subinfo
转换订阅 /convert
注册试用 /free
消息延迟 /ping
版本信息 /version
查询订阅链接信息 显示机场名称 流量 过期时间等信息
可回复包含订阅链接的消息或写在后面 一次可查询多个订阅 会自动去除订阅转换与短链接并去重
订阅不会写入日志或数据库中
订阅转换 可转换链接或节点
可回复包含链接或节点的消息或写在后面 一次可转换多个 会自动去除订阅转换与短链接并去重
获取白嫖订阅 仅支持获取使用V2board/SSpanel的无验证机场的试用订阅
获取Bot的消息延迟 会测试多次取平均值
获取Bot的版本信息
授权者即管理 至少可以使用如下指令:
发送消息 /chat 内容
发送通知 /notice 内容
添加订阅 /add 订阅链接 备注
删除订阅 /del 编号
查找订阅 /search 内容
更新订阅 /update 编号 订阅链接 备注
整理订阅 /sort
自动添加 /auto 回复/内容
获取订阅 /get 编号
页面跳转 /page 页数
交换订阅 /swap 编号 编号
修改备注 /comment 编号 备注
测活订阅 /prune
注册任务 /register
取消任务 /unregister
离开群聊 /leave
使用Bot对全部授权者发送消息
向订阅库添加订阅
删除订阅库内对应编号的订阅
显示说明或链接包含关键词的订阅 每页共20个
更新特定编号的订阅的信息
在使用 /del 删除订阅后 该订阅原来位置的编号会空缺 使用本命令可以使编号连贯
自动添加订阅 可以回复或者后面以空格分开 可一次添加多个
对于每个订阅 会先尝试识别机场名 然后尝试获取订阅流量信息
获取特定编号的订阅 如果是已信任群组 (参见 #/trust) 则会发在群组中 否则发在私聊
在使用 /search 命令搜索后 通过回复Bot的查找消息可进行页数跳转
交换两个不同编号的订阅信息
修改特定编号订阅的备注说明
手动测活订阅 可使用关键词限制测活的具体订阅
将该群组或私聊添加进订阅监测任务中 可使用关键词限制监测显示的订阅
将该群组或私聊从订阅监测任务中删除
使 Bot 从群组中离开
超管具有最大的操作权限 在启动时读取 可以使用的命令如下:
给予授权 /grant
取消授权 /ungrant
清除授权 /grantclear
授权列表 /list
信任群组 /trust
取消信任 /distrust
赠与订阅 /invite
添加域名 /addkeyword
删除域名 /delkeyword
获取数据 /database
安装数据 /install
查询日志 /log
重载配置 /reload
保存配置 /save
获取配置 /value
设置配置 /set
回复一个用户的消息或后面写入用户id可将此用户的权限提升为管理员 会被写入到 Config 的 admin 中
回复一个用户的消息或后面写入用户id可将此用户的权限降低为游客 会从 Config 的 admin 中删除
清理所有人的管理员权限
查看管理员列表 等效于 /value admin
将该群组设定为可信任群组 获取的订阅会发在群组中 否则会发在获取者的私聊 会被写入到 Config 的 trust 中
将该群组设定为非可信任群组 会从 Config 的 trust 中删除
对于该功能 若 allowAdminToInvite 值为 1 则管理员也可使用此命令
通过回复他人消息来给予他人订阅库中特定订阅
将机场名信息添加进数据库
将机场名信息从数据库中删除
获取订阅数据库
获取日志
通过回复订阅数据库文件 来恢复原有的数据库
若 Bot 未关闭 而修改了配置文件 可使用此命令重新读取
保存 Bot 当前配置
获取配置文件中特定路径的值
需要对 config.yaml 很熟悉
不同级的路径用 . 分开
如 convert 的配置为:
convert:
backend: https://api.nexconvert.com/
config: https://cdn.jsdelivr.net/gh/lhl77/sub-ini@main/tsutsu-mini-gfw.ini
target: clash
parameter: &emoji=true&remove_emoji=false&interval=3600&udp=true&expand=false&list=false&scv=true&fdn=true&new_name=true
则读取的值为:
/value convert
返回:
[✅][配置 convert 的值为]
{'backend': 'https://api.nexconvert.com/', 'config': 'https://cdn.jsdelivr.net/gh/lhl77/sub-ini@main/tsutsu-mini-gfw.ini', 'target': 'clash', 'parameter': '&emoji=true&remove_emoji=false&interval=3600&udp=true&expand=false&list=false&scv=true&fdn=true&new_name=true'}
如 cron 的配置为:
cron:
enable: 1
interval: 3600
list:
- 123456
- -789: 关键词
则读取的值为:
/value cron.interval
返回:
[✅][配置 cron.interval 的值为]
3600
设置配置文件中特定路径的值
Bot 采用本地鉴权 读取Bot用户名后加密并与token匹配 若不一致则自动退出程序无法启动
授权后可注销Bot重新注册同一用户名的Bot 但无法更换Bot用户名
对于 /subinfo /chat /notice /add /del /search /update 命令
可直接使用首字母 /s 使用命令 (/subinfo 为 /i)
对于搜索后的对于面板 如果可以翻页 点击页数显示按钮即可显示订阅概要
如需使用监测功能 请将 cron.enable 的值设置为 1
cron.delay 为监测延时 每获取一轮订阅后延迟一段时间重新获取
为避免短时间内多次获取同一机场订阅 监测会打乱顺序逐条获取