lukagray-dev/Nexus
GitHub: lukagray-dev/Nexus
Nexus 是一套采用 Agent-Dashboard 架构的家长控制监控系统,通过 WebRTC 和 Firebase 实现对未成年人设备的实时音视频监控与数据采集。
Stars: 1 | Forks: 0
* **名称**:Nexus (*Nexus-parent & Nexus-child*)
* **类别**:家长控制监控系统
* **模型**:Agent (子设备) + Dashboard (父设备)
* **目标平台**:
* **Agent**:Android-10+ & iOS
* **Dashboard**:
* 移动端:Android, iOS
* 桌面端:Windows, macOS, Linux
* **核心目标**:
* 为家长提供对未成年人自有设备的**全面监控**。
* 在面对应用/操作系统更新时具备**极低的可检测性和极高的存活率**。
## **框架与技术策略**
### 系统架构概述
```
graph TD
subgraph Parent_Device ["Parent Device (Desktop Dashboard)"]
UI["Electron UI
HTML/CSS/JS"] -->|IPC| Main["Electron Main Process"] Main -->|Signaling| Firebase["Firebase Realtime DB"] Main -->|P2P Media| WebRTC["Native WebRTC API"] end subgraph Child_Device ["Child Device (Agent)"] NativeUI["Native UI
Kotlin"] -->|Internal Logic| NativeLogic["Native Business Logic"] NativeLogic -->|Signaling| Firebase NativeLogic -->|P2P Media| WebRTC_Native["Native WebRTC SDK"] NativeLogic -->|Capture| Camera["Camera & Mic"] NativeLogic -->|Capture| Screen["Screen Projection"] NativeLogic -->|Monitor| Services["Accessibility/Notification"] end Firebase <==>|Signaling| NativeLogic WebRTC <==>|P2P Media Stream| WebRTC_Native ``` ### Agent (子设备) * **目的**:数据收集 + 执行 * **架构**:**完全原生实现** (Android 使用 Kotlin,iOS 使用 Swift)。 * **为何选择原生?**: * 最大化后台服务的稳定性和操作系统集成度。 * 减小二进制文件体积和内存占用。 * 确保媒体捕获的最佳性能 (Camera2 API, MediaProjection)。 * **技术栈**: * **Android**: * 语言:Kotlin * WebRTC:`google-webrtc` 原生 SDK * 信令:Firebase Realtime Database (原生 SDK) * 核心:Android Services, BroadcastReceivers, ContentProviders * **iOS** (计划中): * 语言:Swift * WebRTC:原生 WebRTC 框架 * **信令 Schema**: * 路径:`signaling/{deviceId}` * 协议:Trickle ICE (Offer/Answer 通过数据库交换,Candidate 立即交换)。 ### Dashboard (家长端) * **目的**:控制、分析、可视化、命令调度 * **架构**:Electron + 原生 WebRTC (无 Rust 核心) * **为何选择 Electron?**: * 原生 WebRTC 支持 (无需自定义解码器) * 跨平台 (Windows, macOS, Linux) * 更快的开发和迭代速度 * 经受考验的桌面应用稳定性 * **技术栈**: * **桌面端**: * 平台:Windows, macOS, Linux * 框架:Electron * UI:HTML/CSS/JavaScript * 后端:Node.js (Electron 主进程) * WebRTC:原生浏览器 WebRTC API * 信令:Firebase Realtime Database * **关键组件**: * `src/main.js`:Electron 主进程 (窗口管理,IPC) * `dist/js/webrtc/webrtc-manager.js`:WebRTC 连接管理 * `dist/js/managers/connection-manager.js`:设备连接逻辑 * `dist/js/features/camera/camera.js`:摄像头流媒体功能 * `dist/js/ipc-bridge.js`:Electron IPC 通信 ## **信令与连接流程** 系统使用 **Firebase Realtime Database** 作为信令服务器。 ``` sequenceDiagram participant P as Parent (Offerer) participant F as Firebase DB participant C as Child (Answerer) Note over C: Child comes Online C->>F: Set status: "online-waiting" (child-devices/{id}) Note over P: Parent initiates Call P->>F: Write OFFER (signaling/{id}/offer) F-->>C: OnDataChange(OFFER) C->>C: Set Remote Description C->>C: Create ANSWER C->>F: Write ANSWER (signaling/{id}/answer) F-->>P: OnDataChange(ANSWER) par Trickle ICE C->>F: Add ICE Candidate (signaling/{id}/ice-candidates/answerer) F-->>P: Receive Candidate -> Add to PeerConnection and P->>F: Add ICE Candidate (signaling/{id}/ice-candidates/offerer) F-->>C: Receive Candidate -> Add to PeerConnection end Note over P,C: P2P Connection Established C->>P: Stream Media (Video/Audio) P->>C: Data Channel (Commands) ``` ## **功能特性** ### Agent Agent 应用程序包含一套广泛的监控和管理功能,专为全面的设备监督而设计。主要功能包括: * **实时环境与数据监控**:提供对设备摄像头、麦克风和地理位置的高保真实时访问,以及对短信、通话记录和本地文件存储的全面日志/访问。 * **实时屏幕捕获**:支持实时屏幕流媒体传输和高分辨率快照捕获,以实现即时视觉监督。 * **主动通话监管**:实时监控所有呼入和呼出的语音通信。 * **加密消息监管**:利用 Accessibility Services 促进跨主要消息平台(包括 WhatsApp、Messenger 和 Telegram)的通信监控。[*](#additional-mods) * **通知拦截**:捕获并显示发生时的所有系统级和应用程序级通知。 * **电子邮件监控**:通过 Google 官方 API 集成提供对 Gmail 通信的结构化访问。[*](#additional-mods) * **网络活动分析**:维护跨标准移动浏览器(如 Chrome 和 Firefox)的详细浏览活动历史记录。 * **应用生命周期跟踪**:记录有关应用程序使用的详细指标,包括访问持续时间和频率。 * **隐蔽运行模式**:提供隐形配置,将应用程序从应用抽屉和最近任务列表中移除,保持极低的系统占用。 * **动态身份伪装**:允许动态修改应用程序的图标和标签,使其能够与标准系统或第三方应用程序无缝融合。 * **系统韧性**:专为高存活率而设计,应用程序可自动从终止尝试中恢复,并在设备重启或强制停止后持续运行。 其他互动和管理工具包括: * **直接音频传输**:通过以最大音量广播语音消息来促进即时音频通信,绕过系统静音或“请勿打扰”配置,以确保听到关键的家长警报。 * **远程界面个性化**:使管理员能够远程更新设备壁纸,以管理子设备的视觉环境。 ### Dashboard * Dashboard 作为集中管理界面,提供对分布式 Agent 网络的全面指挥和控制能力。 * 它作为数据接收、可视化以及战略监督的安全端点,使家长能够通过统一且直观的控制台监控和管理子设备活动。 ## **附加 Mods** (后续目标 🙋🏻♂️) 为了实现超越无障碍和基于通知方法的深度聊天和电子邮件可见性,Nexus 支持针对选定的第三方应用程序提供可选的修改版 应用程序构建。*这些 Mods 完全在应用层运行,不需要设备 Root*。 ### 范围与目的 * 提供对本地应用数据库的直接读取访问权限(消息、媒体元数据、附件、回复、时间戳)。 * 仅当家长明确要求时,才支持向 Nexus Agent 进行按需数据流传输。 * 减少受支持应用程序对无障碍抓取的依赖。 ### 受支持的应用 * Telegram (最简单,稳定性最高) * WhatsApp (简单到中等) * Instagram (中等) * Messenger (中等) * Facebook (中等) * Snapchat (中等) * ChatGPT, Claude, Grok (简单) * Gmail (困难,Gmail APK 经过高度混淆 + 结合了 Play Integrity) ### 架构 * 每个修改版应用程序都会被重新签名并修补,以包含: * 本地数据库读取 hooks * 媒体缓存访问 hooks * 到 Nexus Agent 的 IPC 桥接 (Binder) * 修改版应用程序不会与后端服务器进行直接网络通信。 * 所有提取的数据严格按以下方式流动: * 修改版应用 → 本地 IPC → Nexus Agent → 家长 Dashboard ### 分发模型 * Nexus Agent 包含一个嵌入式应用目录(类似于应用商店的 UI)。 * 家长手动发起修改版应用程序的下载和安装。 * 在安装修改版本之前,必须卸载原始应用程序。 * 由于签名不匹配,自动的 Play Store 更新会被自然拦截。 ### 限制 * 第三方服务的服务器端强制执行可能会导致强制更新或账号封禁。 * 稳定性因应用程序和供应商而异。 * Meta 和 Snapchat 应用对篡改更为敏感。 ## **运营原则** Nexus 被设计和定位为家长控制和儿童安全系统,这是一项在多个司法管辖区得到广泛认可且合法部署的软件类别。 系统在以下指导原则下运行: * 所有监控、监督和控制能力**仅供家长或合法监护人使用**。 * 这些能力仅适用于由该家长或监护人照料的未成年人**拥有、发给或主要使用**的设备。 * 在这种亲子关系中使用时,这些能力通常被理解为**家长责任的合法延伸**,包括监督、保护和数字健康管理。 * ***该平台在设计、营销或支持上,均不适用于对成年人、无关第三方进行 covert 监控,也不适用于合法亲子或监护人-未成年人语境之外的设备***。
HTML/CSS/JS"] -->|IPC| Main["Electron Main Process"] Main -->|Signaling| Firebase["Firebase Realtime DB"] Main -->|P2P Media| WebRTC["Native WebRTC API"] end subgraph Child_Device ["Child Device (Agent)"] NativeUI["Native UI
Kotlin"] -->|Internal Logic| NativeLogic["Native Business Logic"] NativeLogic -->|Signaling| Firebase NativeLogic -->|P2P Media| WebRTC_Native["Native WebRTC SDK"] NativeLogic -->|Capture| Camera["Camera & Mic"] NativeLogic -->|Capture| Screen["Screen Projection"] NativeLogic -->|Monitor| Services["Accessibility/Notification"] end Firebase <==>|Signaling| NativeLogic WebRTC <==>|P2P Media Stream| WebRTC_Native ``` ### Agent (子设备) * **目的**:数据收集 + 执行 * **架构**:**完全原生实现** (Android 使用 Kotlin,iOS 使用 Swift)。 * **为何选择原生?**: * 最大化后台服务的稳定性和操作系统集成度。 * 减小二进制文件体积和内存占用。 * 确保媒体捕获的最佳性能 (Camera2 API, MediaProjection)。 * **技术栈**: * **Android**: * 语言:Kotlin * WebRTC:`google-webrtc` 原生 SDK * 信令:Firebase Realtime Database (原生 SDK) * 核心:Android Services, BroadcastReceivers, ContentProviders * **iOS** (计划中): * 语言:Swift * WebRTC:原生 WebRTC 框架 * **信令 Schema**: * 路径:`signaling/{deviceId}` * 协议:Trickle ICE (Offer/Answer 通过数据库交换,Candidate 立即交换)。 ### Dashboard (家长端) * **目的**:控制、分析、可视化、命令调度 * **架构**:Electron + 原生 WebRTC (无 Rust 核心) * **为何选择 Electron?**: * 原生 WebRTC 支持 (无需自定义解码器) * 跨平台 (Windows, macOS, Linux) * 更快的开发和迭代速度 * 经受考验的桌面应用稳定性 * **技术栈**: * **桌面端**: * 平台:Windows, macOS, Linux * 框架:Electron * UI:HTML/CSS/JavaScript * 后端:Node.js (Electron 主进程) * WebRTC:原生浏览器 WebRTC API * 信令:Firebase Realtime Database * **关键组件**: * `src/main.js`:Electron 主进程 (窗口管理,IPC) * `dist/js/webrtc/webrtc-manager.js`:WebRTC 连接管理 * `dist/js/managers/connection-manager.js`:设备连接逻辑 * `dist/js/features/camera/camera.js`:摄像头流媒体功能 * `dist/js/ipc-bridge.js`:Electron IPC 通信 ## **信令与连接流程** 系统使用 **Firebase Realtime Database** 作为信令服务器。 ``` sequenceDiagram participant P as Parent (Offerer) participant F as Firebase DB participant C as Child (Answerer) Note over C: Child comes Online C->>F: Set status: "online-waiting" (child-devices/{id}) Note over P: Parent initiates Call P->>F: Write OFFER (signaling/{id}/offer) F-->>C: OnDataChange(OFFER) C->>C: Set Remote Description C->>C: Create ANSWER C->>F: Write ANSWER (signaling/{id}/answer) F-->>P: OnDataChange(ANSWER) par Trickle ICE C->>F: Add ICE Candidate (signaling/{id}/ice-candidates/answerer) F-->>P: Receive Candidate -> Add to PeerConnection and P->>F: Add ICE Candidate (signaling/{id}/ice-candidates/offerer) F-->>C: Receive Candidate -> Add to PeerConnection end Note over P,C: P2P Connection Established C->>P: Stream Media (Video/Audio) P->>C: Data Channel (Commands) ``` ## **功能特性** ### Agent Agent 应用程序包含一套广泛的监控和管理功能,专为全面的设备监督而设计。主要功能包括: * **实时环境与数据监控**:提供对设备摄像头、麦克风和地理位置的高保真实时访问,以及对短信、通话记录和本地文件存储的全面日志/访问。 * **实时屏幕捕获**:支持实时屏幕流媒体传输和高分辨率快照捕获,以实现即时视觉监督。 * **主动通话监管**:实时监控所有呼入和呼出的语音通信。 * **加密消息监管**:利用 Accessibility Services 促进跨主要消息平台(包括 WhatsApp、Messenger 和 Telegram)的通信监控。[*](#additional-mods) * **通知拦截**:捕获并显示发生时的所有系统级和应用程序级通知。 * **电子邮件监控**:通过 Google 官方 API 集成提供对 Gmail 通信的结构化访问。[*](#additional-mods) * **网络活动分析**:维护跨标准移动浏览器(如 Chrome 和 Firefox)的详细浏览活动历史记录。 * **应用生命周期跟踪**:记录有关应用程序使用的详细指标,包括访问持续时间和频率。 * **隐蔽运行模式**:提供隐形配置,将应用程序从应用抽屉和最近任务列表中移除,保持极低的系统占用。 * **动态身份伪装**:允许动态修改应用程序的图标和标签,使其能够与标准系统或第三方应用程序无缝融合。 * **系统韧性**:专为高存活率而设计,应用程序可自动从终止尝试中恢复,并在设备重启或强制停止后持续运行。 其他互动和管理工具包括: * **直接音频传输**:通过以最大音量广播语音消息来促进即时音频通信,绕过系统静音或“请勿打扰”配置,以确保听到关键的家长警报。 * **远程界面个性化**:使管理员能够远程更新设备壁纸,以管理子设备的视觉环境。 ### Dashboard * Dashboard 作为集中管理界面,提供对分布式 Agent 网络的全面指挥和控制能力。 * 它作为数据接收、可视化以及战略监督的安全端点,使家长能够通过统一且直观的控制台监控和管理子设备活动。 ## **附加 Mods** (后续目标 🙋🏻♂️) 为了实现超越无障碍和基于通知方法的深度聊天和电子邮件可见性,Nexus 支持针对选定的第三方应用程序提供可选的修改版 应用程序构建。*这些 Mods 完全在应用层运行,不需要设备 Root*。 ### 范围与目的 * 提供对本地应用数据库的直接读取访问权限(消息、媒体元数据、附件、回复、时间戳)。 * 仅当家长明确要求时,才支持向 Nexus Agent 进行按需数据流传输。 * 减少受支持应用程序对无障碍抓取的依赖。 ### 受支持的应用 * Telegram (最简单,稳定性最高) * WhatsApp (简单到中等) * Instagram (中等) * Messenger (中等) * Facebook (中等) * Snapchat (中等) * ChatGPT, Claude, Grok (简单) * Gmail (困难,Gmail APK 经过高度混淆 + 结合了 Play Integrity) ### 架构 * 每个修改版应用程序都会被重新签名并修补,以包含: * 本地数据库读取 hooks * 媒体缓存访问 hooks * 到 Nexus Agent 的 IPC 桥接 (Binder) * 修改版应用程序不会与后端服务器进行直接网络通信。 * 所有提取的数据严格按以下方式流动: * 修改版应用 → 本地 IPC → Nexus Agent → 家长 Dashboard ### 分发模型 * Nexus Agent 包含一个嵌入式应用目录(类似于应用商店的 UI)。 * 家长手动发起修改版应用程序的下载和安装。 * 在安装修改版本之前,必须卸载原始应用程序。 * 由于签名不匹配,自动的 Play Store 更新会被自然拦截。 ### 限制 * 第三方服务的服务器端强制执行可能会导致强制更新或账号封禁。 * 稳定性因应用程序和供应商而异。 * Meta 和 Snapchat 应用对篡改更为敏感。 ## **运营原则** Nexus 被设计和定位为家长控制和儿童安全系统,这是一项在多个司法管辖区得到广泛认可且合法部署的软件类别。 系统在以下指导原则下运行: * 所有监控、监督和控制能力**仅供家长或合法监护人使用**。 * 这些能力仅适用于由该家长或监护人照料的未成年人**拥有、发给或主要使用**的设备。 * 在这种亲子关系中使用时,这些能力通常被理解为**家长责任的合法延伸**,包括监督、保护和数字健康管理。 * ***该平台在设计、营销或支持上,均不适用于对成年人、无关第三方进行 covert 监控,也不适用于合法亲子或监护人-未成年人语境之外的设备***。
标签:Android, DSL, Electron, iOS, MITM代理, WebRTC, 家长控制, 监控软件, 移动应用