在企业局域网和跨地域办公场景中,IT 运维人员经常面临设备分散、网络隔阂、远程管理工具匮乏等痛点。传统 VPN 部署复杂、TeamViewer 等商业软件授权昂贵且安全性难以保障。InterNet 正是为解决这些问题而设计的一套轻量级 P2P 远程运维协作平台。
在日常办公中,团队成员可能分布在不同的办公室、楼层甚至异地分支机构,彼此之间的网络不通导致文件传输、问题排查变得异常困难。InterNet 通过反向隧道技术实现 NAT 穿透,让任意设备之间能够直接建立安全连接,无需公网 IP 或复杂的路由配置。管理员可以在同一界面内查看所有在线设备的硬件信息、实时网速、运行状态,并执行远程命令、查看屏幕、管理文件,极大提升了运维效率。
对于需要协作的团队,InterNet 内置了匿名聊天室和云盘存储功能。聊天室支持跨网段消息互通,云盘通过 Gitee 仓库作为中继存储,所有登录用户可以上传、下载、删除任意文件,实现文件共享和资料同步。云盘和聊天室均以 Gitee 作为跨网段穿透的中继层,确保不同局域网下的用户也能无障碍通信。此外,平台的网络加速功能可以将多台设备的带宽聚合利用,为需要高带宽的内网应用提供加速通道。
InterNet 的使用场景覆盖了局域网协作、远程办公、IT 运维、团队文件共享、临时通信、带宽聚合加速等多个方面。它将分散的设备连接成一个虚拟协作网络,让信息和资源在团队内部自由流动,从而降低沟通成本、提高工作效率。
InterNet 提供了六大核心功能模块,涵盖远程管理、网络加速、通信协作和存储共享等多个维度:
### 1. 网络加速与代理
通过 SOCKS5 代理(端口 1080)和 HTTP CONNECT 聚合代理(端口 1081)实现多节点带宽聚合。管理员可以将多个 Peer 节点的上行带宽汇聚使用,采用轮询负载均衡策略,提高整体网络吞吐量。支持 QoS 限速,可在 Peer 侧限制浏览器流量占比,断开后自动恢复全速。当 TCP 隧道连续三次失败时,自动启动备用直连中继(端口 1082)以确保可用性。
### 2. 远程设备管理
管理员可对已连接的 Peer 执行远程 CMD 命令(60 秒超时自动强杀),实时查看设备屏幕(GDI 原生截屏流,支持键盘鼠标远程操控),浏览和编辑远程文件系统,获取磁盘空间信息,以及共享存储挂载(将 Peer 存储映射为 X:/Y:/Z: 虚拟盘)。同时支持批量版本更新推送,通过分块下载、SHA256 校验和 rename-and-replace 自替换机制确保更新安全可靠。
### 3. 匿名聊天室
基于 UDP 广播(端口 19879)的局域网匿名聊天室。所有消息显示在左侧,不区分发送者,保护参与者隐私。支持文字消息和图片上传(图片自动压缩至 base64 < 60KB 以适应 UDP 包大小限制)。消息历史以环形缓冲区保存(最多 500 条)并持久化到文件。通过 Gitee 中继轮询实现跨网段消息互通——不同局域网的用户可以在同一聊天室内实时交流,延迟控制在 5 秒以内。支持通知开关和深色/浅色主题切换。
### 4. 云盘存储
基于 Gitee 仓库(zhongji)作为中继存储的跨网段云盘。所有文件以分块方式(512KB/块)存储在 Gitee 仓库的文件路径中,总容量上限 2GB。支持目录导航(面包屑)、任意格式文件上传
端采用 Vue 3 + TypeScript + Pinia 状态管理,UI 组件使用 Inspira UI 动效组件库,构建工具为 Vite 5,包管理器使用 Bun。后端使用 Rust 语言,基于 Tauri 2.0 框架实现 WebView2 桌面应用。前后端通过 Tauri 命令桥接(invoke_handler),所有异步操作用 Rust async/await + Tokio 运行时驱动。
### 网络隧道实现
核心网络层基于反向隧道协议:Peer 主动向管理员发起 TCP 出站连接(端口 19876),天然穿透 NAT 和防火墙。隧道采用统一帧协议(4 字节大端长度前缀 + JSON 负载),支持流多路复用(最多 200 路/Peer)。心跳间隔 20 秒,请求超时 15 秒,断线后指数退避重连(最大 60 秒)。TunnelManager 维护所有在线 Peer 的隧道句柄,支持 broadcast 广播和 point-to-point 点对点通信。
### Gitee 中继与跨网段穿透
为解决不同局域网设备无法直接建立 TCP 连接的问题,引入 Gitee 仓库作为中继层。中继模块(relay.rs)封装了 Gitee API v5 的完整操作:文件创建、读取、删除、仓库内容列表。文件以 base64 编码分块(512KB/块)写入仓库,通过 meta 文件记录分块数量和总大小。聊天消息通过轮询方式(4 秒间隔)从 Gitee 仓库拉取和写入,实现跨网段消息同步。云盘存储同样基于此机制,所有客户端通过 Gitee API 直接操作中继仓库,无需经过管理员中转。
### 聊天室实现
聊天系统(chat.rs)包含 ChatState(环形缓冲区 500 条)、UDP 广播(端口 19879,广播到 255.255.255.255 和本地 /24
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论