IP地址无所遁形!试试这个3k星热门开源查询神器!

在日常开发中,我们经常需要查询IP地址的位置信息,比如:

  • 网站统计:统计用户的来源地,了解访问者分布情况;
  • 安全防护:根据IP地址判断用户是否来自风险地区,加强安全防护措施;
  • 物联网应用:根据IP地址定位设备,追踪设备位置等。

然而,网上提供的类似查询服务大多要么需要付费,要么功能受限,要么使用起来较为复杂。

今天,我想和大家分享一个超级简单的开源IP地址位置查询项目 - MyIP[1]

简介

MyIP是一个简洁而实用的开源IP信息查看器,提供了多种功能,包括IP地址查询、网络连通性检查、WebRTC连接检测、DNS泄露检查、网速测试、MTR测试等等。使用MyIP,我们可以轻松地查看自己的公网IP地址,并且可以方便地进行网络诊断或监控。

这个项目的独特之处在于,据作者称,其中70%的代码是通过ChatGPT自动生成的。这真是令人惊叹!目前Github上面收获了3.3k star。

部署方式

该项目提供了3中部署方式

在 Node 环境部署

确保你系统里已经有Node.js环境

  1. 克隆代码到本地
git clone https://github.com/jason5ng32/MyIP.git
  1. 安装依赖
npm install
  1. 运行启动
npm start

程序会运行在18966端口,自己可以根据实际情况修改的。

使用 Vercel

点击项目顶部的部署到 Vercel 按钮,即可完成部署。

使用docker部署

点击项目顶部的部署到 Docker 按钮,即可完成部署,又或者,直接输入下面的命令:

docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest

环境变量说明

你可以不添加环境变量直接使用,但是如果你想使用一些高级功能,可以添加下面的环境变量:

变量名 是否必须 默认值 说明
PORT 18966 程序运行的端口
BING_MAP_API_KEY "" Bing 地图的 API Key,用于展示 IP 所在地的地图
ALLOWED_DOMAINS "" 允许访问的域名,用逗号分隔,用于防止后端 API 被滥用
IPChecking_API_KEY "" IPCheck.ing 的 API Key,用于获取精准的 IP 归属地信息
IPINFO_API_TOKEN "" IPInfo.io 的 API Token,用于通过 IPInfo.io 获取 IP 归属地信息
KEYCDN_USER_AGENT "" KeyCDN 的 User Agent,用于通过 KeyCDN 获取 IP 归属地信息
CLOUDFLARE_API "" Cloudflare 的 API Key,用于通过 Cloudflare 获取 AS 系统的信息
VITE_RECAPTCHA_SITE_KEY "" Google reCAPTCHA 的 Site Key,用于在前端显示 reCAPTCHA 验证
RECAPTCHA_SECRET_KEY "" Google reCAPTCHA 的 Secret Key,用于在后端验证 reCAPTCHA 验证

使用体验

  1. 项目主页
  1. 网络连通性测试
  1. WebRTC测试
  1. DNS泄露测试
  1. 分流测试
  1. 网速测试

写到最后

MyIP是一个简洁实用的开源IP信息查看器,它提供了丰富的功能,包括IP地址查询、网络连通性检查、WebRTC连接检测、DNS泄露检查、网速测试、MTR测试等等。通过访问项目地址,您可以了解更多关于MyIP的详细信息和使用方法。

参考资料

[1]

MyIP: https://github.com/jason5ng32/MyIP


相关推荐

  • 从 ChatGPT 到 Sora,国内的大模型追赶之路到底有多远?
  • 台大李宏毅老师新课:生成式人工智能导论
  • 大厂学妹整理的 2024 顶会论文,已经碾压同事了!
  • 我重构了第三方登录
  • 最强 Java 面试题库,堪称涨薪天花板!
  • V8引擎Promise源码全面解读(深度好文)
  • 互联网大厂都在用 Linux 系统优化指南
  • IDEA 接口调试神器,贼好用!
  • 当 React 核心开发者逐渐离开 ,React 在社区还有未来吗?
  • 时间序列和时空数据大模型综述!
  • 提高大模型微调效率最新SOTA,性能强大易复现!
  • 详解 Spark Core 调优之数据倾斜调优(建议收藏)
  • 性能优化的PDCA
  • “毒舌”CTO又来了:知识工程才是未来!
  • 有奖征文丨探索AI绘画,赢机械键盘、耳机与鹅厂开发者周边
  • 赠你13张图,助你20分钟打败了「V8垃圾回收机制」!!!
  • QQ 25年技术巡礼丨技术探索下的清新设计,打造轻盈简约的QQ9
  • 面试官:indexOf 第二个参数有什么作用?
  • 2024年Node.js精选:50款工具库集锦,项目开发轻松上手(三)
  • 随时准备好编码的云开发环境