BARGHEST-ngo/MESH

GitHub: BARGHEST-ngo/MESH

基于深度定制Tailscale协议的加密P2P mesh网络工具,实现抗审查、穿透CGNAT的远程移动取证与网络监控能力。

Stars: 32 | Forks: 4

MESH

Documentation Public Alpha Status Chat

文档 | BARGHEST


**MESH Forensics 能够通过加密、抗审查的点对点 mesh 网络实现远程移动取证和网络监控。** 移动设备通常位于运营商级 NAT (CGNAT)、防火墙或受限移动网络之后,这阻止了直接的入站访问。传统的远程取证通常需要中心化的 VPN 服务器或有风险的端口转发。 MESH Forensics 通过创建加密的点对点覆盖网络,并通过虚拟 TUN 接口为每个节点分配 CGNAT 范围的地址来解决这个问题。设备看起来就像在同一个本地子网上——即使它们在地理上相距遥远或位于多层 NAT 之后。 这通过 ADB Wireless Debugging 和 [libimobiledevice](https://libimobiledevice.org/) 实现了**远程移动取证**,允许 WARD、[MVT](https://github.com/mvt-project/) 和 [AndroidQF](https://github.com/mvt-project/androidqf) 等工具远程运行,而无需将设备暴露在公共互联网上。 该 mesh 网络还可用于**远程网络监控**,包括通过加密覆盖网络进行 PCAP 捕获和基于 Suricata 的入侵检测。同时支持即时取证捕获和网络捕获。 MESH 专为民间社会取证而设计,并针对敌对/受审查网络进行了加固: - 在可用时进行直接点对点 WireGuard 传输 - 可选的 AmneziaWG 以混淆 WireGuard 指纹,从而规避国家防火墙或 DPI 检测 - 当 UDP 被阻止时自动回退到端到端加密 HTTPS 中继 Mesh 网络是临时的且由分析师控制:让设备上线,收集证据,然后立即拆除网络。无需复杂的中心辐射型 (hub-and-spoke) 配置。 ## 架构摘要 MESH 是 [Tailscale 协议](https://github.com/tailscale/tailscale)的一个深度修改版分支,但**不**需要 Tailscale 基础设施。 增强功能包括但不限于: - 带有取证操作 UI 的可自托管协调服务器 - 自动 WireGuard 密钥分发 - 可选的 AmneziaWG 传输混淆 - 加密 HTTPS 中继回退 控制平面仅处理节点发现和密钥交换。 取证流量尽可能在端点之间直接流动。 ## 关键功能 - 点对点加密取证子网 - 自动 WireGuard / AmneziaWG 密钥管理 - 具有 ACL 强制执行功能的可自托管控制平面 - CGNAT 分配的虚拟 TUN 接口 - ADB-over-WiFi 和 libimobiledevice 兼容性 - AndroidQF + MVT 集成 - 安全传输取证工件 - 可选的 kill-switch 容器隔离 - 快速 mesh 网络创建和拆除 1 2 3 ## 为什么不使用 VPN? 传统的 VPN 和中心辐射型架构会带来: - 持久性基础设施风险 - 中心化流量分析点 - 单点故障 - 增加的运维暴露面 MESH 将协调与数据传输分离: - 控制平面不承载取证流量 - 节点连接尽可能直接进行 - 中继是传输回退方案,而非架构枢纽 - Mesh 网络是可丢弃且面向特定任务的 MESH 针对临时、高风险环境而非永久性企业网络进行了优化。 ## 入门指南 完整文档请访问: https://docs.meshforensics.org/ ### 1. 克隆仓库 ``` git clone https://github.com/BARGHEST-ngo/mesh.git cd mesh/mesh-control-plane ``` ### 2. 启动控制平面 ``` docker-compose up -d ``` ### 4. 访问 Web UI ``` Local: https://localhost:3000/login Remote: https://your-domain:8443/login ``` Web UI 默认使用自签名证书。 ### 5. 创建 API 密钥 ``` docker exec headscale headscale apikeys create --expiration 90d ``` 使用生成的密钥在 Web UI 中进行身份验证。 image 您的 MESH 网络现在已准备好接受节点。 有关节点注册和取证工作流,请参阅文档。 ### 仓库结构 - `mesh-android-client` — Android 端点 APK - `mesh-control-plane` — 协调服务器 - `mesh-linux-macos-analyst` — 分析师 CLI 客户端 ### 开发者须知 **工作流程:** - 开发在分支上进行,并通过 PR 合并。 - 版本发布通过带版本号的标签进行切割。 - GitHub Actions 将带标签的版本镜像到 `mesh-analyst-client`。 - 外部 Go 项目应依赖显式的版本标签,而不是 `main`。 ## 许可证 MESH 根据 [GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later)](LICENSE) 授权。 本软件的部分内容是 [Tailscale](https://github.com/tailscale/tailscale) 的衍生作品,后者根据 BSD 3-Clause 许可证授权。原始 Tailscale 版权和许可证已按照 BSD-3-Clause 要求保留。AmneziaWG/Wireguard 代码根据 MIT 许可证授权。有关详细信息,请参阅 `.licenses/`。 BARGHEST 所做的所有修改和增补均为 Copyright (c) BARGHEST 并根据 AGPL-3.0-or-later 授权。 ### 法律声明 WireGuard 是 Jason A. Donenfeld 的注册商标。
标签:ADB调试, AndroidQF, Android取证, CGNAT, EVTX分析, iOS取证, IP 地址批量处理, libimobiledevice, Mesh网络, Metaprompt, MVT, NAT穿透, P2P, _suricata, TUN接口, WARD, 分布式网络, 加密通信, 库, 应急响应, 抗审查, 数字取证, 日志审计, 点对点网络, 移动取证, 网络安全, 网络安全, 自动化脚本, 虚拟网卡, 请求拦截, 远程取证, 隐私保护, 隐私保护