【实用Docker项目】MyIP - 更好的 IP 工具箱,检测IP详细信息
本文最后更新于 2024-05-17,
若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。
本站只有Telegram群组为唯一交流群组, 点击加入
文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请
👀 主要特点
- 🖥️查看您的 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 信息搜索
- 🌗深色模式:根据系统设置自动在深色和日光模式之间切换,并可选择手动切换。
- 📱极简模式:一种针对移动设备优化的模式,可缩短页面长度以快速访问重要信息。
- 🔍搜索IP信息:提供查询任意IP地址信息的工具。
- 📲支持 PWA:可以添加为手机上的桌面应用程序以及计算机上的 Chrome 应用程序。
- ⌨️键盘快捷键:支持所有功能的键盘快捷键,按下
?
可查看快捷键列表。 - 🌍 根据可用性测试结果,表明目前全球互联网接入是否可行。
- 🇺🇸🇨🇳🇫🇷英语、中文和法语支持。
项目地址:https://github.com/jason5ng32/MyIP
📕 如何使用
有3种部署方式:
在 Node 环境中部署
确保您已安装 Node.js。
克隆代码:
git clone https://github.com/jason5ng32/MyIP.git
安装:
npm install
Build:
npm run build
Run:
npm start
该程序将在端口 18966 上运行。
使用 Vercel
单击顶部的“部署到 Vercel”按钮完成部署。请注意,某些功能在 Vercel 上不可用(有关详细信息,请参阅环境变量部分)。
使用 Docker
安装Docker🐳
使用以下 shell
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
我们现在可以输入 http://ip:18966/
访问了。
📚环境变量
您可以在不添加任何环境变量的情况下使用该程序,但如果您想使用一些高级功能,可以添加以下环境变量:
变量名 | 必需的 | 默认值 | 描述 |
---|---|---|---|
BACKEND_PORT |
NO | "11966" |
程序后端部分运行端口 |
FRONTEND_PORT |
NO | "18966" |
程序前端部分的运行端口 |
SECURITY_RATE_LIMIT |
NO | "0" |
控制IP每60分钟可以向后端服务器发出的请求数量(设置为0表示无限制) |
SECURITY_DELAY_AFTER |
NO | "0" |
控制每20分钟来自某个IP的前X个不受速度限制的请求,在X个请求之后,延迟会增加 |
SECURITY_BLACKLIST_LOG_FILE_PATH |
NO | "logs/blacklist-ip.log" |
路径设置。记录启用SECURITY_RATE_LIMIT后触发限制的IP列表 |
BING_MAP_API_KEY |
NO | "" |
Bing 地图的 API 密钥,用于在地图上显示 IP 的位置 |
ALLOWED_DOMAINS |
NO | "" |
允许访问的域,以逗号分隔,用于防止滥用后端API |
IPCHECKING_API_KEY |
NO | "" |
IPCheck.ing的API Key,用于获取准确的IP地理位置信息 |
IPINFO_API_TOKEN |
NO | "" |
IPInfo.io的API Token,用于通过IPInfo.io获取IP地理位置信息 |
KEYCDN_USER_AGENT |
NO | "" |
使用KeyCDN时的域名必须包含https前缀。用于通过KeyCDN获取IP地址信息 |
CLOUDFLARE_API |
NO | "" |
Cloudflare的API Key,用于通过Cloudflare获取AS系统信息 |
VITE_RECAPTCHA_SITE_KEY |
NO | "" |
Google reCAPTCHA 的站点密钥,用于在前端显示 reCAPTCHA 验证 |
RECAPTCHA_SECRET_KEY |
NO | "" |
Google reCAPTCHA的Secret Key,用于验证后端的reCAPTCHA验证 |
提示
以 开头的环境变量 SECURITY_
仅在使用 npm 或 Docker 部署时有效。
在节点环境中使用环境变量
创建环境变量:
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"
然后重启后端服务。
在 Vercel 中使用环境变量
请参考中的内容 .env.example
,将其添加到Vercel中的环境变量中。
在 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
👩🏻💻 高级用法
如果您使用代理进行 Internet 访问,请考虑将此规则添加到您的代理配置中(根据您的客户端进行修改)。此设置可让您检查真实 IP 和使用代理时的 IP:
# IP Testing
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
# Rule Testing
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
效果演示
测试出口,DNS解析,网络连通性
反向代理
参考教程:安装及使用
⚠️Nginx Proxy Manager(以下简称NPM)会用到80、443端口,所以本机不能占用(比如原来就有Nginx)
互联网使用请确保完成了域名解析
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果