{"id":13454360,"url":"https://github.com/tindy2013/stairspeedtest-reborn","last_synced_at":"2025-05-14T20:08:12.092Z","repository":{"id":37444263,"uuid":"199971599","full_name":"tindy2013/stairspeedtest-reborn","owner":"tindy2013","description":"Proxy performance batch tester based on Shadowsocks(R) and V2Ray","archived":false,"fork":false,"pushed_at":"2023-06-08T10:46:37.000Z","size":34094,"stargazers_count":3781,"open_issues_count":61,"forks_count":641,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-04-13T14:07:09.564Z","etag":null,"topics":["libevent","shadowsocks","shadowsocksr","speedtest","v2ray","web-gui"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tindy2013.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}},"created_at":"2019-08-01T03:43:14.000Z","updated_at":"2025-04-12T15:40:28.000Z","dependencies_parsed_at":"2022-07-10T14:30:30.636Z","dependency_job_id":"e56c7d84-e776-460c-8853-b5e06f1fbc66","html_url":"https://github.com/tindy2013/stairspeedtest-reborn","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tindy2013%2Fstairspeedtest-reborn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tindy2013%2Fstairspeedtest-reborn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tindy2013%2Fstairspeedtest-reborn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tindy2013%2Fstairspeedtest-reborn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tindy2013","download_url":"https://codeload.github.com/tindy2013/stairspeedtest-reborn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248724638,"owners_count":21151561,"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":["libevent","shadowsocks","shadowsocksr","speedtest","v2ray","web-gui"],"created_at":"2024-07-31T08:00:53.403Z","updated_at":"2025-04-13T14:07:15.684Z","avatar_url":"https://github.com/tindy2013.png","language":"C++","funding_links":[],"categories":["C++","\u003ca name=\"cpp\"\u003e\u003c/a\u003eC++"],"sub_categories":[],"readme":"# Stair Speedtest Reborn\r\n**Proxy performance batch tester based on Shadowsocks(R), V2Ray and Trojan**  \r\n[![Build Status](https://github.com/tindy2013/stairspeedtest-reborn/actions/workflows/build.yml/badge.svg)](https://github.com/tindy2013/stairspeedtest-reborn/actions/workflows/build.yml)\r\n[![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/tindy2013/stairspeedtest-reborn.svg)](https://github.com/tindy2013/stairspeedtest-reborn/tags)\r\n[![GitHub release](https://img.shields.io/github/release/tindy2013/stairspeedtest-reborn.svg)](https://github.com/tindy2013/stairspeedtest-reborn/releases)\r\n[![GitHub license](https://img.shields.io/github/license/tindy2013/stairspeedtest-reborn.svg)](https://github.com/tindy2013/stairspeedtest-reborn/blob/master/LICENSE)\r\n  \r\n## Intro\r\nThis is a C++ remake version of the original [Stair Speedtest](https://github.com/tindy2013/stairspeedtest) script. Despite its similarity to the script verion, this remake version works much more effectively, with faster node parsing, result picture rendering and even cross-platform support.  \r\n\r\n## Special Thanks\r\n* [@NyanChanMeow](https://github.com/nyanchanmeow) for the original script [SSRSpeed](https://github.com/nyanchanmeow/ssrspeed)\r\n* [@CareyWong](https://github.com/careywang) for Web GUI design\r\n* [@ang830715](https://github.com/ang830715)  for MacOS support\r\n* ...and a lot of people who have helped me during the testing phase!\r\n  \r\n## Installation  \r\n### Prebuilt release  \r\nGo to [Release Page](https://github.com/tindy2013/stairspeedtest-reborn/releases).  \r\n### Build\r\nIn general, you need the following build dependencies:  \r\n* curl\r\n* openssl\r\n* PNGwriter\r\n* libpng\r\n* freetype\r\n* zlib\r\n* yaml-cpp\r\n* libevent\r\n* pcre2\r\n* rapidjson\r\n  \r\nOn non-Windows platforms, you also need to have the following clients installed to 'tools/clients/':  \r\n* shadowsocks-libev\r\n* shadowsocksr-libev ('ss-local' installed as the name 'ssr-local')\r\n* v2ray-core\r\n* trojan\r\n  \r\nAfter installing all these dependencies, you can use CMake to configure and build:  \r\n```bash\r\ncmake .\r\nmake -j\r\n```\r\n\r\n## Usage\r\n* Run \"stairspeedtest\" for CLI speedtest, run \"webgui\" for Web GUI speedtest.\r\n* Results for subscribe link tests will be saved to a log file in \"results\" folder.\r\n* The result will be exported into a PNG file with the result log.\r\n* You can customize some settings by editing \"pref.ini\".\r\n## Compatibility\r\nTested platforms: \r\n  \r\n* Windows 10 1903 x64, Windows Server 2008 R2 x64, Windows 7 SP1 x64\r\n* Ubuntu 18.10\r\n* Debian 6.3\r\n* CentOS 7.6\r\n* MacOS 10.13.6 High Sierra, 10.14.6 Mojave, 10.15 Catalina\r\n* Android 8.0, 9.0 (with Termux)\r\n* iOS/iPadOS 13 (with iSH Shell) **Bad performance, only for testing purpose**\r\n* Raspberry Pi 4B with Raspbian (armv7l)\r\n  \r\nSupported proxy types:  \r\n\r\n |Proxy|Client|Config Parser|\r\n |:-:|:-:|:-:|\r\n |SSR|ShadowsocksR-libev| ShadowsocksR \\| Quantumult(X) \\| SSTap \\| Netch GSF |\r\n |SS|Shadowsocks-libev| Shadowsocks \\| ShadowsocksD \\| Shadowsocks Android \\| SSTap \\| Clash \\| Surge 2 \\| Surge 3+ \\| Quantumult(X) \\| Netch GSF |\r\n |V2RAY|V2Ray-Core| V2RayN \\| Quantumult(X) \\| Clash \\| Surge 4 \\| Netch GSF |\r\n |TROJAN|Trojan-Core| Trojan \\| Quantumult(X) \\| Surge 4 \\| Clash \\| Netch GSF |\r\n |SOCKS5|-| Telegram \\| SSTap \\| Clash \\| Surge 2+ \\| Netch GSF |\r\n \r\n## Known Bugs\r\n* Nothing yet\r\n\r\n## TODO\r\n* Nothing yet\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftindy2013%2Fstairspeedtest-reborn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftindy2013%2Fstairspeedtest-reborn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftindy2013%2Fstairspeedtest-reborn/lists"}