0成本 搭建基于MaxMind-GeoIP库的IP查询API及网站

一、准备工作

1、先去render注册账号
现在被滥用有点多,需要绑定信用卡
https://dashboard.render.com/login
2、创建Web Service
3、部署服务
deanxv/go-geoip  #docker镜像
第一步:
第二步:
第三步:
第四步:

二、使用方法

1、API用法
原作者的贴子和项目,想了解更多可以去看看
https://linux.do/t/topic/257335
https://github.com/deanxv/go-geoip
分别为查询自己当前IP和其它IP
https://ipchaxun.onrender.com/ip
https://ipchaxun.onrender.com/ip/8.8.8.8
2、部署服务
第1步,去Cloudflare 创建Workers和Pages项目,没有就注册一个
#如果不想使用CF,打算放在虚拟主机、云主机上等,可以直接使用这个html文件
https://gitee.com/cncsrf/ipcahxun/blob/master/ipchaxun.html
第2步,编辑代码
第3步,粘贴代码
https://gitee.com/cncsrf/ipcahxun/blob/master/workers.js
第4步,替换成自己的api
3、访问IP查询页面并绑定自己的域名
https://ipchaxun.****.workers.dev/   #最好绑定自己的域名,CF赠送的域名被墙了
4、查询页面演示
分别为PC端和手机端效果图
5、其它问题
问题1:“检测能否访问Google服务”  这个api是在网上找的,貌似不太稳定,如果不想要这个功能可以删除,具体见仓库中的ipchaxun_simple.html;
问题2:如果本地使用了代理,打开onrender搭建的api,显示自己的地址的是代理IP,我在国内主机上搭建的会显示真实IP,具体原因未知了;
问题3:onrender的服务超过50秒不使用(没流量)会休眠,有网友建议搭建个服务监控之类的,一直有流量就不会休眠了。
代码都放到gitee上,速度比较快 https://gitee.com/cncsrf/ipcahxun

workers.js            #在cloudflare workers上粘贴该JS代码,然后部署即可,记得绑定自己的域名,CF分配的域名在国内访问不稳定
ipchaxun.html         #纯静态的,不依赖CF环境,可以在本地或上传到 支持HTML的环境使用
ipchaxun_simple.html  #相比ipchaxun.html,删除掉了代码中的 “检测能否访问Google服务“的功能
'Authorization': 'Bearer S****' #这是API调用的秘钥,纯静态没任何意义,如果能看懂可以删除,或者移植到workers.js 上,添加个环境变量,可以提高安全性。