一个更好的IP工具箱MyIP

什么是 MyIP ?

MyIP 是一个完全开源的 IP 信息查看器,可以轻松检查你的 IPIP 地理位置,检查 DNS 泄漏,检查 WebRTC 连接,速度测试,ping 测试,MTR 测试,检查网站可用性等等。

👀 主要功能

  • 🖥️ 看自己的 IP:从多个 IPv4IPv6 来源检测显示本机的 IP
  • 🕵️ 看 IP 信息:显示所有 IP 的相关信息,包括国家、地区、ASN、地理位置等
  • 🚦 可用性检测:检测一些网站的可用性:Google, Github, Youtube, 网易, 百度等
  • 🚥 WebRTC 检测:查看使用 WebRTC 连接时使用的 IP
  • 🛑 DNS 泄露检测:查看 DNS 出口信息,以便查看在 VPN/代理的情况下,是否存在 DNS 泄露隐私的风险
  • 🚀 网速测试:利用边缘网络进行网速测试
  • 🌐 全球延迟测试:从分布在全球的多个服务器进行延迟测试,了解你与全球网络的连接速度
  • 📡 MTR 测试:从分布在全球的多个服务器进行 MTR 测试,了解你与全球的连接路径
  • 🌗 暗黑模式:根据系统设置自动切换暗黑/白天模式,也可以手动切换
  • 📱 简约模式:为移动版提供的专门模式,缩短页面长度,快速查看最重要的信息
  • 🔍 查任意 IP 信息:可以通过小工具查询任意 IP 的信息
  • 📲 支持 PWA:可以添加为手机桌面应用以及电脑里的 Chrome 应用
  • ⌨️ 支持快捷键:可以随时输入 ? 查看快捷键菜单
  • 🌍 根据可用性检测结果,返回目前是否可以访问全世界网络的提示
  • 🇺🇸 🇨🇳 🇫🇷 支持中文、英文、法文

比较有趣的是,作者是个产品经理,据他透露,这个产品 70% 的代码是通过 ChatGPT 写的。大概来回 90 个回合,外加一些细微的手动修改,才完成了全部代码。从这一点上说,和之前老苏介绍的 Stirling-PDF 是非常相似的

文章传送门:PDF文档工具箱Stirling-PDF

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 myip ,选择第一个 jason5ng32/myip,双击直接下载

因为只有一个 latest 版本

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
18966 18966

默认没有对外暴露端口

需要点 + 号自行添加

环境

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

变量名 是否必须 默认值 说明
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 验证

具体请参考官方的文档:https://github.com/jason5ng32/MyIP/blob/main/README_ZH.md#-环境变量

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
# 运行容器
docker run -d \
--restart unless-stopped \
--name myip \
-p 18966:18966 \
jason5ng32/myip

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
version: '3'

services:
myip:
image: jason5ng32/myip
container_name: myip
restart: unless-stopped
ports:
- 18966:18966

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 myip 
mkdir -p /volume1/docker/myip

# 进入 myip 目录
cd /volume1/docker/myip

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:18966 就能看到主界面

对比官方网站 https://ipcheck.ingIP 信息

显然自己搭的还是不如官方的准确,因此设置环境变量 IPChecking_API 还是非常有必要的,不过目前暂时还没有办法获取到 IPCheck.ingAPI Key,要等作者完善服务之后才行

如果设置了环境变量 BING_MAP_API_KEY ,可以点这个图标,来打开/关闭地图显示

测个速试试

想做个 全球延迟测试,不过看起来公司的 IP 是禁 ping

参考文档

jason5ng32/MyIP: The best IP Toolbox. Easy to check what’s your IPs, IP geolocation, check for DNS leaks, examine WebRTC connections, speed test, ping test, MTR test, check website availability and more! || 🇨🇳 可能是最好用的IP工具箱。轻松检查你的 IP,IP 地理位置,检查DNS泄漏,检查 WebRTC 连接,速度测试,ping 测试,MTR测试,检查网站可用性等等。
地址:https://github.com/jason5ng32/MyIP

IPCheck.ing的API Key · Issue #117 · jason5ng32/MyIP
地址:https://github.com/jason5ng32/MyIP/issues/117