Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

当测速结果 IP 数量为 0 时(没找到满足条件的 IP),如何一直循环重新测速下去? #143

Open
amaow opened this issue Dec 13, 2021 · 5 comments
Labels
工具教程 辅助工具 或 技巧教程 常见问题 新手常见问题

Comments

@amaow
Copy link

amaow commented Dec 13, 2021

我这里网络太差,每次都得打开测试很多次才能有一个能用的,能修改一下直到有结果在停止运行 没结果就一直运行 直到有结果再停止
谢谢作者大大

@XIU2
Copy link
Owner

XIU2 commented Dec 14, 2021

这种情况,还是建议你放弃 Cloudflare 吧。。。


注意!

目前最新版本的压缩包中的各个 cfst_xx.sh / cfst_xx.bat 脚本文件都已经加入下面我说的循环测速代码了,只不过默认是注释的,具体自己编辑查看这些脚本文件就能看到,自行取消被注释的相关代码


也不需要我改软件,只需要把写的那些脚本改改就能实现一样的效果。

比如 cfst_hosts.bat 脚本,只需要在 CloudflareST 运行代码前面再添加一行 :RESET

:RESET
:: 这里可以自己添加、修改 CloudflareST 的运行参数,echo.| 的作用是自动回车退出程序(不再需要加上 -p 0 参数了)
echo.|CloudflareST.exe

然后往下面翻一点,把这两个 :STOP 改成 :RESET 即可:

if "%bestip%"=="" (
echo.
echo CloudflareST 测速结果 IP 数量为 0,跳过下面步骤...
goto :STOP
)
if "%bestip%"=="%nowip%" (
echo.
echo CloudflareST 测速结果 IP 数量为 0,跳过下面步骤...
goto :STOP
)

这样当测速结果是 0 的时候,就不是中止脚本,而是重新测速了。

@XIU2
Copy link
Owner

XIU2 commented Dec 17, 2021

补充一下,如果 脚本/CloudflareST 所在目录下已经存在 result.csv 文件那么为了避免共用该文件而出现问题,也需要改一下脚本中的 result.csv 文件名。


先在 CloudflareST 运行命令后面加上指定文件名的参数(文件名随意):

:: 这里可以自己添加、修改 CloudflareST 的运行参数,echo.| 的作用是自动回车退出程序(不再需要加上 -p 0 参数了)
echo.|CloudflareST.exe -o "result123.txt"

然后把下面一点的 result.csv 改成上面指定的文件名:

for /f "tokens=1 delims=," %%i in (result123.txt) do (
    SET /a n+=1 
    If !n!==2 (
        SET bestip=%%i
        goto :END
    )
)

@XIU2
Copy link
Owner

XIU2 commented Dec 17, 2021

算了,我干脆把这几个脚本文件都改了改,所有文件名都独立分开,同时把那个 :RESET 代码都加进去了(不过默认是注释的)。
你重新下载压缩包把最新的脚本文件提取出来,根据注释内容去稍微改下就行了。

@XIU2 XIU2 added 常见问题 新手常见问题 工具教程 辅助工具 或 技巧教程 labels Dec 18, 2021
@XIU2 XIU2 changed the title 当测速结果 IP 数量为 0 时,怎么才能让他继续重新运行 当测速结果 IP 数量为 0 时(没找到满足条件的 IP),如何一直循环重新测速下去? Dec 21, 2021
@ColderCoder
Copy link

记得之前的版本 在筛选条件比较严苛的情况下(延迟条件在晚上炸的时候较难满足),结果会是空,这个空结果会被存进nowip,写进hosts,导致之后无法使用(得手动再改一下hosts和nowip)。所以这个功能或许有必要()

@XIU2
Copy link
Owner

XIU2 commented Jan 9, 2022

@ColderCoder 去年 9 月有人反馈后 #119 ,我就更新了 cfst_hosts 等脚本,修复了这个问题(加了个几个判断,如下:

:: 判断结果文件是否存在,如果不存在说明结果为 0
if not exist result_hosts.txt (
    echo.
    echo CloudflareST 测速结果 IP 数量为 0,跳过下面步骤...
    goto :STOP
)

...
...

:: 判断刚刚获取的最快 IP 是否为空,以及是否和旧 IP 一样
if "%bestip%"=="" (
    echo.
    echo CloudflareST 测速结果 IP 数量为 0,跳过下面步骤...
    goto :STOP
)
if "%bestip%"=="%nowip%" (
    echo.
    echo CloudflareST 测速结果 IP 数量为 0,跳过下面步骤...
    goto :STOP
)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
工具教程 辅助工具 或 技巧教程 常见问题 新手常见问题
Projects
None yet
Development

No branches or pull requests

3 participants