mirror of
https://github.com/okxlin/appstore.git
synced 2025-07-13 21:02:18 +08:00
4.8 KiB
4.8 KiB
🧰 IP 工具箱
👉 在这里体验:https://ipcheck.ing
备注:你可以直接用我已经搭建好的服务,也可以自行搭建。
这是一个完全开源的 IP 信息查看器,可以查询本机 IP、查询任意 IP、查询国内外网站可用性等。这是我第一次用 Vue.js 练手的项目。我……只是一个普通的产品经理。
👀 主要功能
- 🖥️ 看自己的 IP:从多个 IPv4 和 IPv6 来源检测显示本机的 IP
- 🕵️ 看 IP 信息:显示所有 IP 的相关信息,包括国家、地区、ASN、地理位置等
- 🚦 可用性检测:检测一些网站的可用性:Google, Github, Youtube, 网易, 百度等
- 🚥 WebRTC 检测:查看使用 WebRTC 连接时使用的 IP
- 🛑 DNS 泄露检测:查看 DNS 出口信息,以便查看在 VPN/代理的情况下,是否存在 DNS 泄露隐私的风险
- 🌗 暗黑模式:根据系统设置自动切换暗黑/白天模式,也可以手动切换
- 📱 简约模式:为移动版提供的专门模式,缩短页面长度,快速查看最重要的信息
- 🔍 查任意 IP 信息:可以通过小工具查询任意 IP 的信息
- 📲 支持 PWA:可以添加为手机桌面应用以及电脑里的 Chrome 应用
- 🚀 网速测试:利用边缘网络进行网速测试
- ⌨️ 支持快捷键:可以随时输入
?
查看快捷键菜单 - 🌍 根据可用性检测结果,返回目前是否可以访问全世界网络的提示
- 🇺🇸 🇨🇳 支持中文和英文
📕 如何使用
3 种部署方式:
在 Node 环境部署
确保你系统里已经有 Node.js 环境。
克隆代码:
git clone https://github.com/jason5ng32/MyIP.git
安装:
npm install
运行:
npm start
程序会运行在 8966 端口。
如果你想添加 Bing 地图,在启动之前,进行如下修改:
创建环境变量:
mv .env.example .env
修改 .env
里的 Bing 地图 API Key 以及你的域名(防止滥用)。
BING_MAP_API_KEY="YOUR_KEY_HERE"
ALLOWED_DOMAINS="example.com"
如果你先使用 IPinfo.io 的 API,可以添加:
IPINFO_API_TOKEN="YOUR_TOKEN_HERE"
使用 Vercel
点击顶部的部署到 Vercel 按钮,即可完成部署。
如果希望展示地图,则在部署的时候,添加下面 2 个环境变量:
BING_MAP_API_KEY
ALLOWED_DOMAINS
如果你想使用 IPinfo.io 的 API,可以添加:
IPINFO_API_TOKEN
使用 Docker
点击顶部的部署到 Docker 按钮,即可完成部署,又或者,直接输入下面的命令:
docker run -d -p 8966:8966 --name myip --restart always jason5ng32/myip:latest
如果你希望展示地图,则在部署的时候,设置 Bing Map API Key 和允许的域名:
docker run -d -p 8966:8966 \
-e BING_MAP_API_KEY="YOUR_KEY_HERE" \
-e ALLOWED_DOMAINS="example.com" \
--name myip \
jason5ng32/myip:latest
如果你希望同时使用 IPinfo.io 的 API:
docker run -d -p 8966:8966 \
-e BING_MAP_API_KEY="YOUR_KEY_HERE" \
-e ALLOWED_DOMAINS="example.com" \
-e IPINFO_API_TOKEN="YOUR_TOKEN_HERE" \
--name myip \
jason5ng32/myip:latest
👩🏻💻 高级用法
如果你在通过代理上网,可以考虑在你的代理配置里,增加下面的规则(请根据你使用的客户端进行修改),这样就可以实现同时查询真实 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
😶🌫️ 额外说明
这个程序的 70% 的代码不是我写的,是通过 ChatGPT 写的。大概来回 90 个回合,外加一些细微的手动修改,完成了全部代码。