【开源项目】更好的 IP 工具箱:MyIP本地部署
AI-摘要
切换
Tianli GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
🧰MyIP 工具介绍
MyIP 是一个高级 IP 实用程序,旨在提供有关您的 IP 地址的广泛信息和诊断。它非常适合需要查看和分析其 IP 详细信息、检查网站可访问性、执行 DNS 泄漏测试等的用户。
👀 主要特点
- 🖥️ 查看您的 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 应用添加到计算机上。
- ⌨️ 键盘快捷键:支持所有功能的键盘快捷键,按下可查看快捷键列表。
?
- 🌍 根据可用性测试结果,它指示当前全球互联网访问是否可行。
- ………
📕如何部署和安装
在 Node 环境本地部署
首先进入Node官网下载并安装 Node.js
运行环境(一般在Windows平台);
git clone https://github.com/jason5ng32/MyIP.git # 克隆代码
npm install && npm run build # 安装构建
npm start # 开始运行
该程序默认将在端口 18966
上运行,直接点击 http://localhost:18966
访问即可。
部署成功后的效果如下:
使用 Docker 部署
使用Docker部署 myip
应用显著简化了部署过程,允许在任何装有Docker环境的平台上轻松部署。
- 在 shell 中使用
docker run
一键部署:
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
在服务器部署成功后,就能通过 公网IP:18966
的形式在任意的浏览器进行访问了。
docker-compose
安装
将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
myip:
image: jason5ng32/myip:latest
container_name: myip
restart: always
ports:
- "18966:18966"
然后执行下面的命令
# 新建文件夹 myip
mkdir -p /docker/myip
# 进入 myip 目录
cd /docker/myip
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
📚 环境变量
您可以在不添加任何环境变量的情况下使用该程序,但如果您想使用一些高级功能,您可以添加以下环境变量:
变量名称 | 必填 | 默认值 | 描述 |
---|---|---|---|
BACKEND_PORT |
不 | "11966" |
程序后端部分的运行端口 |
FRONTEND_PORT |
不 | "18966" |
程序前端部分的运行端口 |
SECURITY_RATE_LIMIT |
不 | "0" |
控制 IP 每 60 分钟可以向后端服务器发出的请求数(设置为 0 表示无限制) |
SECURITY_DELAY_AFTER |
不 | "0" |
每 20 分钟控制一次不受速度限制的 IP 的前 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 Token,用于通过 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 系统信息 |
在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
💻 高级用法
如果使用代理进行 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
参考文章
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 沉默の大多数
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果