开源MyIP 可能是最好用的全能 IP 工具箱

在日常网络调试、代理检查或服务器维护中,我们经常需要查看当前的 IP 状态。MyIP 是一款开源、轻量且美观的工具,它将原本零散的 IP 检测、DNS 泄露测试、WebRTC 检查等功能集成在了一个丝滑的单页应用中。

图片[1]-开源MyIP 可能是最好用的全能 IP 工具箱-奇蛙小屋

✨ 核心特性:它为什么“更好”?

1. 全方位的 IP 探测

  • 多来源检测:通过多个国内外的 IPv4 和 IPv6 接口同步探测,显示代理前后的真实 IP。
  • 深度地理信息:显示 ASN、运营商、国家、城市以及精确的地理位置地图。

2. 网络连接与安全诊断

  • DNS 泄露测试:检查在使用 VPN 或代理时,DNS 请求是否发生泄露。
  • WebRTC 检测:识别 WebRTC 连接中可能暴露的真实 IP 地址。
  • 可用性检查:一键测试 Google、GitHub、YouTube、ChatGPT 等网站的访问性,帮助判断全局代理是否生效。

3. 硬核工具集成

  • 测速与延迟:集成 Speed Test 测速、全球 Ping 测试以及 MTR 链路追踪。
  • DNS 解析查询:支持多来源解析,实时查看域名在全球各地的解析结果。
  • WHOIS 查询:快速查询域名注册信息。

4. 极致的 UI/UX 体验

  • 暗黑模式:支持跟随系统或手动切换日夜间模式。
  • PWA 支持:可作为独立应用安装在手机桌面或 Chrome 浏览器中。
  • 快捷键操作:支持全功能快捷键(按 ? 查看列表),效率极高。

🛠️ 安装部署教程

MyIP 提供了多种灵活的部署方式,建议根据你的服务器环境选择。

方案一:Docker 部署(推荐,极速)

这是最简单的方式,只需一行命令即可在服务器上跑起来。

docker run -d \
  --name myip \
  -p 18966:18966 \
  --restart always \
  jason5ng32/myip:latest
  • 访问地址http://服务器IP:18966
  • 防火墙提醒:请确保在云服务器安全组中放行 18966 端口。

环境变量

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

变量名是否必须默认值说明
BACKEND_PORT"11966"程序后端部分的运行端口
FRONTEND_PORT"18966"程序前端部分的运行端口
SECURITY_RATE_LIMIT"0"控制每 60 分钟一个 IP 可以对后端服务器请求的次数(设置为 0 则为不限制)
SECURITY_DELAY_AFTER"0"控制每 20 分钟一个 IP 的前 X 次请求不受速度限制,超过 X 次后会逐次增加延迟
SECURITY_BLACKLIST_LOG_FILE_PATH"logs/blacklist-ip.log"路径设置。记录由 SECURITY_RATE_LIMIT 开启后,触发限制的 IP 列表
GOOGLE_MAP_API_KEY=""Google 地图的 API Key,用于展示 IP 所在地的地图
ALLOWED_DOMAINS""允许访问的域名,用逗号分隔,用于防止后端 API 被滥用
IPCHECKING_API_KEY""IPCheck.ing 的 API Key,用于获取精准的 IP 归属地信息
IPINFO_API_TOKEN""IPInfo.io 的 API Token,用于通过 IPInfo.io 获取 IP 归属地信息
IPAPIIS_API_KEY""IPAPI.is 的 API Key,用于通过 IPAPI.is 获取 IP 归属地信息
IP2LOCATION_API_KEY""IP2Location.io 的 API Key,用于通过 IP2Location.io 获取 IP 归属地信息
CLOUDFLARE_API""Cloudflare 的 API Key,用于通过 Cloudflare 获取 AS 系统的信息
MAC_LOOKUP_API_KEY""MAC 查询的 API Key,用于通过 MAC Lookup 获取 MAC 地址的归属信息
IPCHECKING_API_ENDPOINT""IPCheck.ing 的 API 端点 URL
VITE_GOOGLE_ANALYTICS_ID""Google Analytics 的 ID,用于统计访问量
VITE_CURL_IPV4_DOMAIN""为用户提供 CURL API 的 IPv4 域名
VITE_CURL_IPV6_DOMAIN""为用户提供 CURL API 的 IPv6 域名
VITE_CURL_IPV64_DOMAIN""为用户提供 CURL API 的双网络栈域名

需要注意的是,如果 CURL 系列的环境变量任意一个缺失,都不会启用 CURL API。

方案二:Node.js 手动部署

如果你希望进行二次开发或直接在环境中运行:

  1. 克隆代码git clone https://github.com/jason5ng32/MyIP.git cd MyIP
  2. 安装依赖与构建npm install npm run build
  3. 启动服务npm start 程序默认运行在 18966 端口。

Node 环境里使用环境变量

创建环境变量:

cp .env.example .env

修改 .env 里的内容,比如:

BACKEND_PORT=11966
FRONTEND_PORT=18966
GOOGLE_MAP_API_KEY="YOUR_KEY_HERE"
ALLOWED_DOMAINS="example.com"
IPCHECKING_API="YOUR_KEY_HERE"

然后重新启动后端服务。

在 Docker 里使用环境变量

你可以在运行 Docker 的时候,添加环境变量,比如:

docker run -d -p 18966:18966 \
  -e GOOGLE_MAP_API_KEY="YOUR_KEY_HERE" \
  -e ALLOWED_DOMAINS="example.com" \
  -e IPCHECKING_API="YOUR_TOKEN_HERE" \
  --name myip \
  jason5ng32/myip:latest

方案三:Vercel / 静态托管

由于项目基于 Next.js 开发,你也可以直接在 GitHub 上 Fork 该项目,然后点击 Deploy to Vercel,实现零成本白嫖托管。


⚙️ 进阶配置(环境变量)

如果你需要启用高级功能,可以在部署时添加以下环境变量:

  • BACKEND_PORT: 后端运行端口(默认 11966)。
  • FRONTEND_PORT: 前端运行端口(默认 18966)。
  • GOOGLE_MAP_API_KEY: 若要显示 IP 所在的 Google 地图,需填入此 Key。
  • SECURITY_RATE_LIMIT: 设置每 60 分钟请求限制,防止被恶意刷接口。

⚖️ 优缺点评价

  • ✅ 优点
    • 颜值极高:Material Design 风格,UI 极其现代化。
    • 功能全面:一个网页涵盖了站长 90% 的网络排查需求。
    • 轻量极速:响应极快,几乎没有加载感。
  • ⚠️ 缺点
    • 依赖外部接口:部分 IP 地理位置数据依赖第三方 API,若 API 挂掉可能导致部分信息显示不全。

🎯 总结:谁最需要它?

  • 跨境从业者:随时检查自己的代理是否“干净”,是否存在 DNS 泄露。
  • 站长/运维:快速测试全球访问速度及域名解析状态。
  • 隐私极客:监测浏览器环境的安全性。
项目地址Demo
MyIP: The best IP Toolbox在这里体验:https://ipcheck.ing
© 版权声明
THE END
喜欢就支持一下吧
点赞29 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容