TheOrionGD/AegisTrack-Mobile
GitHub: TheOrionGD/AegisTrack-Mobile
AegisTrack MTS 是一款企业级移动资产跟踪和遥测分析平台。
Stars: 0 | Forks: 0
```
█████╗ ███████╗ ██████╗ ██╗███████╗████████╗██████╗ █████╗ ██████╗██╗ ██╗ ███╗ ███╗ ██████╗ ██████╗ ██╗██╗ ███████╗
██╔══██╗██╔════╝██╔════╝ ██║██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██╔════╝██║ ██╔╝ ████╗ ████║██╔═══██╗██╔══██╗██║██║ ██╔════╝
███████║█████╗ ██║ ███╗██║███████╗ ██║ ██████╔╝███████║██║ █████╔╝ ██████╗ ██╔████╔██║██║ ██║██████╔╝██║██║ █████╗
██╔══██║██╔══╝ ██║ ██║██║╚════██║ ██║ ██╔══██╗██╔══██║██║ ██╔═██╗ ╚═════╝ ██║╚██╔╝██║██║ ██║██╔══██╗██║██║ ██╔══╝
██║ ██║███████╗╚██████╔╝██║███████║ ██║ ██║ ██║██║ ██║╚██████╗██║ ██╗ ██║ ╚═╝ ██║╚██████╔╝██████╔╝██║███████╗███████╗
╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝╚══════╝╚══════╝
```
#### 运行原始字节码:
```
java Godfrey
```
#### 运行包 JAR(通过 Maven):
```
java -jar target/aegistrack-mobile-1.0.0.jar
```
## 9. 运营用户指南
AegisTrack MTS 拥有友好的布局。以下是界面布局的图示:
```
+--------------------------------------------------------------+
| Mobile Tracking System (Simulation) |
+--------------------------------------------------------------+
| Enter Mobile Number: [__________________________________] |
| |
| [ Track Mobile ] [ Report Lost ] [ Display Logs ] [Exit] |
| |
| +--------------------------------------------------------+ |
| | === Output Log Display === | |
| | | |
| | | |
| | | |
| +--------------------------------------------------------+ |
+--------------------------------------------------------------+
```
### 仪表板控件
1. **输入手机号码:** 用于目标设备交易的文本框输入字段。
2. **跟踪手机位置按钮:** 查询 API 并返回生成的坐标。
3. **报告丢失手机按钮:** 将目标设备标记为丢失。
4. **显示存储数据按钮:** 渲染系统遥测记录。
5. **退出按钮:** 在确认后安全关闭控制台。
### 跟踪手机资产
1. 在字段中输入有效的 10 位手机号码(例如,`9876543210`)。
2. 点击 **跟踪手机位置** 按钮。
3. 如果有效,输出日志显示将更新为坐标:
```
=== Mobile Tracking Result ===
Mobile Number : 9876543210
Latitude : 14.3857
Longitude : 78.9124
Note: This is a simulated location.
```
### 提交丢失设备恢复报告
1. 在字段中输入目标手机号码。
2. 点击 **报告丢失手机** 按钮。
3. 记录将写入输出:
```
=== Lost Mobile Report ===
Mobile Number : 9876543210
Status : Report Registered Successfully
Please contact your service provider for assistance.
```
### 审计存储会话数据
1. 点击 **显示存储数据** 按钮。
2. 输出区域将显示当前会话期间记录的所有交易:
```
===== STORED DATA =====
Tracked Mobile Numbers
----------------------
9876543210
Lost Mobile Reports
-------------------
9876543210
```
## 10. 安全性与法规遵从性
AegisTrack MTS 实施严格控制以保护关键系统资产和位置遥测细节。
### 敏感数据清理
为了减轻注入威胁、内存缓冲区泄漏和缓冲区溢出,所有数据查询都通过使用严格的正则表达式通过验证层:
```
private boolean isValidMobileNumber(String mobileNumber) {
return mobileNumber.matches("\\d{10}");
}
```
任何包含字母字符、符号、脚本块或无效长度的输入都会立即丢弃,确保在执行之前完全中和 SQL 和命令注入向量。
### 法规遵从性(GDPR/CCPA)
位置遥测数据非常敏感,受国际法规(GDPR 第 6 条,CCPA/CPRA)保护。AegisTrack MTS 通过以下方式确保跟踪记录的安全:
* **零持久性跟踪:** 记录保存在易失性 RAM 缓冲区中,而不是写入持久文件,从而减少数据泄露漏洞面。
* **基于同意的模拟:** 模拟遥测点避免在没有用户同意的情况下捕获真实世界的位置指标。
* **加密后端管道:** 在生产构建中,原始坐标在传输之前被标记化和加密。
### API 安全策略
* **访问密钥隔离:** 主要密钥 `0bef6614413443725df6f1a8c65b8825` 在接口层进行评估,以防止未经身份验证的访问。
* **环境提取:** 密钥必须从本地环境配置(`.env`)中加载,而不是直接暴露在编译后的客户端构建中。
## 11. 可扩展性与生产路线图
对于具有数千个并发跟踪事件的庞大架构,AegisTrack 应从本地、内存缓冲区过渡到分布式后端结构。
```
+--------------------------------+
| Load Balancer (Nginx/HAProxy) |
+--------------------------------+
|
+---------------------+---------------------+
| |
v v
+-----------------------+ +-----------------------+
| MTS Gateway Node 1 | | MTS Gateway Node 2 |
+-----------------------+ +-----------------------+
| |
+---------------------+---------------------+
|
v
+---------------------------+
| Distributed Redis Cache | <-- Latency Hotpath
+---------------------------+
|
v
+---------------------------+
| PostgreSQL database (R/W) | <-- Persistent Records
+---------------------------+
```
### 数据库 DDL 架构(PostgreSQL)
要部署持久数据存储,执行以下关系数据库架构:
```
-- Create schema for mobile tracking telemetry
CREATE SCHEMA IF NOT EXISTS aegistrack_telemetry;
-- Device Inventory table
CREATE TABLE aegistrack_telemetry.devices (
device_id BIGSERIAL PRIMARY KEY,
mobile_number VARCHAR(15) UNIQUE NOT NULL,
registered_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE',
CONSTRAINT chk_mobile_format CHECK (mobile_number ~ '^\d{10}$')
);
-- Real-time location logs table
CREATE TABLE aegistrack_telemetry.location_logs (
log_id BIGSERIAL PRIMARY KEY,
device_id INT REFERENCES aegistrack_telemetry.devices(device_id) ON DELETE CASCADE,
latitude NUMERIC(9, 6) NOT NULL,
longitude NUMERIC(9, 6) NOT NULL,
tracked_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
-- Security Incident reports
CREATE TABLE aegistrack_telemetry.lost_reports (
report_id BIGSERIAL PRIMARY KEY,
device_id INT REFERENCES aegistrack_telemetry.devices(device_id) ON DELETE CASCADE,
incident_date TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
resolution_status VARCHAR(30) DEFAULT 'PENDING'
);
-- Optimize telemetry scanning paths
CREATE INDEX idx_logs_device_timestamp ON aegistrack_telemetry.location_logs(device_id, tracked_at DESC);
```
### 缓存架构(Redis)
使用 Redis 缓存高吞吐量坐标更新,减少关系数据库负载。
```
Key Schema: aegistrack:telemetry:device:
Value Type: Hash
TTL Policy: 86400 seconds (24 Hours)
```
#### Redis 命令遥测管道示例
```
# 推送模拟设备坐标
HSET aegistrack:telemetry:device:9876543210 lat "14.3857" lng "78.9124" timestamp "1780704945"
# 设置数据TTL过期
EXPIRE aegistrack:telemetry:device:9876543210 86400
```
### 分布式代理拓扑
对于系统事件扩展(例如,在丢失设备注册时触发给运营商),采用 Apache Kafka 消息队列:
```
Topics:
- telemetry-tracking-stream (High throughput, partitioned by mobile_number)
- telemetry-security-alerts (Low latency, high priority logouts)
```
## 12. 测试框架与验证
AegisTrack 验证测试编写用于验证路由逻辑、正则表达式准确性和身份验证过程。
### 自动化单元测试
在 `src/test/java/GodfreyTest.java` 中部署以下 JUnit 5 代码模块以测试核心引擎功能:
```
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import static org.junit.jupiter.api.Assertions.*;
public class GodfreyTest {
private static final String VALID_KEY = "0bef6614413443725df6f1a8c65b8825";
private static final String INVALID_KEY = "invalid_token_sample";
@Test
public void testApiKeyValidationSuccess() {
assertTrue(VALID_KEY.equals("0bef6614413443725df6f1a8c65b8825"), "Authenticating valid key should return true.");
}
@Test
public void testApiKeyValidationFailure() {
assertFalse(INVALID_KEY.equals("0bef6614413443725df6f1a8c65b8825"), "Authenticating invalid key should return false.");
}
@ParameterizedTest
@ValueSource(strings = {"9876543210", "1234567890", "5555555555"})
public void testValidMobileNumbers(String mobile) {
assertTrue(mobile.matches("\\d{10}"), "Failed to validate legal 10-digit number: " + mobile);
}
@ParameterizedTest
@ValueSource(strings = {"987654321", "98765432101", "abcdefghij", "987654-321", ""})
public void testInvalidMobileNumbers(String mobile) {
assertFalse(mobile.matches("\\d{10}"), "Incorrectly validated illegal number: " + mobile);
}
}
```
### 验证矩阵
通过构建自动化脚本来运行测试套件:
```
# 使用Maven测试生命周期运行单元测试用例
mvn test
```
预期输出:
```
[INFO] Scanning for projects...
[INFO] Running GodfreyTest
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.124 s
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
```
## 13. 故障排除与调试矩阵
以下是针对本地部署期间遇到的常见错误的故障排除指南。
| 症状/错误 | 原因 | 解决方案 |
| :--- | :--- | :--- |
| `java.awt.HeadlessException` 在初始化时。 | 在没有图形系统的控制服务器上尝试启动 GUI 面板环境。 | 安装 `xvfb` 包装器,在虚拟缓冲区显示下运行执行引擎(`xvfb-run java Godfrey`),或将平台配置转换为控制台。 |
| 输出读取:`身份验证失败。无效的 API 密钥。` | 编译的字节码中硬编码的 `API_KEY` 与控制台值不匹配。 | 验证编译脚本中的 API 配置密钥是否正确。确保配置字符串未被更改。 |
| 输入警告:`请输入有效的 10 位手机号码。` | 操作员输入了空格、破折号分隔符或字母字符。 | 清理原始输入。仅提供不带空格或国家前缀(例如 +1)的顺序数字值。 |
| 应用程序在关闭命令时崩溃。 | 事件处理接口配置错误。 | 检查 JVM 平台日志。确保自定义操作线程未锁定。 |
| 生成坐标数据地图延迟高。 | JVM 线程锁定或达到堆大小限制。 | 使用优化垃圾收集标志启动应用程序:`java -XX:+UseG1GC -Xms128m -Xmx512m Godfrey`。 |
## 14. 常见问题解答(FAQ)
#### Q1:我可以集成真实的 GPS 收发器而不是坐标模拟吗?
**A:** 是的。当前配置使用伪随机边界生成模拟坐标。在生产环境中,用绑定到跟踪 API 网关的 HTTP JSON 负载客户端替换 `trackMobile` 遥测方法。
#### Q2:为什么身份验证 API 密钥在源文件中硬编码?
**A:** 密钥在本地桌面模拟模板中硬编码,以便于初始部署。对于生产,密钥应通过运行时配置系统(如 `.env` 文件或系统属性)管理。
#### Q3:AegisTrack MTS 是否将个人跟踪记录存储在本地文件中?
**A:** 不。为了维护高合规标准,会话记录保存在 JVM 内存中。一旦跟踪窗口终止,会话历史将被清除。
#### Q4:如何在无头 Linux VPS 上配置 AegisTrack?
**A:** 使用 `Xvfb` 启动虚拟帧缓冲区。按顺序执行以下命令:
```
sudo apt-get install xvfb
Xvfb :99 -screen 0 1024x768x24 &
export DISPLAY=:99
java Godfrey
```
#### Q5:10 位验证过滤器有什么作用?
**A:** 强制严格的数值输入结构限制了解析溢出、SQL 注入和格式化异常,保护内部系统组件。
#### Q6:坐标是如何映射到位置数据的?
**A:** 生成的边界输出映射到本地坐标。这些坐标可以解析为 Google Maps 或 OpenStreetMap API 等映射可视化:
`https://www.google.com/maps/search/?api=1&query=,`
#### Q7:我可以为此应用程序构建本地可执行文件吗?
**A:** 是的。使用 GraalVM 工具将目标代码编译成平台本地可执行文件:
```
native-image --no-fallback Godfrey
```
#### Q8:是否可以同时运行多个实例?
**A:** 是的。多个隔离范围可以同时运行,每个都维护自己的独立会话审计缓冲区。
#### Q9:我如何更改模拟的地理边界?
**A:** 修改 [Godfrey.java](file:///e:/GitHub-Repos/AegisTrack-Mobile/Godfrey.java) 中的坐标配置行,以设置适合您地区的边界:
```
double latitude = MIN_BOUND + (random.nextDouble() * BOUND_RANGE);
```
#### Q10:此软件支持本地化(i18n)吗?
**A:** 当前构建以英语输出文本。要国际化,通过 JVM 包管理器(如 `java.util.ResourceBundle`)加载消息资源。
## 15. 贡献者与治理指南
我们欢迎对 AegisTrack MTS 的贡献。为确保流程顺利,请遵循以下指南:
### 分支模型
* **`main`**:生产就绪的发布分支。只有直接发布发生在这里。
* **`develop`**:新功能和代码更改的集成分支。
* **`feature/`**:功能分支。从 `develop` 创建,并通过拉取请求合并。
### Git 提交约定
在提交更改时遵循结构化语义模式:
* `feat:` 用于新功能。
* `fix:` 用于错误修复。
* `docs:` 用于文档更新。
* `refactor:` 用于代码清理,不改变行为。
### 拉取请求清单
1. 验证项目是否使用 `javac Godfrey.java` 清洁编译。
2. 格式化所有 Java 源代码以符合标准样式要求。
3. 测试布局缩放以确保与标准桌面屏幕兼容性。
## 16. 许可证与法律信息
```
Copyright 2026 AegisTrack Solutions.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
*免责声明:AegisTrack MTS 是一个跟踪模拟实用程序,旨在用于操作日志和设备遥测培训。在使用带有活动蜂窝节点的位置跟踪服务之前,请确保检查当地法律和服务提供商指南。*
标签:GPS定位, JS文件枚举, 企业IT安全, 企业级管理控制台, 企业解决方案, 位置服务, 位置模拟引擎, 占用监测, 域名枚举, 安全事件响应, 安全事件管理, 安全策略, 提示词设计, 搜索引擎查询, 测试用例, 目录枚举, 移动安全, 移动应用安全, 移动资产跟踪, 移动追踪系统, 资产管理, 遥测分析