DecoyMini 技术交流社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 792|回复: 0

[工具] MyIP - 更好的 IP 工具箱

[复制链接]

172

主题

34

回帖

30

荣誉

Rank: 9Rank: 9Rank: 9

UID
2
积分
339
精华
1
沃币
2 枚
注册时间
2021-6-24

论坛管理

发表于 2024-3-1 10:07:03 | 显示全部楼层 |阅读模式
体验地址:https://ipcheck.ing/

介绍:可能是最好用的 IP 工具箱。轻松检查你的 IP,IP 地理位置,检查 DNS 泄漏,检查 WebRTC 连接,速度测试,ping 测试,MTR 测试,检查网站可用性等等。

一、主要功能


  • 看自己的 IP:从多个 IPv4 和 IPv6 来源检测显示本机的 IP
  • 看 IP 信息:显示所有 IP 的相关信息,包括国家、地区、ASN、地理位置等
  • 可用性检测:检测一些网站的可用性:Google, Github, Youtube, 网易, 百度等
  • WebRTC 检测:查看使用 WebRTC 连接时使用的 IP
  • DNS 泄露检测:查看 DNS 出口信息,以便查看在 VPN/代理的情况下,是否存在 DNS 泄露隐私的风险
  • 网速测试:利用边缘网络进行网速测试
  • 全球延迟测试:从分布在全球的多个服务器进行延迟测试,了解你与全球网络的连接速度
  • MTR 测试:从分布在全球的多个服务器进行 MTR 测试,了解你与全球的连接路径
  • 暗黑模式:根据系统设置自动切换暗黑/白天模式,也可以手动切换
  • 简约模式:为移动版提供的专门模式,缩短页面长度,快速查看最重要的信息
  • 查任意 IP 信息:可以通过小工具查询任意 IP 的信息
  • 支持 PWA:可以添加为手机桌面应用以及电脑里的 Chrome 应用
  • 支持快捷键:可以随时输入 ? 查看快捷键菜单
  • 根据可用性检测结果,返回目前是否可以访问全世界网络的提示
  • 支持中文、英文、法文

二、如何使用


3 种部署方式:

2.1 在 NodeJS 部署


确保你系统里已经有 Node.js 环境。

克隆代码:

  1. git clone https://github.com/jason5ng32/MyIP.git
复制代码

安装:

  1. npm install
复制代码

编译:

  1. npm run build
复制代码

运行

  1. npm start
复制代码

程序会运行在 18966 端口。

2.2 使用 Vercel


点击顶部的部署到 Vercel 按钮,即可完成部署。

2.3 使用 Docker


点击顶部的部署到 Docker 按钮,即可完成部署,又或者,直接输入下面的命令:

  1. docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
复制代码

三、环境变量


你可以不添加环境变量直接使用,但是如果你想使用一些高级功能,可以添加下面的环境变量:

变量名是否必须默认说明
PORT18966程序运行的端口
BING_MAP_API_KEY""Bing 地图的 API Key,用于展示 IP 所在地的地图
ALLOWED_DOMAINS""允许访问的域名,用逗号分隔,用于防止后端 API 被滥用
IPChecking_API_KEY""IPCheck.ing 的 API Key,用于获取精准的 IP 归属地信息
IPINFO_API_TOKEN""IPInfo.io 的 API Token,用于通过 IPInfo.io 获取 IP 归属地信息
KEYCDN_USER_AGENT""KeyCDN 的 User Agent,用于通过 KeyCDN 获取 IP 归属地信息
CLOUDFLARE_API""Cloudflare 的 API Key,用于通过 Cloudflare 获取 AS 系统的信息
VITE_RECAPTCHA_SITE_KEY""Google reCAPTCHA 的 Site Key,用于在前端显示 reCAPTCHA 验证
RECAPTCHA_SECRET_KEY""Google reCAPTCHA 的 Secret Key,用于在后端验证 reCAPTCHA 验证

3.1 在 Node 环境里使用环境变量


创建环境变量:

  1. cp .env.example .env
复制代码

修改 .env 里的内容,比如:

  1. PORT=18966
  2. BING_MAP_API_KEY="YOUR_KEY_HERE"
  3. ALLOWED_DOMAINS="example.com"
  4. IPChecking_API="YOUR_KEY_HERE"
复制代码

然后重新启动后端服务。

3.2 在 Vercel 里使用环境变量


请参考 .env.example 里的内容,添加到 Vercel 的环境变量里。

3.3 在 Docker 里使用环境变量


你可以在运行 Docker 的时候,添加环境变量,比如:

  1. docker run -d -p 18966:18966 \
  2.   -e BING_MAP_API_KEY="YOUR_KEY_HERE" \
  3.   -e ALLOWED_DOMAINS="example.com" \
  4.   -e IPChecking_API="YOUR_TOKEN_HERE" \
  5.   --name myip \
  6.   jason5ng32/myip:latest
复制代码

四、高级用法


如果你在通过代理上网,可以考虑在你的代理配置里,增加下面的规则(请根据你使用的客户端进行修改),这样就可以实现同时查询真实 IP 和代理后的 IP:

  1. # IP Testing
  2. IP-CIDR,1.0.0.1/32,DIRECT,no-resolve
  3. IP-CIDR6,2606:4700:4700::1111/128,DIRECT,no-resolve
  4. DOMAIN-SUFFIX,ipify.org,Proxy
复制代码

五、额外说明


这个程序的 70% 的代码不是我写的,是通过 ChatGPT 写的。大概来回 90 个回合,外加一些细微的手动修改,完成了全部代码。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|DecoyMini 技术交流社区 ( 京ICP备2021005070号 )

GMT+8, 2024-4-28 14:03 , Processed in 0.058448 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表