Skip to content

Commit 2efaa0e

Browse files
author
Taois
committed
docs:update readme
1 parent 89b2561 commit 2efaa0e

File tree

1 file changed

+189
-8
lines changed

1 file changed

+189
-8
lines changed

README.md

Lines changed: 189 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,30 @@
11
# Pup Sniffer
22

3+
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org/)
4+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5+
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg)](https://github.com)
6+
37
基于 Puppeteer 和 Fastify 的视频资源嗅探器 Node.js 版本。
48

9+
> 🎯 **高性能视频资源嗅探工具**,支持多平台部署,提供完整的 API 接口和现代化 Web 界面。
10+
11+
## 📋 目录
12+
13+
- [功能特性](#功能特性)
14+
- [系统要求](#系统要求)
15+
- [快速开始](#快速开始)
16+
- [构建二进制文件](#构建二进制文件)
17+
- [API 接口](#api-接口)
18+
- [使用示例](#使用示例)
19+
- [测试](#测试)
20+
- [命令行参数](#命令行参数)
21+
- [环境变量](#环境变量)
22+
- [注意事项](#注意事项)
23+
- [故障排除](#故障排除)
24+
- [文档](#文档)
25+
- [开发](#开发)
26+
- [许可证](#许可证)
27+
528
## 功能特性
629

730
- 🎯 视频资源嗅探(支持 m3u8、mp4 等格式)
@@ -76,20 +99,38 @@
7699

77100
## 构建二进制文件
78101

79-
### 构建所有平台
102+
项目提供了多种构建选项,支持不同的压缩算法和优化级别,以满足不同的使用需求。
103+
104+
### 📦 构建选项概览
105+
106+
| 构建类型 | 压缩算法 | 体积优化 | 适用场景 |
107+
|----------|----------|----------|----------|
108+
| 标准版 | GZip | 中等 | 通用部署 |
109+
| Brotli版 | Brotli | 较高 | 网络传输优化 |
110+
| 轻量版 | Brotli || 资源受限环境 |
111+
| 迷你版 | Brotli | 最高 | 极致体积要求 |
112+
113+
### 🚀 快速构建
114+
80115
```bash
116+
# 构建所有平台(标准版,GZip压缩)
81117
npm run build
82-
```
83118

84-
### 构建特定平台
119+
# 构建优化版本(推荐,包含多种压缩选项)
120+
npm run build:optimized
85121

86-
[打包工具pkg安装参考](https://www.jb51.net/javascript/329845uie.htm)
122+
# 构建迷你版本(最小体积,所有平台)
123+
npm run build:mini
124+
```
125+
126+
### 🎯 平台特定构建
87127

128+
#### 标准版本(GZip 压缩)
88129
```bash
89130
# Windows x64
90131
npm run build:win
91132

92-
# Linux x64
133+
# Linux x64
93134
npm run build:linux
94135

95136
# macOS x64
@@ -99,6 +140,114 @@ npm run build:macos
99140
npm run build:macos-arm
100141
```
101142

143+
#### Brotli 压缩版本(更小体积)
144+
```bash
145+
# Windows x64
146+
npm run build:win:brotli
147+
148+
# Linux x64
149+
npm run build:linux:brotli
150+
151+
# macOS x64
152+
npm run build:macos:brotli
153+
154+
# macOS ARM64
155+
npm run build:macos-arm:brotli
156+
```
157+
158+
#### 轻量版本(优化选项)
159+
```bash
160+
# Windows x64
161+
npm run build:win:lite
162+
163+
# Linux x64
164+
npm run build:linux:lite
165+
166+
# macOS x64
167+
npm run build:macos:lite
168+
169+
# macOS ARM64
170+
npm run build:macos-arm:lite
171+
```
172+
173+
#### 迷你版本(最小体积)
174+
```bash
175+
# Windows x64
176+
npm run build:win:mini
177+
178+
# Linux x64
179+
npm run build:linux:mini
180+
181+
# macOS x64
182+
npm run build:macos:mini
183+
184+
# macOS ARM64
185+
npm run build:macos-arm:mini
186+
```
187+
188+
### ⚙️ 构建优化技术
189+
190+
项目采用了多种优化技术来减小打包体积:
191+
192+
1. **压缩算法**
193+
- **GZip**:标准压缩,兼容性好
194+
- **Brotli**:更高压缩率,体积减少 10-15%
195+
196+
2. **PKG 优化选项**
197+
- `--no-bytecode`:禁用字节码缓存
198+
- `--public-packages=*`:减少包装开销
199+
- `--no-warnings`:减少输出体积
200+
201+
3. **资源排除**
202+
- 通过 `.pkgignore` 排除开发、测试、文档文件
203+
- 排除大型依赖的非必要部分
204+
- 智能排除开发环境专用模块
205+
206+
4. **智能配置**
207+
- 生产环境自动禁用 `pino-pretty` 日志美化
208+
- 动态检测运行环境,优化资源加载
209+
210+
### 📊 体积对比
211+
212+
以 Windows x64 版本为例:
213+
214+
| 版本类型 | 文件大小 | 压缩率 | 说明 |
215+
|----------|----------|--------|------|
216+
| 标准版 | ~46 MB | - | GZip 压缩 |
217+
| Brotli版 | ~44 MB | -4% | Brotli 压缩 |
218+
| 轻量版 | ~42 MB | -9% | Brotli + 优化选项 |
219+
| 迷你版 | ~41 MB | -11% | 最大优化 |
220+
221+
### 🛠️ 高级构建
222+
223+
如需更多自定义选项,可以使用优化构建脚本:
224+
225+
```bash
226+
# 运行优化构建脚本(包含所有选项)
227+
node build-optimized.js
228+
229+
# 查看详细构建指南
230+
cat docs/BUILD_GUIDE.md
231+
```
232+
233+
### 📋 构建要求
234+
235+
[打包工具pkg安装参考](https://www.jb51.net/javascript/329845uie.htm)
236+
237+
**系统要求**
238+
- Node.js >= 18.0.0
239+
- npm 或 yarn
240+
- 足够的磁盘空间(构建过程需要约 200MB 临时空间)
241+
242+
**依赖安装**
243+
```bash
244+
# 安装构建依赖
245+
npm install
246+
247+
# 全局安装 pkg(可选,项目已包含)
248+
npm install -g pkg
249+
```
250+
102251
构建完成后,二进制文件将输出到 `dist/` 目录。
103252

104253
## API 接口
@@ -304,15 +453,47 @@ npm test
304453
3. 尝试使用自定义正则表达式
305454
4. 启用调试模式查看详细日志
306455

307-
## 开发
456+
## 📚 文档
457+
458+
- [API 文档](docs/API_DOCS.md) - 详细的 API 接口说明
459+
- [构建指南](docs/BUILD_GUIDE.md) - 完整的构建配置和优化说明
460+
461+
## 🔧 开发
308462

309463
项目采用 CommonJS 模块化开发,主要文件:
310464

311465
- `sniffer.cjs`: 核心嗅探类
312-
- `server.cjs`: Fastify 服务器
466+
- `server.cjs`: Fastify 服务器
313467
- `test.js`: 测试脚本
314468
- `package.json`: 项目配置
469+
- `build-optimized.js`: 优化构建脚本
470+
- `.pkgignore`: 打包排除文件配置
471+
472+
### 开发环境设置
473+
474+
```bash
475+
# 克隆项目
476+
git clone <repository-url>
477+
cd pup-sniffer
478+
479+
# 安装依赖
480+
npm install
481+
482+
# 启动开发服务器
483+
npm start
484+
485+
# 运行测试
486+
npm test
487+
```
488+
489+
### 代码贡献
490+
491+
1. Fork 项目
492+
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
493+
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
494+
4. 推送到分支 (`git push origin feature/AmazingFeature`)
495+
5. 打开 Pull Request
315496

316-
## 许可证
497+
## 📄 许可证
317498

318499
MIT License

0 commit comments

Comments
 (0)