ip-check 的 Go 版本,现已改成多命令入口结构,覆盖原仓库的核心功能:
- 配置解析
- IP / CIDR /
ip:port/ 域名输入 - GEO 信息查询
- 可用性检测
- RTT 测试
- 单线程下载测速
ip-filterigeo-infoigeo-dlip-check-cfgigeo-cfg
该仓库由 AI Vibe Coding 生成和维护,属于实验性质产物,未经严格测试,不保证正确性、稳定性或兼容性,使用风险自担。
- Go
1.24.0 makegit
如果你在 Ubuntu 上从零开始,先装基础工具:
sudo apt update
sudo apt install -y make git ca-certificates curl然后安装 Go 1.24.0。如果系统里已经有旧版 Go,建议先确认当前版本:
go version如果不是 go1.24.0,可以直接用官方压缩包安装到 /usr/local:
cd /tmp
curl -LO https://go.dev/dl/go1.24.0.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz
echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
go version如果是 ARM64 机器,把文件名换成 go1.24.0.linux-arm64.tar.gz。
先拉依赖并整理模块:
cd ip-check-go
go mod tidy然后直接编译全部命令:
cd ip-check-go
make build如果你只想看 Make 的最小流程,可以按这个顺序执行:
make tidy
make build这会生成:
bin/ip-checkbin/ip-check-cfgbin/igeo-infobin/igeo-dlbin/igeo-cfgbin/ip-filterbin/config-ex.inibin/geo-ex.ini
如果你想自己指定目标平台和输出目录,直接传 GOOS、GOARCH、OUT_DIR:
make build GOOS=linux GOARCH=arm64 OUT_DIR=dist/linux-arm64
make build GOOS=windows GOARCH=amd64 OUT_DIR=dist/windows-amd64如果不指定 GOOS / GOARCH,默认就是当前系统环境。
当前 Makefile 帮助里列出的支持值为:
GOOS:linux,windowsGOARCH:amd64,arm64
如果你要一次性编译多平台:
make build-all会输出到这些目录:
bin/linux-amd64/bin/linux-arm64/bin/windows-amd64/
也可以单独编译指定平台:
make build GOOS=linux GOARCH=amd64 OUT_DIR=bin/linux-amd64
make build GOOS=linux GOARCH=arm64 OUT_DIR=bin/linux-arm64
make build GOOS=windows GOARCH=amd64 OUT_DIR=bin/windows-amd64如果你不想用 make,也可以分别编译六个命令:
go build -o bin/ip-check ./cmd/ip-check
go build -o bin/ip-check-cfg ./cmd/ip-check-cfg
go build -o bin/igeo-info ./cmd/igeo-info
go build -o bin/igeo-dl ./cmd/igeo-dl
go build -o bin/igeo-cfg ./cmd/igeo-cfg
go build -o bin/ip-filter ./cmd/ip-filter如果你只是临时测试,也可以分别运行:
go run ./cmd/ip-check -- test.txt
go run ./cmd/igeo-info -- 1.1.1.1
go run ./cmd/ip-filter -- test.txt -o out.txt程序默认使用“命令所在目录”:
- 直接读取可执行文件所在目录里的
config.ini/geo.ini - 默认配置由同目录下的
config-ex.ini/geo-ex.ini原样复制生成 - 如果后续你希望固定目录,再设置
IPCHECK_HOME
首次运行会自动生成:
config.inigeo.iniconfig-ex.inigeo-ex.ini
GEO 数据库默认也放在同目录:
GeoLite2-City.mmdbGeoLite2-ASN.mmdb
./bin/ip-check test.txt
./bin/ip-check 1.1.1.1/24 -p 443 -s 5000 -r 300
./bin/ip-check test.txt -dv
./bin/ip-check test.txt -dr
./bin/ip-check test.txt -u https://speed.cloudflare.com/__down?bytes=500000000
./bin/ip-filter test.txt -o filtered.txt
./bin/igeo-info 1.1.1.1 8.8.8.8
./bin/igeo-dl -y
./bin/ip-check-cfg
./bin/igeo-cfgMIT