Skip to content

OreosLab/SSRSpeedN

Repository files navigation

SSRSpeedN

Proxy performance test & export tool based on Shadowsocks(R), V2Ray, Trojan and so on.

PyPI version

注意事项

  • 测速及解锁测试仅供参考,不代表实际使用情况,由于网络情况变化、Netflix 封锁及 ip 更换,测速具有时效性

  • 本项目使用 Python 3.8+ 编写,使用前请完成环境安装

  • 因为需要依赖 Python 环境,且本项目仍在测试阶段,可能存在部分 bug ,可到 tg 群组 进行反馈。

  • Netflix 解锁测速结果说明:

    Full Native 原生全解锁 Full Dns DNS 全解锁 Only original 仅解锁自制剧 None 未解锁 其中原生解锁和 DNS 解锁只是解锁方式有区别,实际体验区别不大,在电视端使用时 DNS 解锁可能会提示使用代理。 
  • UDP NAT Type

    Full-cone NAT 全锥形 NAT Symmetric NAT 对称型 NAT Restricted Cone NAT 限制锥形 NAT (IP 受限) Port-Restricted Cone NAT 端口限制锥形 NAT (IP 和端口都受限) Blocked 未开启UDP 其中全锥型的穿透性最好,而对称型的安全性最高,如果要使用代理打游戏,节点的 UDP NAT 类型最好为全锥型,其次为对称型,尽量不要用其他 NAT 类型的节点玩游戏 

主要特性

本项目在原 SSRSpeed (已跑路) 的基础上,集成了如下特性

  • 支持 Shadowsocks(R) / Vless / Vmess / Trojan / Hysteria 协议
  • 支持单线程 / 多线程同时测速,可以同时反映视频播放 / 多线程下载等场景的节点速度
  • 支持 fast.com / YOUTUBE 码率等多种测速方式(仅限 Windows)
  • 支持 Netflix 解锁测试,分为 原生全解锁 / DNS 全解锁 / 仅解锁自制剧 / 无解锁 四档
  • 支持 流媒体平台 Abema / Bahamut 动画疯 / Bilibili / Dazn / Disney+ / HBO max / My tvsuper / YouTube premium 解锁测试
  • 提供配置文件测速模块控制端,可以自由选择是否测速 / 测 ping / 检测流媒体解锁
  • 取消原版的大红配色,默认为彩虹配色,并增加了新配色 (poor)
  • 增加节点复用检测功能
  • 增加实际流量倍率测试功能

相关依赖

Python 第三方库 见 requirements.txt

Linux 依赖

支持平台

测试通过平台

  1. Windows 10 x64

其他平台需要测试,欢迎反馈

理论支持平台

支持 Python 3.8+ 及 Shadowsocks, ShadowsocksR, V2Ray, Trojan 的平台

使用指南

Wiki

命令行测试

ssrspeed 用法:ssrspeed [options] arg1 arg2... 可选参数: -h, --help 输出帮助信息并退出 --version 输出版本号并退出 -d DIR, --dir DIR 指定包含 clients 和 data 的目录,默认为当前目录. -u URL, --url URL 通过节点订阅链接加载节点信息. -i IMPORT_FILE, --import IMPORT_FILE 根据 json 文件输出测试结果. -c GUICONFIG, --config GUICONFIG 通过节点配置文件加载节点信息. -mc MAX_CONNECTIONS, --max-connections MAX_CONNECTIONS 设置最大连接数。某些机场不支持并发连接,可设置为 1. -M {default,pingonly,stream,all,wps}, --mode {default,pingonly,stream,all,wps} 在 [default, pingonly, stream, all, wps] 中选择测试模式. -m {stasync,socket,speedtestnet,fast}, --method {stasync,socket,speedtestnet,fast} 在 [stasync, socket, speedtestnet, fast] 中选择测试方法. --reject-same 拒绝后来出现的服务器和端口与之前相同的节点. --include FILTER [FILTER ...] 通过节点标识和组名筛选节点. --include-group GROUP [GROUP ...] 通过组名筛选节点. --include-remark REMARKS [REMARKS ...] 通过节点标识筛选节点. --exclude EFILTER [EFILTER ...] 通过节点标识和组名排除节点. --exclude-group EGFILTER [EGFILTER ...] 通过组名排除节点. --exclude-remark ERFILTER [ERFILTER ...] 通过节点标识排除节点. -g GROUP_OVERRIDE 自定义测速组名. -C RESULT_COLOR, --color RESULT_COLOR 设定测速结果展示配色. -s {speed,rspeed,ping,rping}, --sort {speed,rspeed,ping,rping} 选择节点排序方式 [按速度排序 / 速度倒序 / 按延迟排序 / 延迟倒序],默认不排序. --skip-requirements-check 跳过确认. -w, --web 启动网络服务器. -l LISTEN, --listen LISTEN 设置网络服务器的监听地址. -p PORT, --port PORT 设置网络服务器的监听端口. --download {all,client,database} 在 [all, client, database] 中选择下载资源类型. --debug 采用 debug 模式. 测试模式 模式 备注 DEFAULT 可以通过 ssrspeed.json 自由配置 TCP_PING 仅 tcp ping,无速度测试 STREAM 仅流媒体解锁测试 ALL 全速测试(不包括网页模拟) WEB_PAGE_SIMULATION 网页模拟测试 测试方法 方法 备注 ST_ASYNC 单线程异步下载 SOCKET 具有多线程的原始套接字 SPEED_TEST_NET SpeedTest.Net 速度测试 FAST Fast.com 速度测试

