一个基于Globalping的简单工具,根据延迟将IP解析到物理位置。
在我们的博客中了解更多关于此工具及其存在的原因:
我们也有家庭版 ipinfo,或如何使用延迟在 CLI 中对 IP 进行地理定位
git clone https://github.com/jimaek/geolocation-tool
cd geolocation-tool
npm install && npm link
geolocate
docker run \
-e GLOBALPING_TOKEN=<optional_token> \
--name geolocation-tool \
--rm \
$(docker build -q .) \
-- <IP_ADDRESS> [OPTIONS]
建议使用 token 运行工具,以实现每小时 500 次测试的更高限制。
此工具将从环境变量 GLOBALPING_TOKEN 读取 token。该变量与 Globalping CLI 使用的变量相同。
在 Globalping Dashboard 获取免费 token。
解析一个 IP。每阶段默认限制为 50 个探测点。
美国有 4 个阶段。所有其他国家/地区有 3 个阶段。
这意味着总用量为 阶段数 × 限制。
因此默认情况下,美国为 200,其他地区为 150。
第一阶段中还有 +30 用于大洲选择。
geolocate 213.133.116.45
-L/--limit 设置每阶段探测点的更高限制。
这将提高精度,尤其是城市级别,但会消耗大量积分。
geolocate 213.133.116.45 -L 200
显式提供 token
GLOBALPING_TOKEN=XXX geolocate 213.133.116.45
# geolocate 45.95.160.61
Geolocating 45.95.160.61...
Phase 1: Detecting continent...
Europe: 123.12 ms
Oceania: 172.49 ms
North America: 57.23 ms
South America: 93.96 ms
Asia: 167.03 ms
Africa: 257.46 ms
Best continent: North America (57.23 ms)
Phase 2: Detecting country...
Measuring from 50 probes...
[████████████████████████████████████████] 100.0% 50/50 - Best: US (0.01 ms)
United States: 0.01ms
Canada: 42.96ms
Best country: United States (0.01ms)
Phase 3: Detecting US state...
Measuring from 50 probes...
[████████████████████████████████████████] 100.0% 50/50 - Best: FL (0.26 ms)
Florida: 0.26ms
Illinois: 0.38ms
Oklahoma: 0.81ms
Best state: Florida (0.26ms)
Phase 4: Detecting city...
Measuring from 37 probes...
[███████████████████████████████████████░] 97.3% 36/37 - Best: Miami (0.01 ms)
Top 3 Locations:
─────────────────────────────────────────────────
1. Miami, Florida, USA 0.01 ms
2. West Palm Beach, Florida, USA 5.38 ms
3. Tampa, Florida, USA 5.80 ms
═══════════════════════════════════════════════════
SUMMARY
═══════════════════════════════════════════════════
Location: Miami, Florida, United States
Minimum Latency: 0.01 ms
Confidence: Very High
═══════════════════════════════════════════════════