XIU2/CloudflareSpeedTest · warning
CFST 测速结果 IP 数量为 0,跳过下面步骤...
Error message
CFST 测速结果 IP 数量为 0,跳过下面步骤...
What it means
Guard in cfst_hosts.bat (the Windows hosts-file updater, a GBK-encoded file shown here as mojibake): after `echo.|cfst.exe -o "result_hosts.txt"`, `if not exist result_hosts.txt` prints 'CFST 测速结果 IP 数量为 0' and jumps to :STOP. CFST only creates the -o file when at least one IP survives its latency/speed tests, so a missing file equals zero usable IPs. The script intentionally leaves the hosts file unchanged instead of writing a blank/garbage IP.
Source
Thrown at script/cfst_hosts.bat:65
::�� nowip_hosts.txt �ļ���ȡ��ǰ Hosts ��ʹ�õ� Cloudflare CDN IP
set /p nowip=<nowip_hosts.txt
echo ��ʼ����...
:: ��� RESET �Ǹ���Ҫ "�Ҳ������������� IP ��һֱѭ��������ȥ" ���ܵ�������
:: �����Ҫ������ܾͰ����� 3 �� goto :STOP ��Ϊ goto :RESET ����
:RESET
:: ��������Լ����ӡ��� CFST �����в�����echo.| ���������Զ��س��˳���������Ҫ���� -p 0 �����ˣ�
echo.|cfst.exe -o "result_hosts.txt"
:: �жϽ���ļ��Ƿ���ڣ����������˵�����Ϊ 0
if not exist result_hosts.txt (
echo.
echo CFST ���ٽ�� IP ����Ϊ 0���������沽��...
goto :STOP
)
:: ��ȡ��һ�е���� IP
for /f "skip=1 tokens=1 delims=," %%i in ('more result_hosts.txt') do (
SET bestip=%%i
goto :END
)
:END
:: �жϸոջ�ȡ����� IP �Ƿ�Ϊ�գ��Լ��Ƿ�;� IP һ��
if "%bestip%"=="" (
echo.
echo CFST ���ٽ�� IP ����Ϊ 0���������沽��...
goto :STOP
)
if "%bestip%"=="%nowip%" (
View on GitHub (pinned to 1da0c025d7)
Solutions
- Run cfst.exe manually in the script folder and confirm result_hosts.txt gets data rows; if 0 IPs, relax -sl/-tl in the script.
- Check that cfst.exe is present and not quarantined (Windows Security > Protection history).
- For scheduled tasks, set 'Start in' to the script directory so result_hosts.txt is created where the .bat looks.
- Refresh the candidate pool (-f ip.txt with a recent list, or re-download the release's bundled ip.txt/ipv6.txt).
- If the goal is auto-retry, follow the file's own comment and change `goto :STOP` to `goto :RESET` so a failed round is retried.
Example fix
:: before
echo.|cfst.exe -o "result_hosts.txt"
if not exist result_hosts.txt (
echo.
echo CFST 测速结果 IP 数量为 0,跳过下面步骤...
goto :STOP
)
:: after — retry once with looser filters, using the file's own RESET mechanism
echo.|cfst.exe -o "result_hosts.txt"
if not exist result_hosts.txt (
echo.|cfst.exe -sl 0 -o "result_hosts.txt"
)
if not exist result_hosts.txt (
echo.
echo CFST 测速结果 IP 数量为 0,跳过下面步骤...
goto :STOP
) Defensive patterns
Strategy: validation
Validate before calling
:: Pre-flight for cfst_hosts.bat
@echo off
if not exist cfst.exe ( echo cfst.exe missing & goto :STOP )
del result_hosts.txt 2>nul
echo.|cfst.exe -o "result_hosts.txt"
:: require an actual data row, not just a created file
for %%A in (result_hosts.txt) do if %%~zA LEQ 60 (
echo CFST 测速结果 IP 数量为 0,跳过下面步骤...
goto :STOP
) Prevention
- Keep -sl low enough that at least one IP always survives on an ordinary day.
- Set 'Start in' on scheduled tasks to the script's folder.
- Re-download the release's ip.txt/ipv6.txt when results thin out.
- Check Windows protection history if cfst.exe silently disappears.
- Use goto :RESET instead of goto :STOP if you want automatic retries.
When it happens
Trigger: cfst.exe finds 0 qualifying IPs (filters too strict: -tl/-sl/-tll), the exe never ran (missing, blocked by antivirus, wrong working directory), an IP-version mismatch (v6 pool on a v4-only machine), or the -o path was changed so the file is written elsewhere.
Common situations: Raising -sl to chase faster IPs and excluding everything in the current pool; scheduled-task runs where 'start in' is not set to the script folder; Windows Defender quarantining cfst.exe; corporate proxies/SSL inspection breaking the download test so every IP scores 0 MB/s.
Related errors
- CFST 测速结果 IP 数量为 0,跳过下面步骤...
- CFST 测速结果 IP 数量为 0,跳过下面步骤...
- CFST 测速结果 IP 数量为 0,跳过下面步骤...
- CFST 测速结果 IP 数量为 0,跳过下面步骤...
- CFST 测速结果 IP 数量为 0,跳过下面步骤...
AI-assisted analysis of XIU2/CloudflareSpeedTest@1da0c025d7 (2026-08-15).
Data as JSON: /api/errors/6a5861876804c33e.
Report an issue: GitHub.