CF测速脚本及批量更新DNS记录脚本

网上找到的脚本有些累赘,自己重写了个IP测速脚本。

@shift /0
@echo off
setlocal enabledelayedexpansion

echo -----------------------------------------
echo              CF优选IP脚本电脑版
echo -----------------------------------------
timeout /t 2 > nul

ping -n 2 www.google.com >nul 2>nul && echo 警告:当前可访问外网,请关闭代理 || echo 状态正常:适合优选IP


echo.
echo  [1] 使用优选IPv4(默认)
echo  [2] 使用优选IPv6

echo.
choice /c 12 /n /m "请选择1或2(10秒后默认选1)" /t 10 /d 1
if errorlevel 2 (
    set "v_f=ipv6.txt"
    set "v_o=result_IPv6.csv"
) else (
    set "v_f=ip.txt"
    set "v_o=result_IPv4.csv"
)

echo.
:: 设置默认值
set "v_tp=443"
set "v_n=1000"
set "v_dn=6"
set "v_tl=250"
set "v_sl=50"
:: 用户输入(回车自动使用默认值)
set /p "v_tp=测试用端口范围443、8443、2053、2083、2087、2096(默认 %v_tp%): " || ver >nul
echo.
set /p "v_n=请输入测试线程数量(默认 %v_n%): " || ver >nul
echo.
set /p "v_dn=测试并显示的IP数量(默认 %v_dn%): " || ver >nul
echo.
set /p "v_tl=平均延迟上限(默认 %v_tl%): " || ver >nul
echo.
set /p "v_sl=下载速度下限(默认 %v_sl%): " || ver >nul

cls

echo 开始测速...

echo.|CloudflareST.exe -tp %v_tp% -n %v_n%  -dn %v_dn% -tl %v_tl% -sl %v_sl% -f  %v_f% -o %v_o%

做了个配套的CF域名DNS记录自动更新脚本 IPv4 版本

@shift /0
@echo off
setlocal enabledelayedexpansion

set zones="你的zones id"
set Key="你了key"
set Mail="你的账号邮箱"

set ID1=""
set Domain1=""
set ID2=""
set Domain2=""
set ID3=""
set Domain3=""
set ID4=""
set Domain4=""
set ID5=""
set Domain5=""
set ID6=""
set Domain6=""
set ID7=""
set Domain7=""
set ID8=""
set Domain8=""
set ID9=""
set Domain9=""
set ID10=""
set Domain10=""

for /f "tokens=1 delims=," %%i in (result_IPv4.csv) do (
    set /a n+=1 
    If !n!==2 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID1%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain1%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==3 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID2%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain2%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)	
	If !n!==4 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID3%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain3%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==5 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID4%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain4%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==6 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID5%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain5%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==7 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID6%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain6%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==8 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID7%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain7%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==9 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID8%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain8%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==10 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID9%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain9%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==11 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID10%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"A\",\"name\":\"%Domain10%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
)

echo.
echo 完成...
echo.
:STOP
pause 

配套的CF域名DNS记录自动更新脚本 IPv6 版本

@shift /0
@echo off
setlocal enabledelayedexpansion

set zones="你的zones id"
set Key="你了key"
set Mail="你的账号邮箱"

set ID1=""
set Domain1=""
set ID2=""
set Domain2=""
set ID3=""
set Domain3=""
set ID4=""
set Domain4=""
set ID5=""
set Domain5=""
set ID6=""
set Domain6=""
set ID7=""
set Domain7=""
set ID8=""
set Domain8=""
set ID9=""
set Domain9=""
set ID10=""
set Domain10=""

for /f "tokens=1 delims=," %%i in (result_IPv6.csv) do (
    set /a n+=1 
    If !n!==2 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID1%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain1%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==3 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID2%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain2%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)	
	If !n!==4 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID3%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain3%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==5 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID4%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain4%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==6 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID5%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain5%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==7 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID6%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain6%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==8 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID7%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain7%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==9 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID8%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain8%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==10 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID9%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain9%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
	If !n!==11 (
        echo %%i
        .\bin\curl.exe -X PUT "https://api.cloudflare.com/client/v4/zones/%zones%/dns_records/%ID10%" ^
                -H "X-Auth-Email: %Mail%" ^
	-H "X-Auth-Key: %Key%" ^
	-H "Content-Type: application/json" ^
                --data "{\"type\":\"AAAA\",\"name\":\"%Domain10%\",\"content\":\"%%i\",\"ttl\":60,\"proxied\":false}"
		)
)


echo 完成...
echo.
:STOP
pause 
Language
中文(简体) 中文(繁體) 日本語 한국어 русский English français Deutsch español italiano বাংলা (ভারত) العربية ไทย Tiếng Việt Bahasa Melayu Filipino ελληνικά magyar dansk norsk íslenska Gaeilge