docker run -it --rm -v ${PWD}:/app/results kaitohh/ssrspeed -u <subscription url>
10K+
Batch speed measuring tool based on Shadowsocks(R) and V2Ray
Universal dependency
See requirements.txt
Linux dependency
The platform that ability to run Python and Shadowsocks, ShadowsocksR, V2Ray.
pip(pip3) install -r requirements.txt
python .\main.py
Usage: main.py [options] arg1 arg2...
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-c GUICONFIG, --config=GUICONFIG
Load config generated by shadowsocksr-csharp.
-u URL, --url=URL Load ssr config from subscription url.
-m TEST_METHOD, --method=TEST_METHOD
Select test method in Select test method in [speedtestnet, fast, socket, stasync].
-M TEST_MODE, --mode=TEST_MODE
Select test mode in [all,pingonly,wps].
--include Filter nodes by group and remarks using keyword.
--include-remark Filter nodes by remarks using keyword.
--include-group Filter nodes by group name using keyword.
--exclude Exclude nodes by group and remarks using keyword.
--exclude-group Exclude nodes by group using keyword.
--exclude-remark Exclude nodes by remarks using keyword.
--use-ssr-cs Replace the ShadowsocksR-libev with the ShadowsocksR-C# (Only Windows)
-g GROUP Manually set group.
-y, --yes Skip node list confirmation before test.
-C RESULT_COLOR, --color=RESULT_COLOR
Set the colors when exporting images..
-S SORT_METHOD, --sort=SORT_METHOD
Select sort method in
[speed,rspeed,ping,rping],default not sorted.
-i IMPORT_FILE, --import=IMPORT_FILE
Import test result from json file and export it.
--skip-requirements-check
Skip requirements check.
--debug Run program in debug mode.
Example usage :
python main.py -c gui-config.json --include 韩国 --include-remark Azure --include-group YoYupython main.py -u https://home.yoyu.dev/subscriptionlink --include 香港 Azure --include-group YoYu --exclude Azurepython main.py -u https://home.yoyu.dev/subscriptionlink -t ssThe parameter priority is as follows:
-i > -c > -u The above sequence indicates that if the parameter has a higher priority, the parameter will be used first, and other parameters will be ignored.
--include > --include-group > --include-remark --exclude > --exclude-group > --exclude-remark The above sequence indicates that node filtering will be performed in descending order of priority.
python web.py
You can now access the WebUI through http://127.0.0.1:10870
docker run -it --rm -v ${PWD}:/app/results kaitohh/ssrspeed -u <subscription url>
docker run -it --rm -v ${PWD}:/app/results -p 10870:10870 --entrypoint "python" kaitohh/ssrspeed web.py --listen=0.0.0.0
All command-line arguments are supported. The resulted image and json file is located in the current directory.
The interfaces encapsulated in web.py are as follows:
| Path | Method | Remark |
|---|---|---|
| /getversion | GET | Get backend version information |
| /status | GET | Get backend status |
| /readsubscriptions | POST | Get subscriptions |
| /readfileconfig | POST | Upload configuration file |
| /getcolors | GET | Get the color configuration owned by the backend |
| /start | POST | Start the test, note that this is a block request, will return "done" after the test is completed, will not have any response |
| /getresults | GET | Get the current test result. If the "/start" is blocked, if you need to get the result in real time, you should poll the interface, but the time should not be less than 1s, preventing the backend from taking too much performance impact test. |
{
"main" : "2.4.1",
"webapi" : "0.4.1-beta"
}
running => Running test.
stopped => Connected to the backend but no test is running
POST => {
"url" : "subscription url"
}
Response (Success) => [
{
"type": "Proxy type of this configuration.",
"config": {"Standard Configuration"}
}
]
Response (running) => "running"
Response (Invalid URL) => "invalid url"
POST => {
file: file
}
Response (Success) => [
{
"type": "Proxy type of this configuration.",
"config": {"Standard Configuration"}
}
]
Response (running) => "running"
Response (Invalid File) => "File type not allowed"
[
{
"Color Config"
}
]
{
"status" : "running" or "pending" or "stopped",
"current" : {}, //Node information currently being tested
"results" : [] //The result array, please refer to the JSON file of the exported result for details.
}
POST => {
"testMethod" : "Test Method",
"testMode" : "Test Mode",
"colors" : "Color Name", //Ignorable
"sortMethod" : "Sort Method", //Ignorable
"useSsrCSharp": "bool", //Ignorable
"group": "Group", //Ignorable
"configs":[] //Standard configuration array
}
Response (Task Done) => "done"
Response (running) => "running"
Response (No Configs) => "no configs"
| Mode | Remark |
|---|---|
| TCP_PING | Only tcp ping, no speed test |
| WEB_PAGE_SIMULATION | Web page simulation test |
| ALL | Full speed test (exclude web page simulation) |
| Methods | Remark |
|---|---|
| ST_ASYNC | Asynchronous download with single thread |
| SOCKET | Raw socket with multithreading |
| SPEED_TEST_NET | Speed Test Net speed test |
| FAST | Fast.com speed test |
Content type
Image
Digest
Size
303.4 MB
Last updated
about 7 years ago
docker pull kaitohh/ssrspeed