🧰 MyIP - 更好用的IP工具箱
👉 演示:https://ipcheck.ing
注意:你可以免费使用我的演示,也可以自行部署。
👀 主要功能
- 🖥️ 查看你的IP:检测并显示你的本地IP,从多个IPv4和IPv6提供商获取信息。
- 🕵️ IP信息:展示所有IP地址的详细信息,包括国家、地区、ASN、地理位置等。
- 🚦 可用性检查:测试各种网站的可访问性,如Google、GitHub、YouTube、ChatGPT等。
- 🚥 WebRTC检测:识别WebRTC连接时使用的IP地址。
- 🛑 DNS泄漏测试:显示DNS端点数据,评估使用VPN或代理时的DNS泄漏风险。
- 🚀 速度测试:使用边缘网络测试你的网络速度。
- 🚏 代理规则测试:测试代理软件的规则设置,确保其正确性。
- ⏱️ 全球延迟测试:对全球不同地区的服务器进行延迟测试。
- 📡 MTR测试:对全球不同地区的服务器进行MTR测试。
- 🔦 DNS解析器:从多个源对域名进行DNS解析,获取可用于污染判断的实时解析结果。
- 🚧 审查检查:检查某个网站在部分国家是否被屏蔽。
- 📓 Whois查询:对域名或IP地址进行whois信息查询。
- 📀 MAC地址查询:查询物理地址的信息。
- 🌗 深色模式:根据系统设置自动切换深色和浅色模式,也可手动切换。
- 📱 极简模式:针对移动设备优化的模式,缩短页面长度以快速访问重要信息。
- 🔍 IP信息搜索:提供查询任何IP地址信息的工具。
- 📲 支持PWA:可作为手机桌面应用和电脑Chrome应用添加。
- ⌨️ 键盘快捷键:支持所有功能的键盘快捷键,按"?"查看快捷键列表。
- 🌍 根据可用性测试结果,指示当前是否可以全球互联网访问。
- 🇺🇸 🇨🇳 🇫🇷 支持英语、中文和法语。
📕 使用方法
在Node环境中部署
确保你已安装Node.js。
克隆代码:
git clone https://github.com/jason5ng32/MyIP.git
安装和构建:
npm install && npm run build
运行:
npm start
程序将在18966端口上运行。
使用Docker
点击顶部的'部署到Docker'按钮完成部署。或者,使用以下shell命令:
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
📚 环境变量
您可以不添加任何环境变量就使用程序,但如果想使用一些高级功能,可以添加以下环境变量:
变量名 | 是否必需 | 默认值 | 描述 |
---|---|---|---|
BACKEND_PORT | 否 | "11966" | 程序后端部分的运行端口 |
FRONTEND_PORT | 否 | "18966" | 程序前端部分的运行端口 |
SECURITY_RATE_LIMIT | 否 | "0" | 控制每个IP每60分钟可以向后端服务器发出的请求数(设为0表示无限制) |
SECURITY_DELAY_AFTER | 否 | "0" | 控制每个IP每20分钟内前X次请求不受速度限制,X次请求后延迟会增加 |
SECURITY_BLACKLIST_LOG_FILE_PATH | 否 | "logs/blacklist-ip.log" | 路径设置。记录启用SECURITY_RATE_LIMIT后触发限制的IP列表 |
BING_MAP_API_KEY | 否 | "" | 必应地图的API密钥,用于在地图上显示IP位置 |
ALLOWED_DOMAINS | 否 | "" | 允许访问的域名,用逗号分隔,用于防止后端API被滥用 |
IPCHECKING_API_KEY | 否 | "" | IPCheck.ing的API密钥,用于获取准确的IP地理位置信息 |
IPINFO_API_TOKEN | 否 | "" | IPInfo.io的API令牌,用于通过IPInfo.io获取IP地理位置信息 |
IPAPIIS_API_KEY | 否 | "" | IPAPI.is的API密钥,用于通过IPAPI.is获取IP地理位置信息 |
KEYCDN_USER_AGENT | 否 | "" | 使用KeyCDN时的域名,必须包含https前缀。用于通过KeyCDN获取IP地址信息 |
CLOUDFLARE_API | 否 | "" | Cloudflare的API密钥,用于通过Cloudflare获取AS系统信息 |
MAC_LOOKUP_API_KEY | 否 | "" | MAC地址查询的API密钥,用于获取MAC地址信息 |
VITE_GOOGLE_ANALYTICS_ID | 是 | "" | Google Analytics ID,用于跟踪用户行为 |
在Node环境中使用环境变量
创建环境变量:
cp .env.example .env
修改.env
,例如添加以下内容:
BACKEND_PORT=11966
FRONTEND_PORT=18966
BING_MAP_API_KEY="YOUR_KEY_HERE"
ALLOWED_DOMAINS="example.com"
IPCHECKING_API="YOUR_KEY_HERE"
然后重启后端服务。
在Docker中使用环境变量
运行Docker时可以添加环境变量,例如:
docker run -d -p 18966:18966 \
-e BING_MAP_API_KEY="YOUR_KEY_HERE" \
-e ALLOWED_DOMAINS="example.com" \
-e IPCHECKING_API="YOUR_TOKEN_HERE" \
--name myip \
jason5ng32/myip:latest
👩🏻💻 高级用法
如果您使用代理上网,可以考虑在代理配置中添加此规则(根据您的客户端修改)。这样设置可以同时检查您的真实IP和使用代理时的IP:
# IP测试
IP-CIDR,1.0.0.1/32,DIRECT,no-resolve
IP-CIDR6,2606:4700:4700::1111/128,DIRECT,no-resolve
DOMAIN-SUFFIX,ipify.org,Proxy
# 规则测试
DOMAIN,ptest-1.ipcheck.ing,Proxy1
DOMAIN,ptest-2.ipcheck.ing,Proxy2
DOMAIN,ptest-3.ipcheck.ing,Proxy3
DOMAIN,ptest-4.ipcheck.ing,Proxy4
DOMAIN,ptest-5.ipcheck.ing,Proxy5
DOMAIN,ptest-6.ipcheck.ing,Proxy6
DOMAIN,ptest-7.ipcheck.ing,Proxy7
DOMAIN,ptest-8.ipcheck.ing,Proxy8