基于clash 核心运作的、进行全量订阅测试的telegram机器人
506
基于clash 核心运作的、进行全量订阅测试的telegram机器人
项目github:https://github.com/AirportR/FullTclash
FullTclash bot 是承载其测试任务的Telegram 机器人(以下简称bot),目前支持以clash配置文件为载体的批量联通性测试,支持以下测试条目:
Netflix
Youtube
Disney Plus
Bilibili
Primevideo
steam货币
OpenAI(ChatGPT)
落地ip风险(IP欺诈度)
维基百科
以及HTTP延迟测试和链路拓扑测试(节点出入口分析)。
要成功运行该项目代码,首先需要准备以下信息:
Telegram 的api_id 、api_hash 获取地址 不会请Google。
去 @BotFather 那里创建一个机器人,获得该机器人的bot_token,应形如:
bot_token = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
这步不会请Google。
一个clash 核心, 下载地址。(可选,可以用/resources里默认的)
字体文件。(可选,可以用默认的)
cd /etc
mkdir FullTclash FullTclash/logs FullTclash/results
cd FullTclash
wget https://raw.githubusercontent.com/AirportR/FullTclash/dev/resources/config.yaml.example
mv config.yaml.example config.yaml
vim config.yaml
配置文件内容如下,按照备注在编辑器中对应修改即可(下述内容更新于2023/2/14):
# 注意,yaml配置文件对缩进敏感,请不要强迫症删掉#号之间的空格
admin:
- 12345678 #管理员,此处写你的账户id或用户名,必须配置该项,否则程序会自动退出
item: # 流媒体测试项,决定你想要测哪个项,目前仅支持以下类型(所有项的值要放在引号里面,第一个字母大写小写都可以,但不能全部大写):此配置已被覆盖暂时无法生效
- 'Netflix' # 奈飞测试,最为严格的流媒体平台,具有很大参考价值,默认开启。
- 'Youtube' # Youtube premium测试,如果测试结果显示失败大概率该节点是送中节点,默认开启。
- 'Disney' # Disney Plus 区域限制不明显,观看体验尚佳,默认开启。
#- 'Bilibili' # bilibili解锁, 仅在港澳台或者仅限台湾的番剧,这项测试一般很难看,默认不开启,想开启该项将该行最前面的#号删除即可。
#- 'Dazn' # Dazn 一般测试得很难看,默认不开启,想开启该项将该行最前面的#号删除即可。
#- 'Hbomax'
#- 'Bahamut'
#netflixurl: "https://www.netflix.com/title/80113701" #自定义奈飞非自制剧检测网页,注意在更换此链接时请确保是非自制的链接。
#proxyport: 7890 # 此为旧版代理设置,用于TGbot通讯,现已不推荐使用。
#bot:
# proxy: "host:端口" #socks5代理,已和下面的proxy单独分离,请勿混用
# strictmode: false # 严格模式,代表测试的时侯,bot内联按钮只有发起测试的主人才能按,否则所有用户用户权限都可以按。默认false,目前未适配,敬请期待。
#proxy: "host:端口" # http配置代理(非socks5),用于下载获取订阅链接,订阅链接国内打不开可尝试开启(可选配置),本机提供的代理可以这样填: '127.0.0.1:7890'
#geoip-api: "ip-api.com" # GEOIP 测试api ,取二级域名,目前支持 ip-api.com ip.sb 两种
#subconvertor: #订阅转换
# enable: true #是否启用
# host: '127.0.0.1:25500' #域名或者ip加端口
# remoteconfig: "https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online.ini" #远程配置
#pingurl: http://www.gstatic.com/generate_204 #自定义延迟测试URL
#speedfile: "https://dl.google.com/dl/android/studio/install/3.4.1.0/android-studio-ide-183.5522156-windows.exe" #自定义测速文件
#speedthread: 4 #测速线程
#nospeed: true #禁用测速,开启后将无法测速。
#user: 12345678 #用户列表,/grant 命令授权的目标会保存在这(可选配置)
#emoji: true # 是否启用emoji,若否,则在输出图片时emoji将无法正常显示。关闭该项可解决部分图片生成失败的问题。(可选配置)
#clash:
# path: './resources/clash-linux-amd64' # clash核心的位置,如为arm64架构,结尾需修改为arm64。
# workpath: './clash' # clash的工作目录,工作目录这里指的是clash读取配置文件的目录,请勿与操作系统上的概念混淆(可选配置)
# core: 4 # 核心数,数量越多测试速度越快,但代价是内存会大量占用(每个核心大概10M),自己的机子多少内存自己平衡
#font: './resources/苹方黑体-准-简.ttf' #自定义字体,这里填字体的路径
#---------------------------- 以下为绘图相关配置 --------------------------------#
#image:
# title: 'FullTclash' # 绘图时的标题
# 以下是颜色配置,其中speed是速度相关,name为颜色名字,value为颜色值,目前仅支持十六进制,label是颜色对应的速度区间(单位MB),不用动,只需改value值,其他项是为了做区分。
# color:
# speed: # 刚刚好有七个颜色,多一个少一个可能会有奇怪的效果。注意缩进。如果不想有太多颜色,可以两个颜色取同样的颜色值。
# - { label: 0, name: '云水', value: '#B4C3D0' }
# - { label: 1, name: '晴山', value: '#91AEC4' }
# - { label: 5, name: '秋波', value: '#8BB8CB' }
# - { label: 10, name: '天韵', value: '#5796B3' }
# - { label: 20, name: '鸢尾', value: '#1988AE' }
# - { label: 60, name: '甸子', value: '#238BBC' }
# - { label: 100, name: '景泰', value: '#2A73AC' }
# delay: #延迟单位: ms
# - { label: 1, name: '云水', value: '#B4C3D0' }
# - { label: 100, name: '晴山', value: '#91AEC4' }
# - { label: 200, name: '秋波', value: '#8BB8CB' }
# - { label: 300, name: '天韵', value: '#5796B3' }
# - { label: 500, name: '鸢尾', value: '#1988AE' }
# - { label: 1000, name: '甸子', value: '#238BBC' }
# - { label: 2000, name: '景泰', value: '#2A73AC' }
# - { label: 99999, name: '景泰', value: '#8d8b8e' } #第八个为超时,label无用
# "yes": '#bee47e' #解锁色块的颜色,注意不要去掉双引号
# "no": '#ee6b73' #失败色块的颜色,注意不要去掉双引号
# na: '#8d8b8e' #N/A色块的颜色
# wait: '#dcc7e1' #待解锁色块的颜色
# iprisk: #IP风险色块颜色
# low: '#ffffff'
# medium: '#ffffff'
# high: '#ffffff'
# veryhigh: '#ffffff'
# warn: '#fcc43c' #警告色块,一般为黄色或橙色
完成配置编辑后按Esc键,随后输入:wq并回车保存退出。
docker run -d -v /etc/FullTclash/config.yaml:/app/resources/config.yaml -v /etc/FullTclash/logs:/app/logs -v /etc/FullTclash/results:/app/results --name=FullTclash startwish/fulltclash:3.4.8
首次运行由于未登录bot,需要进入容器进行登录
docker exec -it FullTclash sh
项目根目录下有一个文件名为 login.py ,可以通过指令运行它:
python ./login.py
按照程序中的指引进行即可。
运行后它会尝试给你输入的用户名的目标发送消息,当接收到:嗨, 我在正常工作哦!
这句话时,即可说明登录有效,否则无效。
注意:需要先私聊bot,否则bot无法向你发送消息。
输入以下命令退出当前容器:
exit
输入以下命令对容器进行重启:
docker restart FullTclash
运行之后和bot私聊命令:
/help 可查看所有命令说明
/testurl 订阅地址(clash配置格式) 即可开始测试
根据需要可设置容器自动重启
Content type
Image
Digest
sha256:bedf5f2b8…
Size
65.3 MB
Last updated
over 3 years ago
docker pull startwish/fulltclash:3.5.3