diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..e69de29
diff --git a/README.md b/README.md
index 98bad07..4ebef8b 100644
--- a/README.md
+++ b/README.md
@@ -6,24 +6,33 @@
[](https://unocss.dev/)
[](LICENSE)
-**LagZero** 是一款专为极致游戏体验打造的跨平台、高性能游戏加速器桌面客户端。基于 **Vue 3**、**TypeScript** 和 **Electron** 构建,底层集成强大的 **sing-box** 核心,旨在提供最低延迟、最稳定的网络加速方案。
+**LagZero** 是一款专为游戏体验打造的游戏加速器。基于 **Vue 3**、**TypeScript** 和 **Electron** 构建,底层集成强大的 **sing-box** 核心,旨在提供最低延迟、最稳定的网络加速方案。
---
## ✨ 核心特性
-- 🚀 **极速性能**: 底层采用高性能网络核心,支持多线程加速,确保毫秒级响应。
-- 🎨 **现代美学**: 深度定制的 **Glassmorphism**(磨砂玻璃)设计风格,极致的暗色模式体验。
-- 🛠️ **智能监控**: 独创的 **Chain Proxy** 进程链追踪技术,自动识别并加速游戏子进程。
-- 🔧 **高度可定制**: 可视化路由规则编辑器,支持 VLESS, VMess, Trojan, Shadowsocks 等主流协议。
-- 📦 **开箱即用**: 内置 sing-box 核心自动管理,支持一键更新与版本校验。
-- 🌍 **跨平台支撑**: 完美适配 Windows, macOS 和 Linux 操作系统。
+- 🚀 **极速性能**: 底层采用高性能 **sing-box** 网络核心,支持多协议节点加速,确保毫秒级响应。
+- 🎨 **现代美学**: 深度定制的 **Vue 3** + **Naive UI** 设计风格,提供极致的暗色模式与自定义主题色体验。
+- 🎮 **智能游戏库**: 自动扫描并识别本地游戏(Steam、Xbox 等),一键配置加速。
+- 🛠️ **精细化控制**: 独创的 **Process Proxy** 进程追踪技术,搭配 TUN 虚拟网卡模式,实现进程级路由分流。
+- 🌐 **多协议支持**: 全面支持 Shadowsocks, VMess, VLESS, Trojan, TUIC, Hysteria2 等主流与新兴代理协议。
+- 🔌 **本地代理系统**: 内置本地 HTTP/SOCKS 代理服务,支持 PAC 自动代理配置脚本。
+- 📊 **流量可视化**: 实时网络延迟测试、节点状态监测与流量统计图表(基于 ECharts)。
+- 📦 **开箱即用**: 内置 sing-box 核心自动管理,支持代理订阅自动更新与节点订阅解析。
---
## 📸 界面预览
-_(截图正在准备中...)_
+
+
+
+
+
+
+
+
---
@@ -40,30 +49,42 @@ _(截图正在准备中...)_
## 🚀 快速开始
-### 环境要求
+### 环境与依赖
-- **Node.js**: 18.x 或更高版本
-- **包管理器**: [pnpm](https://pnpm.io/) 9.x 或更高版本
+- **Node.js**: 18.x 或更高版本 (推荐使用 LTS 版本)
+- **包管理器**: [pnpm](https://pnpm.io/) (必须使用 pnpm)
-### 安装依赖
+### 安装与运行流程
```bash
+# 1. 获取代码并进入工作区 (前提)
+# git clone https://github.com/ZenEcho/LagZero.git
+# cd LagZero
+
+# 2. 安装所有的 Node 依赖项
pnpm install
-```
-### 启动开发环境
+# 3. 重新编译原生模块 (极度关键!因为依赖了 Better-SQLite3,必须要适配 Electron 的 Node ABI)
+pnpm rebuild:native
+# 备用命令:如果你在上方重构过程中卡住,可尝试专用的数据库重建脚本
+# pnpm rebuild:sqlite
-```bash
+# 4. 启动开发模式 (包含 Vite 热更新界面与 Electron 主进程热重载)
pnpm dev
```
-### 构建打包
+### 源码编译与打包构建
-| 平台 | 命令 | 说明 |
-| :---------- | :------------------ | :------------------------------------- |
-| **通用** | `pnpm dist` | 打包当前平台的安装包(Installer) |
-| **通用** | `pnpm pack` | 打包为免安装目录(Unpacked) |
-| **Windows** | `pnpm dist:win:all` | 同时生成 x64 和 arm64 的安装包与便携版 |
+LagZero 配备了齐全的 `package.json` 构建脚手架命令,可直接调用处理打包分发任务:
+
+| `pnpm` 任务指令 | 执行说明 |
+| :-------------- | :----------------------------------------------------------------------------------------------------------- |
+| `build` | 纯前端侧的**生产编译**(执行 `vue-tsc` 类型检查后输出网页 `dist` 资产) |
+| `pack` | 将程序打包为对应平台的**免安装目录** (`Unpacked`),适合用来调试真实的打包环境 |
+| `dist` | 直接将应用封包为当前平台的常规**安装包** (`Installer`/`.exe`/`.dmg`/`.AppImage`等) |
+| `dist:win:all` | **(Windows 发布必用)** 全量打包构建 `x64` 和 `arm64` 架构下的 **NSIS安装程序** 与 **Portable便携单文件版本** |
+
+_(提示:你还可以从 `package.json` 中发现更细粒度的构建宏,如仅打 x64 便携版 `dist:win:x64:portable`)_
---
@@ -71,16 +92,31 @@ pnpm dev
```text
├── .github/ # GitHub Actions 自动化配置
-├── docs/ # 项目文档 (API, 用户手册)
+├── docs/ # 项目文档 (API, 用户手册等)
+├── docImages/ # 文档相关配图目录
├── electron/ # Electron 主进程源码
-│ ├── main.ts # 进程入口
-│ └── singbox/ # sing-box 核心集成逻辑
+│ ├── common/ # 主进程与渲染进程共享常量 / 类型
+│ ├── db/ # 本地 SQLite 数据表结构与迁移
+│ ├── main/ # 进程入口与窗口生命周期管理
+│ ├── preload/ # 预加载脚本 (ContextBridge 桥接 API)
+│ ├── services/ # 核心服务 (代理引擎, 节点解析, 游戏扫描等)
+│ ├── stores/ # 本地数据持久化与配置存储
+│ └── utils/ # 主进程通用工具函数库
+├── public/ # 静态资源 (应用图标等,无须编译构建)
├── src/ # 渲染进程 (Vue 源码)
-│ ├── components/ # 组件
-│ ├── views/ # 页面
-│ ├── stores/ # 状态管理
-│ └── assets/ # 静态资源
-└── tests/ # 单元测试与集成测试
+│ ├── api/ # 接口请求封装
+│ ├── assets/ # 全局样式与图片资源
+│ ├── components/ # 全局和基础 UI 组件
+│ ├── composables/ # Vue 组合式公共函数 (Hooks)
+│ ├── constants/ # 前端静态枚举与常数定义
+│ ├── layouts/ # 基础页面布局框架
+│ ├── locales/ # 多语言国际化配置 (i18n)
+│ ├── router/ # Vue Router 路由配置
+│ ├── stores/ # Pinia 全局状态管理
+│ ├── types/ # 前端 TypeScript 接口与类型定义
+│ ├── utils/ # 前端通用辅助工具类
+│ └── views/ # 主体业务视图与页面
+└── tests/ # 单元测试与端到端测试目录
```
---
diff --git a/docImages/dashboard.png b/docImages/dashboard.png
new file mode 100644
index 0000000..36e7327
Binary files /dev/null and b/docImages/dashboard.png differ
diff --git a/docImages/index.png b/docImages/index.png
deleted file mode 100644
index 4498bc2..0000000
Binary files a/docImages/index.png and /dev/null differ
diff --git a/docImages/library.png b/docImages/library.png
new file mode 100644
index 0000000..5e3f900
Binary files /dev/null and b/docImages/library.png differ
diff --git a/docImages/nodes.png b/docImages/nodes.png
new file mode 100644
index 0000000..790762c
Binary files /dev/null and b/docImages/nodes.png differ
diff --git a/docImages/settings.png b/docImages/settings.png
new file mode 100644
index 0000000..aaeac3f
Binary files /dev/null and b/docImages/settings.png differ
diff --git a/package.json b/package.json
index c1cfa68..99fec04 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
"main": "dist-electron/index.js",
"type": "module",
"author": "LagZero Team",
- "description": "是一款专为极致游戏体验打造的、高性能游戏加速器桌面客户端",
+ "description": "一款专为游戏体验打造的游戏加速器",
"repository": {
"type": "git",
"url": "https://github.com/ZenEcho/LagZero.git"
diff --git a/src/locales/en-US.json b/src/locales/en-US.json
index 02f59a6..59c7288 100644
--- a/src/locales/en-US.json
+++ b/src/locales/en-US.json
@@ -239,7 +239,7 @@
"dns_bootstrap": "Bootstrap DNS",
"dns_bootstrap_hint": "Used to resolve remote DNS domains (e.g. dns.google). Prefer a directly reachable DNS IP such as 223.5.5.5.",
"download_update": "Download Update Now",
- "tagline": "Cross-platform Game Accelerator",
+ "tagline": "A game accelerator specially designed for enhancing gaming experience",
"preferences": "Preferences",
"theme_desc": "Choose an accent color that matches your style.",
"dns_flush_failed": "Failed to flush DNS cache",
diff --git a/src/locales/zh-CN.json b/src/locales/zh-CN.json
index ddf038e..6ecc9e4 100644
--- a/src/locales/zh-CN.json
+++ b/src/locales/zh-CN.json
@@ -239,7 +239,7 @@
"dns_bootstrap": "Bootstrap DNS",
"dns_bootstrap_hint": "用于解析远端 DNS 域名(例如 dns.google)。推荐填写可直连的 DNS IP,如 223.5.5.5。",
"download_update": "立即下载更新",
- "tagline": "跨平台游戏加速器",
+ "tagline": "一款专为游戏体验打造的游戏加速器",
"preferences": "偏好设置",
"theme_desc": "选择符合您风格的主题色。",
"dns_flush_failed": "清理 DNS 缓存失败",
diff --git a/src/utils/protocol.test.ts b/src/utils/protocol.test.ts
index cb73fc6..8493c63 100644
--- a/src/utils/protocol.test.ts
+++ b/src/utils/protocol.test.ts
@@ -69,18 +69,18 @@ describe('Protocol Parsing', () => {
expect(result).not.toBeNull()
expect(result?.type).toBe('vmess')
expect(result?.server).toBe('planb.mojcn.com')
- expect(result?.server_port).toBe(16617)
+ expect(result?.server_port).toBe(1617)
expect(result?.network).toBe('ws')
expect(result?.host).toContain('mobgslb.tbcache.com')
})
it('should parse VLESS reality link with pbk/sid/sni/fp', () => {
- const link = 'vless://13a3abd8-6315-4735-b3a2-39f38a2e4f3d@156.246.93.26:38073?encryption=none&security=reality&flow=xtls-rprx-vision&type=tcp&sni=www.paypal.com&pbk=DrpIgSOtaEHqJywmydYjljWB9FD_1PlFjQIAlbHiOgk&fp=chrome#233boy-reality-156.246.93.26'
+ const link = 'vless://13a3abd8-6315-4735-b3a2-39f38a2e4f3d@156.246.93.1:38073?encryption=none&security=reality&flow=xtls-rprx-vision&type=tcp&sni=www.paypal.com&pbk=DrpIgSOtaEHqJywmydYjljWB9FD_1PlFjQIAlbHiOgk&fp=chrome#233boy-reality-156.246.1.26'
const result = parseShareLink(link)
expect(result).not.toBeNull()
expect(result?.type).toBe('vless')
- expect(result?.server).toBe('156.246.93.26')
+ expect(result?.server).toBe('156.246.93.1')
expect(result?.server_port).toBe(38073)
expect(result?.security).toBe('reality')
expect(result?.flow).toBe('xtls-rprx-vision')
diff --git a/tests/unit/singbox-config.spec.ts b/tests/unit/singbox-config.spec.ts
index 9ab3860..b7a1086 100644
--- a/tests/unit/singbox-config.spec.ts
+++ b/tests/unit/singbox-config.spec.ts
@@ -311,7 +311,7 @@ describe('generateSingboxConfig', () => {
})
it('should generate VLESS reality outbound from share link', () => {
- const link = 'vless://13a3abd8-6315-4735-b3a2-39f38a2e4f3d@156.246.93.26:38073?encryption=none&security=reality&flow=xtls-rprx-vision&type=tcp&sni=www.paypal.com&pbk=DrpIgSOtaEHqJywmydYjljWB9FD_1PlFjQIAlbHiOgk&fp=chrome#233boy-reality-156.246.93.26'
+ const link = 'vless://13a3abd8-6315-4735-b3a2-39f38a2e4f3d@156.246.1.26:38073?encryption=none&security=reality&flow=xtls-rprx-vision&type=tcp&sni=www.paypal.com&pbk=DrpIgSOtaEHqJywmydYjljWB9FD_1PlFjQIAlbHiOgk&fp=chrome#233boy-reality-156.246.1.26'
const node = parseShareLink(link)
expect(node).not.toBeNull()
const config = JSON.parse(generateSingboxConfig(mockGame, node as NodeConfig))