1. 程式人生 > 其它 >qt獲取本機全部ipv4_「原創」測試 Cloudflare CDN 所有 IP 的延遲和速度,獲取最快 IP!...

qt獲取本機全部ipv4_「原創」測試 Cloudflare CDN 所有 IP 的延遲和速度,獲取最快 IP!...

90adcd9359b4898cde26abf04c8b59f8.png

國外很多網站都在使用 Cloudflare CDN,但分配給中國訪客的 IP 並不友好。雖然 Cloudflare 公開了其所有 IP 段 ,但想要在這麼多 IP 中找到適合自己的,怕是要累死,所以就有了這個軟體。

該軟體可以批量測試 Cloudflare CDN 延遲和速度,獲取最快 IP (IPv4+IPv6)!

本專案也 適用於其他 CDN,但是需要自行尋找 CDN IP 段及下載測速地址開源專案:https://github.com/XIU2/CloudflareSpeedTest

快速使用

  1. 下載編譯好的可執行檔案 [藍奏雲] / [Github] 並解壓。
  2. 雙擊執行 CloudflareST.exe
    檔案(Windows),等待測速...
Linux 系統請先賦予執行許可權 chmod +x CloudflareST,然後再執行 ./CloudflareST 注意:建議測速時避開 高峰期(晚上~凌晨),否則測速結果會與其他時間 差距很大...

測速完畢後,會直接顯示最快的 20 個 IP,示例:

IP 地址           已傳送  已接收  丟包率  平均延遲  下載速度 (MB/s)
104.27.200.69     4       4       0.00    146.23    28.64
172.67.60.78      4       4       0.00    139.82    15.02
104.25.140.153    4       4       0.00    146.49    14.90
104.27.192.65     4       4       0.00    140.28    14.07
172.67.62.214     4       4       0.00    139.29    12.71
104.27.207.5      4       4       0.00    145.92    11.95
172.67.54.193     4       4       0.00    146.71    11.55
104.22.66.8       4       4       0.00    147.42    11.11
104.27.197.63     4       4       0.00    131.29    10.26
172.67.58.91      4       4       0.00    140.19    9.14
...

測速結果第一行是兼顧平均延遲與下載速度的最快 IP,至於拿來幹嘛?取決於你~

完整結果儲存在當前目錄下的 result.csv 檔案中,用記事本/表格軟體開啟,格式如下:

IP 地址, 已傳送, 已接收, 丟包率, 平均延遲, 下載速度 (MB/s)
104.27.200.69, 4, 4, 0.00, 146.23, 28.64
大家可以按自己需求,對完整結果 進一步篩選處理,或者去看一看進階使用 指定過濾條件

進階使用

直接執行使用的是預設引數,如果想要測速結果更全面、更符合自己的要求,可以自定義引數。

C:>CloudflareST.exe -h

CloudflareSpeedTest vX.X.X
測試 Cloudflare CDN 所有 IP 的延遲和速度,獲取最快 IP!
https://github.com/XIU2/CloudflareSpeedTest

引數:
    -n 500
        測速執行緒數量;執行緒數量越多延遲測速越快,請勿超過 1000 (誤差大);(預設 500)
    -t 4
        延遲測速次數;單個 IP 延遲測速次數,為 1 時將過濾丟包的IP,TCP協議;(預設 4)
    -tp 443
        延遲測速埠;延遲測速 TCP 協議的埠;(預設 443)
    -dn 20
        下載測速數量;延遲測速並排序後,從最低延遲起下載測速的數量;(預設 20)
    -dt 10
        下載測速時間;單個 IP 下載測速最長時間,單位:秒;(預設 10)
    -url https://cf.xiu2.xyz/Github/CloudflareSpeedTest.png
        下載測速地址;用來下載測速的 Cloudflare CDN 檔案地址,如地址含有空格請加上引號;
    -tl 200
        平均延遲上限;只輸出低於指定平均延遲的 IP,與下載速度下限搭配使用;(預設 9999 ms)
    -sl 5
        下載速度下限;只輸出高於指定下載速度的 IP,湊夠指定數量 [-dn] 才會停止測速;(預設 0 MB/s)
    -p 20
        顯示結果數量;測速後直接顯示指定數量的結果,為 0 時不顯示結果直接退出;(預設 20)
    -f ip.txt
        IP段資料檔案;如路徑含有空格請加上引號;支援其他 CDN IP段;(預設 ip.txt)
    -o result.csv
        輸出結果檔案;如路徑含有空格請加上引號;為空格時不輸出 [-o " "];(預設 result.csv)
    -dd
        禁用下載測速;禁用後測速結果會按延遲排序(預設按下載速度排序);(預設 啟用)
    -ipv6
        IPv6測速模式;確保 IP 段資料檔案內只包含 IPv6 IP段,軟體不支援同時測速 IPv4+IPv6;(預設 IPv4)
    -allip
        測速全部的IP;對 IP 段中的每個 IP (僅支援 IPv4) 進行測速;(預設 每個 IP 段隨機測速一個 IP)
    -v
        列印程式版本+檢查版本更新
    -h
        列印幫助說明

使用示例

在 CMD 中執行,或者把啟動引數新增到快捷方式中。

# 命令列示例
# 注意:各引數均有預設值,只有不使用預設值時,才需要手動指定引數的值(按需選擇),引數不分前後順序。  
# 提示: Linux 系統只需要把下面命令中的 CloudflareST.exe 改為 ./CloudflareST 即可。  

# 指定 IPv4 資料檔案,不顯示結果直接退出(-p 值為 0)
CloudflareST.exe -p 0 -f ip.txt -dd

# 指定 IPv6 資料檔案( ipv6.txt ),不顯示結果直接退出(-p 值為 0)
CloudflareST.exe -p 0 -f ipv6.txt -dd -ipv6

# ——————————————————————

# 指定 IPv4 資料檔案,不輸出結果到檔案,直接顯示結果(-p 值為 10 條)
CloudflareST.exe -p 10 -f ip.txt -o " " -dd

# 指定 IPv4 資料檔案 及 輸出結果到檔案(相對路徑,即當前目錄下,如果包含空格請加上引號)
CloudflareST.exe -f ip.txt -o result.csv -dd

# 指定 IPv4 資料檔案 及 輸出結果到檔案(絕對路徑,即 C:abc 目錄下,如果包含空格請加上引號)
CloudflareST.exe -f C:abcip.txt -o C:abcresult.csv -dd

# ——————————————————————

# 指定下載測速地址(要求:可以直接下載、檔案大小超過 200MB、用的是 Cloudflare CDN),如含空格請加引號
CloudflareST.exe -url https://cf.xiu2.xyz/Github/CloudflareSpeedTest.png

# ——————————————————————

# 指定測速條件(只有同時滿足三個條件時才會停止測速):

# 平均延遲上限:9999 ms,下載速度下限:5 MB/s,數量:10 個
# 即需要找到 10 個平均延遲低於 9999 ms 且 下載速度高於 5 MB/s 的 IP 才會停止測速。
CloudflareST.exe -sl 5 -dn 10

# 沒有指定平均延遲上限時,如果一直湊不夠滿足條件的 IP 數量,會一直測速下去。  
# 所以建議同時指定 下載速度下限 和 平均延遲上限,這樣測試到指定延遲還沒湊夠數量,就會終止測速。

# 平均延遲上限:200 ms,下載速度下限:5 MB/s,數量:10 個
# 即需要找到 10 個平均延遲低於 200 ms 且 下載速度高於 5 MB/s 的 IP 才會停止測速。
CloudflareST.exe -tl 200 -sl 5 -dn 10

# 如果一個滿足條件的 IP 都沒找到,那麼就會和不指定條件一樣輸出完整結果。
# 所以建議先不指定條件測速一遍,看看平均延遲和下載速度大概在什麼範圍,避免指定條件過低/過高!


# 快捷方式示例(右鍵快捷方式 - 目標)

## 如果有引號就放在引號外面,記得引號和 - 之間有空格。
"D:Program FilesCloudflareSTCloudflareST.exe" -n 500 -t 4 -dn 20 -dt 5

感謝專案

  • https://github.com/Spedoske/CloudflareScanner

許可證

The GPL-3.0 License.