当前位置: 首页 > news >正文

MyIP:开源的功能强大的网络诊断工具箱,解析与部署

在当今数字化时代,网络问题诊断与隐私保护变得越来越重要。无论是网络管理员、开发人员还是普通用户,都需要一款强大而易用的工具来检查网络状态、诊断连接问题并保护在线隐私。MyIP正是这样一款开源的网络工具箱,它集成了多种实用功能,能够满足各类网络诊断需求。本文将详细介绍MyIP的功能特性、部署方法以及实际应用场景,帮助读者充分利用这一强大工具。

一、MyIP简介

MyIP是一个完全开源的IP信息查看器,基于Express + Vue架构开发,提供了丰富的网络诊断功能。与其他同类工具相比,MyIP的最大优势在于其功能全面性和易用性,无需专业知识即可进行复杂的网络诊断。

值得注意的是,MyIP对Node.js版本有较高要求,需要20.x及以上版本才能正常运行。这一点在部署时需要特别注意,因为较低版本的Node.js可能导致兼容性问题。

作者:GitHub:https://github.com/jason5ng32/MyIP
演示:https://ipcheck.ing/

二、核心功能详解

1. IP地址检测与信息查询

多源IP检测:MyIP能够从多个IPv4和IPv6来源检测并显示本机的IP地址,确保结果的准确性和全面性。这对于验证VPN或代理连接是否生效特别有用。

详细IP信息:提供IP地址的完整信息,包括国家、地区、ASN(自治系统号)、地理位置等。这些信息对于网络安全审计和网络故障排查都具有重要价值。

任意IP查询:除了查看本机IP外,MyIP还提供了查询任意IP地址信息的功能,这对于网络安全分析和威胁情报收集非常有用。
在这里插入图片描述

2. 网络连接诊断

网站可用性检测:能够检测多个常用网站(如Google、GitHub、YouTube、网易、百度等)的可用性,帮助用户快速判断网络连接是否存在问题。

全球延迟测试:通过分布在全球多个服务器的延迟测试,用户可以了解自己与全球网络的连接速度,这对于需要跨国访问的业务尤为重要。

MTR测试:MTR(Matt’s Traceroute)结合了ping和traceroute的功能,能够提供更全面的网络路径分析,帮助定位网络连接中的具体问题点。
在这里插入图片描述

3. 隐私保护检测

DNS泄漏检测:在使用VPN或代理时,DNS泄漏可能导致真实IP地址暴露。MyIP的DNS泄漏检测功能能够查看DNS出口信息,帮助用户确认是否存在隐私泄露风险。

WebRTC检测:WebRTC(Web Real-Time Communication)是一种支持浏览器间实时通信的技术,但它也可能绕过代理设置泄露真实IP。MyIP能够检测WebRTC连接时使用的IP地址,确保隐私保护的有效性。

4. 网络性能测试

网速测试:利用边缘网络进行网速测试,提供准确的网络带宽评估结果。

代理规则测试:配合代理软件的规则设置,测试规则是否正常工作,这对于复杂的网络环境配置尤为重要。
在这里插入图片描述

5. 其他实用功能

DNS解析器:从多个渠道对域名进行DNS解析,获取实时的解析结果,可用于DNS污染判断。

封锁测试:检查特定网站在部分国家是否被封锁,这对于需要跨国访问的用户非常有用。

Whois查询:对域名或IP进行whois信息查询,获取注册信息等详细数据。

MAC地址查询:查询物理地址的归属信息,有助于网络设备管理。

浏览器指纹:通过多种方式查看浏览器指纹,帮助用户了解自己的在线隐私状况。

网络安全检查清单:提供包含258项的全面网络安全检查清单,帮助用户系统性地评估网络安全状况。
在这里插入图片描述

三、环境准备:Node.js 20.x安装

由于MyIP要求Node.js 20.x及以上版本,在部署前我们需要确保系统满足这一要求。以下是不同操作系统下安装Node.js 20.x的方法:

