forked from PauperZ/SSRSpeedN
-
Notifications
You must be signed in to change notification settings - Fork 0
/
开始测速.bat
234 lines (224 loc) · 8.11 KB
/
开始测速.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
@echo off&
echo.
echo ##### 请放在SSRSpeed目录下运行 #####
echo.
if exist "%~dp0\main.py" (python main.py --version>ver.txt && for /f "delims=" %%i in (ver.txt) do ( set ver=%%i ) && echo 已在SSRSpeed目录下,欢迎使用 && echo 当前版本%%i && del ver.txt) else (echo 请放在SSRSpeed目录下运行! )
if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0
bcdedit >nul
if '%errorlevel%' NEQ '0' (echo 当前无管理员权限) else (echo 当前已获取管理员权限)
if exist "%~dp0\clients\v2ray-core\v2ray.exe" ( set v1=1 ) else ( set v1=0 )
if exist "%~dp0\clients\v2ray-core\v2ctl.exe" ( set v2=1 ) else ( set v2=0 )
set /a v3=v1+v2
if %v3%==2 (echo 已安装V2ray-core ) else (echo 未安装V2ray-core )
:start
echo ====================================
echo 1:开始测速(自定义设置)
echo 2:首次运行前安装pip和相关支持(需要管理员权限)
echo 3:参数查阅
echo 4:当前SSRSpeed版本
echo 5:为本次运行获取管理员权限
echo ====================================
echo 请选择(1~5):
choice /c 12345
if %errorlevel%==5 (goto :uac)
if %errorlevel%==4 (goto :ver)
if %errorlevel%==3 (goto :help)
if %errorlevel%==2 (goto :pip)
if %errorlevel%==1 (goto :test2)
:pip
if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0
bcdedit >nul
if '%errorlevel%' NEQ '0' (echo #当前无管理员权限,无法安装。 && echo. && echo #您可以通过命令5获取权限,或右键以管理员权限启动。 && pause && goto :start) else (goto :pip2)
:pip2
python -m pip install --upgrade pip
pip3 install -r %~dp0%\requirements.txt
::pip3 install requests
::pip3 install pyyaml
::pip3 install Pillow
::pip3 install pysocks
::pip3 install aiohttp
::pip3 install aiohttp_socks
::pip3 install requests[socks]
::pip3 install flask
::pip3 install flask-cors
pause
goto :start
:ver
python main.py --version
pause
goto :start
:help
echo.
echo 1:原文(en)
echo 2:翻译(zh)
choice /c 12
if %errorlevel%==2 (goto :fy)
if %errorlevel%==1 (goto :yw)
:yw
echo.
echo Usage: main.py [options] arg1 arg2...
echo.
echo Options:
echo.
echo --version show program's version number and exit
echo -h, --help show this help message and exit
echo -c GUICONFIG, --config=GUICONFIG Load config generated by shadowsocksr-csharp.
echo -u URL, --url=URL Load ssr config from subscription url.
echo -m TEST_METHOD, --method=TEST_METHOD Select test method in Select test method in [speedtestnet, fast, socket, stasync].
echo -M TEST_MODE, --mode=TEST_MODE Select test mode in [all,pingonly,wps].
echo --include Filter nodes by group and remarks using keyword.
echo --include-remark Filter nodes by remarks using keyword.
echo --include-group Filter nodes by group name using keyword.
echo --exclude Exclude nodes by group and remarks using keyword.
echo --exclude-group Exclude nodes by group using keyword.
echo --exclude-remark Exclude nodes by remarks using keyword.
echo --use-ssr-cs Replace the ShadowsocksR-libev with the ShadowsocksR-C# (Only Windows)
echo -g GROUP Manually set group.
echo -y, --yes Skip node list confirmation before test.
echo -C RESULT_COLOR, --color=RESULT_COLOR Set the colors when exporting images..
echo -S SORT_METHOD, --sort=SORT_METHOD Select sort method in [speed,rspeed,ping,rping],default not sorted.
echo -i IMPORT_FILE, --import=IMPORT_FILE Import test result from json file and export it.
echo --skip-requirements-check Skip requirements check.
echo --debug Run program in debug mode.
echo.
echo Test Modes
echo Mode Remark
echo TCP_PING Only tcp ping, no speed test
echo WEB_PAGE_SIMULATION Web page simulation test
echo ALL Full speed test (exclude web page simulation)
echo.
echo Test Methods
echo Methods Remark
echo ST_ASYNC Asynchronous download with single thread
echo SOCKET Raw socket with multithreading
echo SPEED_TEST_NET Speed Test Net speed test
echo FAST Fast.com speed test
echo.
pause
goto :start
:fy
echo.
echo 用法:main.py [options] arg1 arg2...
echo.
echo 选项:
echo.
echo --version 显示程序的版本号并退出
echo -h,--help 显示此帮助消息并退出
echo -c GUICONFIG,--config = GUICONFIG 加载由shadowsocksr-csharp生成的配置。
echo -u URL,--url = URL 从订阅URL加载ssr配置。
echo -m TEST_METHOD,--method = TEST_METHOD 在[speedtestnet,fast,socket,stasync]中选择测试方法。
echo -M TEST_MODE,--mode = TEST_MODE 在[all,pingonly,wps]中选择测试模式。
echo --include 按组过滤节点,并使用关键字注释。
echo --include-remark 使用关键字通过注释过滤节点。
echo --include-group 使用关键字按组名过滤节点。
echo --exclude 按组排除节点,并使用关键字进行注释。
echo --exclude-group 使用关键字按组排除节点。
echo --exclude-remark 通过使用关键字的注释排除节点。
echo --use-ssr-cs 用ShadowsocksR-C#替换ShadowsocksR-libev(仅Windows)
echo -g GROUP 手动设置组。
echo -y,--yes 测试前跳过节点列表确认。
echo -C RESULT_COLOR,--color = RESULT_COLOR 导出图像时设置颜色。
echo -S SORT_METHOD,--sort = SORT_METHOD 在[speed,rspeed,ping,rping]中选择排序方法,默认不排序。
echo -i IMPORT_FILE,--import = IMPORT_FILE 从json文件导入测试结果并导出。
echo -skip-requirements-check 跳过要求检查。
echo --debug 在调试模式下运行程序。
echo.
echo 测试模式
echo 模式 备注
echo TCP_PING 仅tcp ping,无速度测试
echo WEB_PAGE_SIMULATION 网页模拟测试
echo ALL 全速测试(不包括网页模拟)
echo.
echo 测试方法
echo 方法 备注
echo ST_ASYNC 单线程异步下载
echo SOCKET 具有多线程的原始套接字
echo SPEED_TEST_NET SpeedTest.Net速度测试
echo FAST Fast.com速度测试
echo.
pause
goto :start
:test2
echo.
echo 以下自定义选项留空回车即可跳过
echo.
:test3
set /p a=请输入您的订阅链接(不可留空):
if "%a%"=="" (
goto :test3
) else (
goto :jx1
)
:jx1
echo 以下2项可以通过空格分隔关键词
set /p e=1.使用关键字通过注释筛选节点:
set /p i=2.通过使用关键字的注释排除节点:
set /p k=3.请输入测速组名:
set /p m=4.导出图像时设置颜色[origin,poor],默认origin:
set /p n=5.在[speed,rspeed,ping,rping]中选择输入排序方法,默认不排序,如默认请跳过:
echo.
if "%e%"=="" (
set e= && goto :jx1
) else (
set e=--include-remark %e% && goto :jx1
)
:jx1
if "%i%"=="" (
set i= && goto :jx2
) else (
set i=--exclude-remark %i% && goto :jx2
)
:jx2
if "%k%"=="" (
set k= && goto :jx3
) else (
set k=-g %k% && goto :jx3
)
:jx3
set l=-y && goto :jx4
:jx4
if "%m%"=="" (
set m= && goto :jx5
) else (
set m=-C %m% && goto :jx5
)
:jx5
if "%n%"=="" (
set n= && goto :jx6
) else (
set n=-s %n% && goto :jx6
)
:jx6
set o=--skip-requirements-check && goto :jx7
:jx7
echo python main.py -u "%a%" %e% %i% %k% %y% %m% %n% %o%
echo.
python main.py -u "%a%" %e% %i% %k% %y% %m% %n% %o%
pause
set a=
set e=
set i=
set k=
set y=
set m=
set n=
set o=
goto :start
:uac
echo.
if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0
bcdedit >nul
if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin)
:UACPrompt
echo 提示:通用依赖安装需要管理员权限(命令4)
echo.
echo 尝试获取管理员权限,程序将重启
ping -n 3 127.0.0.1>nul && %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
exit /B
:UACAdmin
cd /d "%~dp0"
echo.
echo 已获取管理员权限
echo.
pause
goto :start