Myip

Myip
xiaoze超好用的Ip工具箱-MyIp
MyIp简要介绍
- 一个开源免费的 IP工具箱。
- 轻松检查本地的 IP 信息,包含IP 地理位置,DNS泄漏,WebRTC 连接,速度测试,ping 测试,MTR测试,检查网站可用性,Whois 信息等等。
- 项目仓库
- 使用地址
功能特性
- 🖥️ 看自己的 IP:从多个 IPv4 和 IPv6 来源检测显示本机的 IP
- 🕵️ 看 IP 信息:显示所有 IP 的相关信息,包括国家、地区、ASN、地理等
- 🚦 可用性检测:检测一些网站的可用性:Google, Github, Youtube, 百度等
- 🚥 WebRTC 检测:查看使用 WebRTC 连接时使用的 IP
- 🛑 DNS 泄露检测:查看 DNS 出口信息,以便查看在 VPN/代理的情况下,是否存在 DNS 泄露隐私的风险
- 🚀 网速测试:利用边缘网络进行网速测试
- 🚏 代理规则测试:配合代理软件的规则设置,测试规则设置是否正常
- ⏱️ 全球延迟测试:从分布在全球的多个服务器进行延迟测试,了解你与全球网络的连接速度
- 📡 MTR 测试:从分布在全球的多个服务器进行 MTR 测试,了解你与全球的连接路径
- 🔦 DNS 解析器:从多个渠道对域名进行 DNS 解析,获取实时的解析结果,可用于污染判断
- 🚧 封锁测试:检查特定的网站在部分国家是否被封锁
- 📓 Whois 查询:对域名或 IP 进行 whois 信息查询
- 📀 MAC 地址查询:查询物理地址的归属信息
- 🌗 暗黑模式:根据系统设置自动切换暗黑/白天模式,也可以手动切换
- 📱 简约模式:为移动版提供的专门模式,缩短页面长度,快速查看最重要的信息
- 🔍 查任意 IP 信息:可以通过小工具查询任意 IP 的信息
- 📲 支持 PWA:可以添加为手机应用以及电脑里的桌面应用,方便使用
- ⌨️ 支持快捷键:可以随时输入 ? 查看快捷键菜单
- 🌍 根据可用性检测结果,返回目前是否可以访问全世界网络的提示
- 🇺🇸 🇨🇳 🇫🇷 支持中文、英文、法文
MyIP 使用
- 🔎 IP 信息 从多个不同的来源(包含 IPv4 和 IPv6)检查本地 IP 地址:
- 🚦 网络连通性 通过加载对应网站上的小图片进行测试
- 🚥 WebRTC 测试 WebRTC 往往通过 UDP 直连进行建立,如果测试返回了真实 IP,则意味着代理设置没有覆盖这些连接。除了检测连接 WebRTC 时所使用的 IP,还会检测 NAT 类型。NAT 类型的检测并不是 100% 准确的,仅供参考。
- 🛑 DNS 泄漏测试 DNS 泄露(DNS Leaks)的意思是,当 VPN/代理后,解析域名时,依然通过当地的运营商进行解析,这时就有 DNS 泄露的风险。泄露测试的方法是通过访问新生成的域名,检测是通过哪个地区的 DNS 出口进行解析,如果返回的出口区域和当地的运营商区域相同,则有 DNS 泄露风险,浙商可能需要修改 VPN/代理设置。
- 🚀 网速测试 将从 Cloudflare 使用边沿网络进行速度测试,可以选择下载和上传的包大小进行测试。默认情况下,测速会进行 4 次数据包上传与下载。
- ⏱️ 全球延迟测试 用于测量数据包从设备到特定目标(分布在全球各个大洲和地区的服务器)的往返时间。
- 📡 MTR 测试 MTR (My Traceroute) 测试会从遍布全球不同大洲和地区的服务器出发,对本地 IP 地址进行详细的路由跟踪。
- 🚏 分流测试 分流测试用于判断代理软件基于域名的规则设置是否正确。
- 🔦 DNS 解析 使用 DNS 解析检查,将帮助从全球各个知名的 DNS 厂商里检查域名的解析结果。
- 🚧 封锁测试 检查目标网站在全球互联网可用性。检查时会同时从互联网相对自由的地区进行相同的测试,以作为对照组进行校验。
- 📓 Whois 查询 查询域名的注册信息、注册商、注册日期、过期日期等信息。
- 隐身测试 当挂上代理或 VPN 之后,你访问的网站真的不知道你挂着代理吗?你真的隐身了么?MyIP会通过多种手段,尝试计算出伪装后的漏洞,找到正在使用代理的证据。
📕 如何使用
在 Node 环境部署
确保你系统里已经有 Node.js 环境。
克隆代码:
1 | git clone https://github.com/jason5ng32/MyIP.git |
安装与编译:
1 | npm install && npm run build |
运行:
1 | npm start |
程序会运行在 18966 端口。
使用 Docker
点击顶部的部署到 Docker 按钮,即可完成部署,又或者,直接输入下面的命令:
1 | docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest |
📚 环境变量
你可以不添加环境变量直接使用,但是如果你想使用一些高级功能,可以添加下面的环境变量:
变量名 | 是否必须 | 默认值 | 说明 |
---|---|---|---|
BACKEND_PORT | 否 | "11966" | 程序后端部分的运行端口 |
FRONTEND_PORT | 否 | "18966" | 程序前端部分的运行端口 |
SECURITY_RATE_LIMIT | 否 | "0" | 控制每 60 分钟一个 IP 可以对后端服务器请求的次数(设置为 0 则为不限制) |
SECURITY_DELAY_AFTER | 否 | "0" | 控制每 20 分钟一个 IP 的前 X 次请求不受速度限制,超过 X 次后会逐次增加延迟 |
SECURITY_BLACKLIST_LOG_FILE_PATH | 否 | "logs/blacklist-ip.log" | 路径设置。记录由 SECURITY_RATE_LIMIT 开启后,触发限制的 IP 列表 |
GOOGLE_MAP_API_KEY= | 否 | "" | Google 地图的 API Key,用于展示 IP 所在地的地图 |
ALLOWED_DOMAINS | 否 | "" | 允许访问的域名,用逗号分隔,用于防止后端 API 被滥用 |
IPCHECKING_API_KEY | 否 | "" | IPCheck.ing 的 API Key,用于获取精准的 IP 归属地信息 |
IPINFO_API_TOKEN | 否 | "" | IPInfo.io 的 API Token,用于通过 IPInfo.io 获取 IP 归属地信息 |
IPAPIIS_API_KEY | 否 | "" | IPAPI.is 的 API Key,用于通过 IPAPI.is 获取 IP 归属地信息 |
IP2LOCATION_API_KEY | 否 | "" | IP2Location.io 的 API Key,用于通过 IP2Location.io 获取 IP 归属地信息 |
CLOUDFLARE_API | 否 | "" | Cloudflare 的 API Key,用于通过 Cloudflare 获取 AS 系统的信息 |
MAC_LOOKUP_API_KEY | 否 | "" | MAC 查询的 API Key,用于通过 MAC Lookup 获取 MAC 地址的归属信息 |
IPCHECKING_API_ENDPOINT | 是 | "" | IPCheck.ing 的 API 端点 URL |
VITE_GOOGLE_ANALYTICS_ID | 是 | "" | Google Analytics 的 ID,用于统计访问量 |
VITE_CURL_IPV4_DOMAIN | 否 | "" | 为用户提供 CURL API 的 IPv4 域名 |
VITE_CURL_IPV6_DOMAIN | 否 | "" | 为用户提供 CURL API 的 IPv6 域名 |
VITE_CURL_IPV64_DOMAIN | 否 | "" | 为用户提供 CURL API 的双网络栈域名 |
需要注意的是,如果 CURL 系列的环境变量任意一个缺失,都不会启用 CURL API。
在 Node 环境里使用环境变量
创建环境变量:
1 | cp .env.example .env |
修改 .env
里的内容,比如:
1 | BACKEND_PORT=11966 |
然后重新启动后端服务。
在 Docker 里使用环境变量
你可以在运行 Docker 的时候,添加环境变量,比如:
1 | docker run -d -p 18966:18966 \ |
👩🏻💻 高级用法
如果你在通过代理上网,可以考虑在你的代理配置里,增加下面的规则(请根据你使用的客户端进行修改),这样就可以实现同时查询真实 IP 和代理后的 IP:
1 | # IP Testing |
评论
匿名评论隐私政策
TwikooValine
✅ 你无需删除空行,直接评论以获取最佳展示效果