使用样例 :

ssrspeed -c gui-config.json -M stream --include 韩国 --include-remark Azure --include-group YoYu ssrspeed -u "https://home.yoyu.dev/subscriptionlink" --include 香港 Azure --include-group YoYu --exclude Azure

自由配置

修改测速内容

data/ssrspeed.json 文件下第 15 行至第 31 行,默认允许。

 "fastSpeed": false, // 是否开启快速测速 "ntt": { "enabled": true, "internal_ip": "0.0.0.0", "internal_port": 54320 }, // UDP 类型测试 "geoip": true, // 是否测 GeoIP, 包括 Inbound & Outbound "ping": true, // 是否测 ping "gping": true, // 是否测 Google ping "stream": true, // 是否测流媒体解锁 "speed": true, // 是否测速 "method": "SOCKET", // 测速方式,SOCKET / YOUTUBE / NETFLIX "StSpeed": true, // 是否同时测单线程/多线程 "netflix": true, // 是否测 Netflix 解锁 "hbo": true, // 是否测 HBO max 解锁 "disney": true, // 是否测 Disney+ 解锁 "youtube": true, // 是否测 YouTube premium 解锁 "abema": true, // 是否测 Abema 解锁 "bahamut": true, // 是否测 Bahamut (动画疯) 解锁 "dazn": true, // 是否测 Dazn 解锁 "tvb": true, // 是否测 My tvsuper 解锁 "bilibili": true, // 是否测 Bilibili 解锁

修改结果输出

 "port": true, // 是否输出端口 "multiplex": true, // 是否输出复用检测 "exportResult": { "addition": "OreosLab ©", // 自定义附加信息 "uploadResult": false, "hide_max_speed": false, // 是否隐藏最高速度 "font": "LXGWBright-Medium.otf", // 自定义字体,见下方说明 "colors": [ // 自定义配色,见下方说明 { "name": "origin", "colors": { "4.0": [102, 255, 102], "8.0": [255, 255, 102], "16.0": [255, 178, 102], "24.0": [255, 102, 102], "32.0": [226, 140, 255], "40.0": [102, 204, 255], "50.0": [102, 102, 255] } }, { "name": "poor", "colors": { "4.0": [255, 215, 0], "8.0": [255, 178, 1], "16.0": [252, 105, 114], "24.0": [233, 130, 217], "32.0": [194, 108, 255], "40.0": [102, 192, 255], "50.0": [102, 111, 255] } } ] },

自定义附加信息

修改为你自己的频道或群组等信息

自定义字体

下载字体文件放入 resources/custom/ 文件夹下,修改 data/ssrspeed.json 文件下第 44 行为字体文件名,本项目自带两个字体

自定义颜色

采用速度 (MB/s) 对应输出颜色 (RGB 256) 方式

项目结构

SSRSpeedN ├── LICENSE ├── MANIFEST.in ├── README.md ├── bin │ ├── ssrspeed.bat │ ├── ssrspeed.sh ├── pyproject.toml ├── requirements-dev.txt ├── requirements.txt ├── setup.py ├── ssrspeed │ ├── __init__.py │ ├── __main__.py │ ├── config │ │ ├── __init__.py │ │ └── config.py │ ├── core │ │ ├── __init__.py │ │ └── core.py │ ├── download │ │ ├── __init__.py │ │ └── download.py │ ├── launcher │ │ ├── __init__.py │ │ ├── base.py │ │ ├── hysteria.py │ │ ├── shadowsocks.py │ │ ├── shadowsocksr.py │ │ ├── trojan.py │ │ ├── v2ray.py │ │ └── xray.py │ ├── parser │ │ ├── __init__.py │ │ ├── bottom │ │ ├── clash │ │ ├── conf │ │ ├── filter │ │ ├── hy │ │ ├── parser.py │ │ ├── ss │ │ ├── ssr │ │ ├── trojan │ │ └── v2ray │ ├── path │ │ ├── __init__.py │ │ ├── path.py │ ├── resource │ │ ├── ssrspeed.example.json │ │ ├── static │ │ └── templates │ ├── result │ │ ├── __init__.py │ │ ├── exporter.py │ │ ├── importer │ │ ├── pusher │ │ ├── render │ │ └── sorter │ ├── shell │ │ ├── __init__.py │ │ └── cli.py │ ├── speedtest │ │ ├── __init__.py │ │ ├── method │ │ ├── methodology.py │ │ └── speedtest.py │ ├── type │ │ ├── __init__.py │ │ ├── error │ │ └── node │ ├── util │ │ ├── __init__.py │ │ ├── b64plus.py │ │ ├── emo.py │ │ ├── geoip.py │ │ ├── port.py │ │ ├── pynat.py │ │ ├── require.py │ │ ├── rule │ │ ├── system.py │ │ └── web │ └── web │ ├── __init__.py │ └── web.py ├── tests │ ├── __init__.py │ ├── cov │ ├── dis │ ├── geoip.py │ ├── lint │ ├── pf │ ├── pkg │ ├── print_stats.py │ ├── root.py │ ├── spy │ ├── tdis │ └── tree 

致谢

About

Proxy performance test & export tool based on Shadowsocks(R), V2Ray, Trojan and so on.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors