Skip to content
/ iptest Public

一个用于测试 Cloudflare IP 地址延迟和下载速度的 Go 语言工具。支持并发检测、延迟过滤、下载测速,并将结果导出为 CSV 文件。

License

Notifications You must be signed in to change notification settings

Kwisma/iptest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cloudflare IP 测试工具

一个用于测试 Cloudflare IP 地址延迟和下载速度的 Go 语言工具。支持并发检测、延迟过滤、下载测速,并将结果导出为 CSV 文件。

功能特性

  • 并发测试:支持自定义最大并发线程数。
  • 延迟检测:可设置延迟阈值过滤高延迟 IP。
  • 下载测速:支持多线程下载速度测试。
  • 地理位置信息:自动获取数据中心和地理位置信息(支持中英文)。
  • 结果导出:生成 CSV 文件,包含 IP、端口、延迟、下载速度等详细信息。
  • TLS 支持:可切换 HTTP/HTTPS 协议进行测试。

安装

编译步骤

  1. 克隆仓库或下载代码:
git clone https://github.com/Kwisma/iptest.git
cd iptest

2.编译程序

go build -o iptest iptest.go

使用方法

点击 Releases 下载执行文件

基本命令

./iptest -file=ip.txt -outfile=result.csv

参数说明

参数 默认值 说明
-file ip.txt IP 地址文件路径,格式为每行 IP 端口(例如 1.1.1.1 443)。
-outfile ip.csv 输出 CSV 文件路径。
-max 100 最大并发协程数。
-speedtest 5 下载测速协程数量,设为 0 禁用测速。
-url speed.cloudflare.com/__down?bytes=500000000 测速文件地址(默认为 Cloudflare 大文件)。
-tls true 是否启用 TLS(true 为 HTTPS,false 为 HTTP)。
-delay 0 延迟阈值(毫秒),超过此值的 IP 将被过滤(设为 0 禁用过滤)。

示例

1.基础测试(仅延迟):

./iptest -file=ip.txt -outfile=fast-ips.csv -max=200 -speedtest=0

2.启用下载测速:

./iptest -file=ip.txt -outfile=result.csv -speedtest=10 -tls=true

3.过滤高延迟 IP:

./iptest -delay=150  # 仅保留延迟 ≤150ms 的 IP

输入文件格式

  • 文件需为纯文本格式,每行包含一个 IP 和端口,例如:
1.1.1.1 443
2.2.2.2 2053

输出文件说明

CSV 文件包含以下字段:

  • IP地址端口TLS数据中心源IP位置地区城市地区(中文)国家城市(中文)国旗网络延迟下载速度(若启用测速)。

注意事项

1.文件权限:首次运行会自动下载 locations.json,请确保有写入权限。

2.网络连接:需能访问 https://locations-adw.pages.dev/ 以下载地理位置数据。

3.Linux 系统:可能需要 sudo 权限提升文件描述符上限。

4.测速文件:默认使用 Cloudflare 的 500MB 文件,确保测试 IP 允许大流量下载。

许可证

本项目采用 GNU General Public License v3.0 开源许可证。 您可以在以下链接查看完整协议内容: https://www.gnu.org/licenses/gpl-3.0.html

主要条款

  • 自由使用:允许自由使用、修改和分发本软件。
  • 开源要求:修改后的衍生作品必须以相同许可证开源。
  • 版权声明:所有副本必须包含原始版权声明和许可证声明。
  • 免责条款:本软件不提供任何担保,作者不承担使用风险。

致谢

代码基于白嫖哥源码修改:https://t.me/CF_NAT/38811

delay 添加参考: https://github.com/yutian81/IP-SpeedTest

批量获取ip

更换初始数据即可开始

安装依赖

apt install golang-go
npm install -P

运行

整理并去重

node ip_init.js

测试有效ip

  • 参数说明

  • file 默认输入文件 ip.txt IP地址文件名称,格式为 ip port ,就是IP和端口之间用空格隔开

  • outfile 默认输出文件命名称 ip.csv

  • max 默认并发 100 并发请求最大协程数

  • speedtest 默认并发 5 下载测速协程数量,设为0禁用测速

  • url 默认测速地址 speed.cloudflare.com/__down?bytes=500000000 测速文件地址

  • tls 默认参数 true 是否启用TLS

go run iptest.go -file ip_tq.txt -outfile ip_tq.csv

提取有速度的ip并整理为指定格式

node ip_tq.js

格式转换

多个/单个 XLSX 转 CSV

多个 CSV 合并

  • init.csv 为输出文件名
node csv_hb.js init.csv 文件.csv 文件2.xlsx

也可以指定目录合并

node csv_hb.js init.csv ./ipfofa

js格式化

安装工具

npm install --global prettier

格式化文件

prettier --write ip_init.js

About

一个用于测试 Cloudflare IP 地址延迟和下载速度的 Go 语言工具。支持并发检测、延迟过滤、下载测速,并将结果导出为 CSV 文件。

Resources

License

Stars

Watchers

Forks

Packages

No packages published