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
