Sign inSign up

startwish/fulltclash

By startwish

Updated over 3 years ago

基于clash 核心运作的、进行全量订阅测试的telegram机器人

Image
0

506

startwish/fulltclash repository overview

FullTclash

基于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

登录bot

项目根目录下有一个文件名为 login.py ,可以通过指令运行它:

python ./login.py

按照程序中的指引进行即可。

运行后它会尝试给你输入的用户名的目标发送消息,当接收到:嗨, 我在正常工作哦!

这句话时,即可说明登录有效,否则无效。

注意:需要先私聊bot,否则bot无法向你发送消息。

完成配置,重启容器

输入以下命令退出当前容器:

exit

输入以下命令对容器进行重启:

docker restart FullTclash

运行之后和bot私聊命令:

/help 可查看所有命令说明

/testurl 订阅地址(clash配置格式) 即可开始测试

根据需要可设置容器自动重启

Tag summary

Content type

Image

Digest

sha256:bedf5f2b8

Size

65.3 MB

Last updated

over 3 years ago

docker pull startwish/fulltclash:3.5.3