基于MaxMind的GeoIP库的IP信息查询服务
http://<ip>:<port>/swagger/index.html

http://<ip>:<port>/swagger/index.html查看接口文档。[可选]/ip接口查询IP信息。例如:http://<ip>:<port>/ip/ip/{ip}接口查询指定IP信息。例如:http://<ip>:<port>/ip/8.8.8.8docker-compose pull && docker-compose up -d
version: '3.4'
services:
go-geoip:
image: deanxv/go-geoip:latest
container_name: go-geoip
restart: always
ports:
- "7099:7099"
volumes:
- ./data:/app/go-geoip/data
environment:
- API_SECRET=123456 # [可选]修改此行为请求头校验的值(前后端统一)
- TZ=Asia/Shanghai
docker run --name go-geoip -d --restart always \
-p 7099:7099 \
-v $(pwd)/data:/app/go-geoip/data \
-e API_SECRET="123456" \
-e TZ=Asia/Shanghai \
deanxv/go-geoip
其中API_SECRET修改为自己的。
如果上面的镜像无法拉取,可以尝试使用 GitHub 的 Docker 镜像,将上面的deanxv/go-geoip替换为ghcr.io/deanxv/go-geoip即可。
部署到 Zeabur
Zeabur 的服务器在国外,自动解决了网络的问题,~~同时免费的额度也足够个人使用~~
点击一键部署:
一键部署后 API_SECRET变量也需要替换!
或手动部署:
PORT=7099 [可选]服务端口
API_SECRET=123456 [可选]接口密钥-修改此行为请求头校验的值(多个请以,分隔)
TZ=Asia/Shanghai
保存。
部署到 Render
Render 提供免费额度,绑卡后可以进一步提升额度
Render 可以直接部署 docker 镜像,不需要 fork 仓库:Render
PORT=7099 [可选]服务端口API_SECRET=123456 [可选]接口密钥-修改此行为请求头校验的值(多个请以,分隔)(请求header中增加 Authorization:Bearer 123456)CITY_DB_REMOTE_URL=https://xxx.com/GeoIP2-City.mmdb [可选]city.mmdb远程地址ASN_DB_REMOTE_URL=https://xxx.com/GeoLite2-ASN.mmdb [可选]ASN.mmdb远程地址CN_DB_REMOTE_URL=https://xxx.com/GeoCN.mmdb [可选]CN.mmdb远程地址$ claude mcp add go-geoip \
-- python -m otcore.mcp_server <graph>