1. Windows系统安装

  1. 访问Node.js官方网站(https://nodejs.org/zh-cn/download/)
  2. 下载Windows Installer(.msi)版本的Node.js 20.x
  3. 运行安装程序,按照提示完成安装
  4. 安装完成后,打开命令提示符,输入以下命令验证安装:
node -v
npm -v

如果显示的版本号为20.x或更高,则表示安装成功。

2. Linux系统安装(以Ubuntu为例)

  1. 更新系统并安装依赖:
sudo apt update
sudo apt install -y curl
  1. 使用NodeSource仓库安装Node.js 20.x:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
  1. 验证安装:
node -v
npm -v

3. 使用NVM安装(推荐)

NVM(Node Version Manager)是一个Node.js版本管理器,可以轻松安装和切换不同版本的Node.js。

  1. 安装NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
  1. 重新加载终端配置:
source ~/.bashrc
  1. 安装Node.js 20.x:
nvm install 20
nvm use 20
  1. 验证安装:
node -v
npm -v

四、MyIP部署方法

1. Node.js环境部署

  1. 克隆代码:
git clone https://github.com/jason5ng32/MyIP.git
cd MyIP
  1. 安装依赖并构建:
npm install && npm run build
  1. 启动服务:
npm start

默认情况下,MyIP将在18966端口运行。在浏览器中访问http://localhost:18966即可使用。

2. Docker部署

对于熟悉Docker的用户,使用Docker部署更为简便:

  1. 拉取镜像并运行容器:
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
  1. 或者使用docker-compose部署,创建docker-compose.yml文件:
version: '3'
services:myip:image: jason5ng32/myip:latestcontainer_name: myiprestart: unless-stoppedports:- "18966:18966"

然后执行:

docker-compose up -d

五、高级配置:环境变量详解

虽然MyIP可以在不添加任何环境变量的情况下直接使用,但为了启用高级功能,我们需要配置一些环境变量。以下是主要环境变量的说明:

1. 基本配置

变量名是否必须默认值说明
BACKEND_PORT“11966”后端服务端口
FRONTEND_PORT“18966”前端服务端口

2. 安全配置

变量名是否必须默认值说明
SECURITY_RATE_LIMIT“0”每分钟IP请求限制(0为不限制)
SECURITY_DELAY_AFTER“0”请求延迟控制
SECURITY_BLACKLIST_LOG_FILE_PATH“logs/blacklist-ip.log”黑名单日志路径
ALLOWED_DOMAINS“”允许访问的域名(逗号分隔)

3. API密钥配置

变量名是否必须默认值说明
GOOGLE_MAP_API_KEY“”Google地图API密钥
IPCHECKING_API_KEY“”IPCheck.ing API密钥
IPINFO_API_TOKEN“”IPInfo.io API令牌
IPAPIIS_API_KEY“”IPAPI.is API密钥
IP2LOCATION_API_KEY“”IP2Location.io API密钥
CLOUDFLARE_API“”Cloudflare API密钥
MAC_LOOKUP_API_KEY“”MAC查询API密钥

4. 特殊功能配置

变量名是否必须默认值说明
IPCHECKING_API_ENDPOINT“”IPCheck.ing API端点
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双栈域名

5. 环境变量使用方法

Node.js环境
  1. 创建环境变量文件:
cp .env.example .env
  1. 编辑.env文件,添加所需配置:
BACKEND_PORT=11966
FRONTEND_PORT=18966
GOOGLE_MAP_API_KEY="YOUR_KEY_HERE"
ALLOWED_DOMAINS="example.com"
IPCHECKING_API_KEY="YOUR_KEY_HERE"
  1. 重启服务使配置生效。
Docker环境

在运行Docker容器时添加环境变量:

docker run -d -p 18966:18966 \-e GOOGLE_MAP_API_KEY="YOUR_KEY_HERE" \-e ALLOWED_DOMAINS="example.com" \-e IPCHECKING_API_KEY="YOUR_TOKEN_HERE" \--name myip \jason5ng32/myip:latest

六、高级应用场景

1. 代理环境下的IP检测

在使用代理上网时,可以通过配置代理规则,实现同时查询真实IP和代理后的IP。以下是一个示例配置:

# IP Testing
IP-CIDR,1.0.0.2/32,Proxy,no-resolve
IP-CIDR6,2606:4700:4700::1111/128,Proxy,no-resolve
DOMAIN,4.ipcheck.ing,DIRECT
DOMAIN,6.ipcheck.ing,DIRECT# 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

2. 网络安全审计

利用MyIP的网络安全检查清单(258项),可以对网络进行全面的安全审计。这对于企业网络管理员特别有用,可以帮助发现潜在的安全隐患。

3. VPN连接验证

通过DNS泄漏检测和WebRTC检测功能,可以验证VPN连接是否真正保护了用户隐私。这对于注重隐私的用户来说是一个重要的测试工具。

4. 网络故障排查

当遇到网络连接问题时,可以使用MyIP的全球延迟测试和MTR测试功能,快速定位问题所在。这对于网络管理员和技术支持人员来说是一个高效的故障排查工具。

七、用户体验优化

MyIP不仅功能强大,还注重用户体验:

1. 界面模式

  • 暗黑模式:根据系统设置自动切换暗黑/白天模式,也可以手动切换,适应不同使用环境。
  • 简约模式:为移动设备优化的专门模式,缩短页面长度,快速查看最重要的信息。

2. 平台支持

  • PWA支持:可以添加为手机应用以及电脑桌面应用,方便使用。
  • 多语言支持:支持中文、英文和法文,满足不同用户的需求。

3. 快捷操作

  • 快捷键支持:可以随时输入"?"查看快捷键菜单,提高操作效率。
  • 全球网络访问提示:根据可用性检测结果,返回目前是否可以访问全世界网络的提示。
http://www.dtcms.com/a/340915.html

相关文章:

  • PyTorch中的c10::ArrayRef和at::IntArrayRef
  • 【图像算法 - 19】慧眼识苗:基于深度学习与OpenCV的大棚农作物生长情况智能识别检测系统
  • 基于最小二乘支持向量机的数据回归预测 LSSVM
  • 第四章:大模型(LLM)】07.Prompt工程-(4)思维链(CoT, Chain-of-Thought)Prompt
  • python的物资管理系统
  • Java内功修炼(2)——线程安全三剑客:synchronized、volatile与wait/notify
  • MongoDB 分片集群修改管理员密码
  • 密码加密算法和JWT无状态认证
  • K距离间隔重排字符串 (LeetCode 358) — Swift解法 + 可运行Demo
  • 360T7刷OpenWRT笔记
  • 深入解析EventPoller:Disruptor的轮询式事件处理机制
  • Download:几款主流的全球范围的NDVI产品参数说明和下载
  • Spring Boot 发展史
  • 机器学习——数据清洗
  • JS对象与JSON转换全解析
  • C/C++嵌入式笔试核心考点精解
  • AI 与 OCR 识别:深度融合的智能信息提取技术
  • Elasticsearch 写入全链路:从单机到集群
  • 实验8.20
  • nvidia最新论文:小型语言模型是代理人工智能的未来
  • iOS App 上架实战 从内测到应用商店发布的全周期流程解析
  • Linux 文件系统权限管理(补充)
  • 管理项目服务器连接数据库
  • Linux 文本处理三剑客:awk、grep、sed 完全指南
  • 中小型企业是否需要使用高防服务器
  • Linux-文本搜索工具grep
  • C++进阶-----C++11
  • Hangfire定时部署(.NET 8 + SQL Server)
  • Android 资源替换:静态替换 vs 动态替换
  • PHP特有的安全漏洞及渗透测试利用方法(通俗易懂)