🧰MyIP 工具介绍

gh_banner

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环境的平台上轻松部署。

  1. 在 shell 中使用 docker run 一键部署:
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest

CentOS部署

在服务器部署成功后,就能通过 公网IP:18966 的形式在任意的浏览器进行访问了。

  1. 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

参考文章

  1. jason5ng32/MyIP项目地址
  2. 一个更好的IP工具箱MyIP