{"id":19493137,"url":"https://github.com/oreoslab/ssrspeedn","last_synced_at":"2025-04-25T20:31:03.995Z","repository":{"id":57933972,"uuid":"525285275","full_name":"OreosLab/SSRSpeedN","owner":"OreosLab","description":"Proxy performance test \u0026 export tool based on Shadowsocks(R), V2Ray, Trojan and so on.","archived":false,"fork":false,"pushed_at":"2023-07-31T16:20:32.000Z","size":64835,"stargazers_count":82,"open_issues_count":7,"forks_count":18,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-04T03:11:41.021Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OreosLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-16T08:03:59.000Z","updated_at":"2025-03-16T04:03:31.000Z","dependencies_parsed_at":"2024-11-10T21:37:15.485Z","dependency_job_id":null,"html_url":"https://github.com/OreosLab/SSRSpeedN","commit_stats":{"total_commits":185,"total_committers":8,"mean_commits":23.125,"dds":0.1837837837837838,"last_synced_commit":"3be6ee43ada3b06a22aa2bee4ea9f81e1d5e9f44"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OreosLab%2FSSRSpeedN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OreosLab%2FSSRSpeedN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OreosLab%2FSSRSpeedN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OreosLab%2FSSRSpeedN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OreosLab","download_url":"https://codeload.github.com/OreosLab/SSRSpeedN/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250890277,"owners_count":21503461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T21:24:32.476Z","updated_at":"2025-04-25T20:31:02.542Z","avatar_url":"https://github.com/OreosLab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\u003cimg src=\"https://s1.ax1x.com/2022/09/26/xVFWGD.png\" alt=\"SSRSpeedN\" width=\"240\"\u003e\n\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\nProxy performance test \u0026 export tool based on Shadowsocks(R), V2Ray, Trojan and so on.\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.codacy.com/gh/OreosLab/SSRSpeedN/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=OreosLab/SSRSpeedN\u0026amp;utm_campaign=Badge_Grade\"\u003e\u003cimg src=\"https://app.codacy.com/project/badge/Grade/3b223d2546a94affa17c74ea37a048fb\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/ssrspeed/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/ssrspeed?color=4b5cc4\u0026logo=python\u0026logoColor=44cef6\" alt=\"PyPI version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Oreomeow/SSRSpeedN/tags\"\u003e\u003cimg src=\"https://img.shields.io/github/tag/Oreomeow/SSRSpeedN?color=f2be45\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Oreomeow/SSRSpeedN/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/Oreomeow/SSRSpeedN?color=ff0097\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/psf/black\"\u003e\u003cimg src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## 注意事项\n\n* 测速及解锁测试仅供参考，不代表实际使用情况，由于网络情况变化、Netflix 封锁及 ip 更换，测速具有时效性\n\n* 本项目使用 [Python 3.8+](https://www.python.org/downloads/) 编写，使用前请完成环境安装\n* 因为需要依赖 Python 环境，且本项目仍在测试阶段，可能存在部分 bug ，可到 [tg 群组](https://t.me/+muGNhnaZglQ0N2Q1) 进行反馈。\n* Netflix 解锁测速结果说明:\n\n  ```text\n  Full Native             原生全解锁\n  Full Dns                DNS 全解锁\n  Only original           仅解锁自制剧\n  None                    未解锁\n\n  其中原生解锁和 DNS 解锁只是解锁方式有区别，实际体验区别不大，在电视端使用时 DNS 解锁可能会提示使用代理。\n  ```\n\n* UDP NAT Type\n\n  ```text\n  Full-cone NAT                              全锥形 NAT\n  Symmetric NAT                              对称型 NAT\n  Restricted Cone NAT                        限制锥形 NAT (IP 受限)                                                                                                                       \n  Port-Restricted Cone NAT                   端口限制锥形 NAT (IP 和端口都受限)\n  Blocked                                    未开启UDP\n\n  其中全锥型的穿透性最好，而对称型的安全性最高，如果要使用代理打游戏，节点的 UDP NAT 类型最好为全锥型，其次为对称型，尽量不要用其他 NAT 类型的节点玩游戏\n  ```\n\n## 主要特性\n\n本项目在原 SSRSpeed (已跑路) 的基础上，集成了如下特性\n\n* 支持 Shadowsocks(R) / Vless / Vmess / Trojan / Hysteria 协议\n* 支持单线程 / 多线程同时测速，可以同时反映视频播放 / 多线程下载等场景的节点速度\n* 支持 fast.com / YOUTUBE 码率等多种测速方式（仅限 Windows）\n* 支持 Netflix 解锁测试，分为 原生全解锁 / DNS 全解锁 / 仅解锁自制剧 / 无解锁 四档\n* 支持 流媒体平台 Abema / Bahamut 动画疯 / Bilibili / Dazn / Disney+ / HBO max / My tvsuper / YouTube premium 解锁测试\n* 提供配置文件测速模块控制端，可以自由选择是否测速 / 测 ping / 检测流媒体解锁\n* 取消原版的大红配色，默认为彩虹配色，并增加了新配色 (poor)\n* 增加节点复用检测功能\n* 增加实际流量倍率测试功能\n\n## 相关依赖\n\nPython 第三方库 见 `requirements.txt`\n\nLinux 依赖\n\n* [libsodium](https://github.com/jedisct1/libsodium)\n* [Shadowsocks-libev](https://github.com/shadowsocks/shadowsocks-libev)\n* [Simple-Obfs](https://github.com/shadowsocks/simple-obfs)\n\n## 支持平台\n\n### 测试通过平台\n\n1. Windows 10 x64\n\n其他平台需要测试，欢迎反馈\n\n### 理论支持平台\n\n支持 Python 3.8+ 及 Shadowsocks, ShadowsocksR, V2Ray, Trojan 的平台\n\n## 使用指南\n\n[**Wiki**](https://github.com/OreosLab/SSRSpeedN/wiki)\n\n### 命令行测试\n\n```powershell\nssrspeed\n用法：ssrspeed [options] arg1 arg2...\n\n 可选参数：\n\n  -h, --help            输出帮助信息并退出\n  --version             输出版本号并退出\n  -d DIR, --dir DIR     指定包含 clients 和 data 的目录，默认为当前目录.\n  -u URL, --url URL     通过节点订阅链接加载节点信息.\n  -i IMPORT_FILE, --import IMPORT_FILE\n\n                        根据 json 文件输出测试结果.\n\n  -c GUICONFIG, --config GUICONFIG\n\n                        通过节点配置文件加载节点信息.\n\n  -mc MAX_CONNECTIONS, --max-connections MAX_CONNECTIONS\n\n                        设置最大连接数。某些机场不支持并发连接，可设置为 1.\n\n  -M {default,pingonly,stream,all,wps}, --mode {default,pingonly,stream,all,wps}\n\n                        在 [default, pingonly, stream, all, wps] 中选择测试模式.   \n\n  -m {stasync,socket,speedtestnet,fast}, --method {stasync,socket,speedtestnet,fast}\n\n                        在 [stasync, socket, speedtestnet, fast] 中选择测试方法.\n\n  --reject-same         拒绝后来出现的服务器和端口与之前相同的节点.\n  --include FILTER [FILTER ...]\n\n                        通过节点标识和组名筛选节点.\n\n  --include-group GROUP [GROUP ...]\n\n                        通过组名筛选节点.\n\n  --include-remark REMARKS [REMARKS ...]\n\n                        通过节点标识筛选节点.\n\n  --exclude EFILTER [EFILTER ...]\n\n                        通过节点标识和组名排除节点.\n\n  --exclude-group EGFILTER [EGFILTER ...]\n\n                        通过组名排除节点.\n\n  --exclude-remark ERFILTER [ERFILTER ...]\n\n                        通过节点标识排除节点.       \n\n  -g GROUP_OVERRIDE     自定义测速组名.\n  -C RESULT_COLOR, --color RESULT_COLOR\n\n                        设定测速结果展示配色.\n\n  -s {speed,rspeed,ping,rping}, --sort {speed,rspeed,ping,rping}\n\n                        选择节点排序方式 [按速度排序 / 速度倒序 / 按延迟排序 / 延迟倒序]，默认不排序.\n\n  --skip-requirements-check\n\n                        跳过确认.\n\n  -w, --web             启动网络服务器.\n  -l LISTEN, --listen LISTEN\n\n                        设置网络服务器的监听地址.\n\n  -p PORT, --port PORT  设置网络服务器的监听端口.\n  --download {all,client,database}            \n\n                        在 [all, client, database] 中选择下载资源类型.\n\n  --debug               采用 debug 模式.\n\n  测试模式\n  模式                 备注\n  DEFAULT               可以通过 ssrspeed.json 自由配置\n  TCP_PING              仅 tcp ping，无速度测试\n  STREAM                仅流媒体解锁测试\n  ALL                   全速测试（不包括网页模拟）\n  WEB_PAGE_SIMULATION   网页模拟测试\n\n  测试方法\n  方法                 备注\n  ST_ASYNC              单线程异步下载\n  SOCKET                具有多线程的原始套接字\n  SPEED_TEST_NET        SpeedTest.Net 速度测试\n  FAST                  Fast.com 速度测试\n```\n\n使用样例 :\n\n```powershell\nssrspeed -c gui-config.json -M stream --include 韩国 --include-remark Azure --include-group YoYu\nssrspeed -u \"https://home.yoyu.dev/subscriptionlink\" --include 香港 Azure --include-group YoYu --exclude Azure\n```\n\n## 自由配置\n\n### 修改测速内容\n\n  在 `data/ssrspeed.json` 文件下第 15 行至第 31 行，默认允许。\n\n  ```jsonc\n    \"fastSpeed\": false,  // 是否开启快速测速\n    \"ntt\": { \"enabled\": true, \"internal_ip\": \"0.0.0.0\", \"internal_port\": 54320 },  // UDP 类型测试\n    \"geoip\": true,       // 是否测 GeoIP, 包括 Inbound \u0026 Outbound\n    \"ping\": true,        // 是否测 ping\n    \"gping\": true,       // 是否测 Google ping\n    \"stream\": true,      // 是否测流媒体解锁\n    \"speed\": true,       // 是否测速\n    \"method\": \"SOCKET\",  // 测速方式，SOCKET / YOUTUBE / NETFLIX\n    \"StSpeed\": true,     // 是否同时测单线程/多线程\n    \"netflix\": true,     // 是否测 Netflix 解锁\n    \"hbo\": true,         // 是否测 HBO max 解锁\n    \"disney\": true,      // 是否测 Disney+ 解锁\n    \"youtube\": true,     // 是否测 YouTube premium 解锁\n    \"abema\": true,       // 是否测 Abema 解锁\n    \"bahamut\": true,     // 是否测 Bahamut (动画疯) 解锁\n    \"dazn\": true,        // 是否测 Dazn 解锁\n    \"tvb\": true,         // 是否测 My tvsuper 解锁\n    \"bilibili\": true,    // 是否测 Bilibili 解锁\n  ```\n\n### 修改结果输出\n\n  ```jsonc\n    \"port\": true,       // 是否输出端口\n    \"multiplex\": true,  // 是否输出复用检测\n    \"exportResult\": {\n        \"addition\": \"OreosLab ©\",             // 自定义附加信息\n        \"uploadResult\": false,\n        \"hide_max_speed\": false,              // 是否隐藏最高速度\n        \"font\": \"LXGWBright-Medium.otf\",      // 自定义字体，见下方说明\n        \"colors\": [                           // 自定义配色，见下方说明\n            {\n                \"name\": \"origin\",\n                \"colors\": {\n                    \"4.0\": [102, 255, 102],\n                    \"8.0\": [255, 255, 102],\n                    \"16.0\": [255, 178, 102],\n                    \"24.0\": [255, 102, 102],\n                    \"32.0\": [226, 140, 255],\n                    \"40.0\": [102, 204, 255],\n                    \"50.0\": [102, 102, 255]\n                }\n            },\n            {\n                \"name\": \"poor\",\n                \"colors\": {\n                    \"4.0\": [255, 215, 0],\n                    \"8.0\": [255, 178, 1],\n                    \"16.0\": [252, 105, 114],\n                    \"24.0\": [233, 130, 217],\n                    \"32.0\": [194, 108, 255],\n                    \"40.0\": [102, 192, 255],\n                    \"50.0\": [102, 111, 255]\n                }\n            }\n        ]\n    },\n  ```\n\n### 自定义附加信息\n\n修改为你自己的频道或群组等信息\n\n### 自定义字体\n\n下载字体文件放入 `resources/custom/` 文件夹下，修改 `data/ssrspeed.json` 文件下第 44 行为字体文件名，本项目自带两个字体\n\n### 自定义颜色\n\n采用速度 (MB/s) 对应输出颜色 (RGB 256) 方式\n\n## 项目结构\n\n```tree\nSSRSpeedN\n├── LICENSE\n├── MANIFEST.in\n├── README.md\n├── bin\n│   ├── ssrspeed.bat\n│   ├── ssrspeed.sh\n├── pyproject.toml\n├── requirements-dev.txt\n├── requirements.txt\n├── setup.py\n├── ssrspeed\n│   ├── __init__.py\n│   ├── __main__.py\n│   ├── config\n│   │   ├── __init__.py\n│   │   └── config.py\n│   ├── core\n│   │   ├── __init__.py\n│   │   └── core.py\n│   ├── download\n│   │   ├── __init__.py\n│   │   └── download.py\n│   ├── launcher\n│   │   ├── __init__.py\n│   │   ├── base.py\n│   │   ├── hysteria.py\n│   │   ├── shadowsocks.py\n│   │   ├── shadowsocksr.py\n│   │   ├── trojan.py\n│   │   ├── v2ray.py\n│   │   └── xray.py\n│   ├── parser\n│   │   ├── __init__.py\n│   │   ├── bottom\n│   │   ├── clash\n│   │   ├── conf\n│   │   ├── filter\n│   │   ├── hy\n│   │   ├── parser.py\n│   │   ├── ss\n│   │   ├── ssr\n│   │   ├── trojan\n│   │   └── v2ray\n│   ├── path\n│   │   ├── __init__.py\n│   │   ├── path.py\n│   ├── resource\n│   │   ├── ssrspeed.example.json\n│   │   ├── static\n│   │   └── templates\n│   ├── result\n│   │   ├── __init__.py\n│   │   ├── exporter.py\n│   │   ├── importer\n│   │   ├── pusher\n│   │   ├── render\n│   │   └── sorter\n│   ├── shell\n│   │   ├── __init__.py\n│   │   └── cli.py\n│   ├── speedtest\n│   │   ├── __init__.py\n│   │   ├── method\n│   │   ├── methodology.py\n│   │   └── speedtest.py\n│   ├── type\n│   │   ├── __init__.py\n│   │   ├── error\n│   │   └── node\n│   ├── util\n│   │   ├── __init__.py\n│   │   ├── b64plus.py\n│   │   ├── emo.py\n│   │   ├── geoip.py\n│   │   ├── port.py\n│   │   ├── pynat.py\n│   │   ├── require.py\n│   │   ├── rule\n│   │   ├── system.py\n│   │   └── web\n│   └── web\n│       ├── __init__.py\n│       └── web.py\n├── tests\n│   ├── __init__.py\n│   ├── cov\n│   ├── dis\n│   ├── geoip.py\n│   ├── lint\n│   ├── pf\n│   ├── pkg\n│   ├── print_stats.py\n│   ├── root.py\n│   ├── spy\n│   ├── tdis\n│   └── tree\n```\n\n## 致谢\n\n* 原作者\n  * [NyanChanMeow](https://github.com/NyanChanMeow)\n* 原修改版\n  * [PauperZ](https://github.com/PauperZ/SSRSpeedN)\n* beta 版测试\n  * [ChenBilly](https://t.me/ChenBilly)\n  * [Duang](https://t.me/duang11212)\n  * [万有引力](https://t.me/cloudspeedtest)\n* 建议及支持\n  * [jiexi](https://t.me/jiexi001)\n  * [萌新黑客](https://t.me/yxkumad)\n* 赞助\n  * [便宜机场测速](https://t.me/cheap_proxy)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foreoslab%2Fssrspeedn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foreoslab%2Fssrspeedn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foreoslab%2Fssrspeedn/lists"}