- 获取本机或指定IP所在的IP段、ASN、城市、经度、纬度、子区域、省市区、注册国家。
- 定期(每周)更新GeoLite2库。
- 支持自定义City.mmdb远程地址。
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.8
docker-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
变量也需要替换!
或手动部署:
-
首先 fork 一份代码。
-
进入 Zeabur,使用github登录,进入控制台。
-
在 Service -> Add Service,选择 Git(第一次使用需要先授权),选择你 fork 的仓库。
-
Deploy 会自动开始,先取消。
-
添加环境变量
PORT=7099
[可选]服务端口API_SECRET=123456
[可选]接口密钥-修改此行为请求头校验的值(多个请以,分隔)TZ=Asia/Shanghai
保存。
- 选择 Redeploy。
部署到 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远程地址