TechLuddite/NetReady
GitHub: TechLuddite/NetReady
一个基于 React 和 TypeScript 构建的纯客户端浏览器网络诊断套件,集成本地端口扫描、带宽测速、DNS 解析、WebRTC 探测等十余种网络分析工具。
Stars: 0 | Forks: 0
# NetReady 🌐⚡
NetReady 是一个现代化、高性能的客户端网络诊断套件和本地端口扫描器,旨在使用标准的 Web API、WebSockets、DNS-over-HTTPS (DoH) 和 WebRTC ICE 探测,100% 在您的浏览器中运行。
## 🛠️ 核心诊断工具
### 1. 📡 本地端口扫描器
- **目标指定**:输入主机名、IPv4 地址、环回接口(`127.0.0.1`)或子网(`192.168.1.0/24`)。
- **自动检测子网**:使用 WebRTC candidate gathering 发现活跃的本地网络接口。
- **端口范围**:
- **类别预设**:Web & Dev (`80, 443, 3000, 5000, 8080`)、前 15 个常用端口、数据库 (`1433, 3306, 5432, 6379, 27017`)、远程管理 & 邮件 (`21, 22, 23, 25, 3389, 5900`)。
- **自定义端口与范围**:灵活的输入方式,支持以逗号分隔的端口和范围(例如 `80, 443, 3000-3010, 8080`)。
- **Socket 探测引擎**:报告 `Open`(开放)、`Closed`(关闭)或 `Filtered`(被过滤)端口状态,包含往返延迟、目标 IP/主机、服务名称和描述。
### 2. ⚡ WebRTC 带宽与速度测试
- 无需外部插件,直接通过标准的 Web 边缘节点探测下载/上传容量、ping 延迟和抖动。
### 3. 🎯 多主机 Ping 与抖动监控器
- 测量实时数据包往返时间(RTT)、最小/最大延迟差异以及连接抖动。
### 4. 🔒 DoH DNS 解析器
- 使用 DNS-over-HTTPS 提供商(Cloudflare、Google Public DNS)查询域名记录(`A`、`AAAA`、`MX`、`TXT`、`NS`、`CNAME`)。
### 5. 🌐 WebRTC ICE Candidate 分析器
- 使用 STUN 服务器发现公共 WAN IP 地址、内部 LAN 接口 candidate 以及 NAT 穿透拓扑。
### 6. 🧮 子网与 CIDR 计算器
- 为任意 CIDR 表示法计算网络边界、广播地址、可用主机数、子网掩码以及 IP 二进制表示。
### 7. 🔍 MAC OUI 硬件供应商查询
- 解析 IEEE 组织唯一标识符(OUI)以识别网络设备制造商。
### 8. 🛡️ HTTP 安全标头探测
- 检查 HTTP 状态码、服务器标头以及安全强制标头(`HSTS`、`CORS`、`CSP`、`X-Frame-Options`)。
### 9. 🔌 WebSocket Echo 与延迟测试器
- 测量 `ws://` 和 `wss://` 上的 WebSocket 握手建立时间、消息帧往返延迟以及 echo 数据包的可靠性。
### 10. 💾 持久化 LocalStorage 历史记录
- 所有扫描结果会自动持久化保存在浏览器的 `localStorage` 中。
- 支持搜索、过滤、检查原始 JSON payload,并以 **JSON** 或 **CSV** 格式导出报告。
## 🚀 快速入门
### 前置条件
- **Node.js**:v18.0.0 或更高版本
- **npm** 或 **yarn**
### 安装
```
# 克隆仓库
git clone https://github.com/your-username/netready.git
# 进入 workspace
cd netready
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
应用程序将在 `http://localhost:3000` 上启动。
### 生产环境构建
```
npm run build
npm run start
```
## 🔒 隐私与安全声明
NetReady 采用严格的**隐私优先与安全优先**架构:
- **100% 客户端执行**:所有网络诊断、Socket 探测、DNS-over-HTTPS 查询和 WebRTC candidate 分析均严格在您的浏览器内执行。
- **零服务器遥测**:我们不收集、传输、存储或分析任何用户 IP 地址、扫描目标或诊断日志。
- **仅本地持久化**:所有扫描历史记录、速度测试指标和配置选项均保存在您浏览器的本地 `localStorage` 中。清除浏览器数据将彻底删除所有保存的记录。
- **合规扫描须知**:端口扫描和网络诊断探测仅应在您拥有或获得明确授权审查的网络、设备和主机上执行。
## 🔄 漂移检查与系统完整性
NetReady 强制执行严格的客户端构建完整性和零配置漂移:
- **TypeScript 验证**:`npm run lint` 通过严格的 `tsc --noEmit` 检查确保类型安全。
- **确定性构建**:`npm run build` 在 `dist/` 中生成静态 bundle 输出,实现零服务器 runtime 状态漂移。
- **浏览器标准一致性**:完全符合现代 W3C Web API(Fetch API、WebSockets、WebRTC RTCPeerConnection、Storage API)。
## 🛡️ 许可证
该项目基于 **GNU Affero General Public License v3.0 (AGPL-3.0)** 授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
标签:MITM代理, React, Syscalls, TypeScript, WebRTC, 安全插件, 情报分析, 数据统计, 浏览器工具, 端口扫描, 网络诊断, 自动化攻击