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 等格式)
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压缩)
81117npm 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
90131npm run build:win
91132
92- # Linux x64
133+ # Linux x64
93134npm run build:linux
94135
95136# macOS x64
@@ -99,6 +140,114 @@ npm run build:macos
99140npm 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
3044533 . 尝试使用自定义正则表达式
3054544 . 启用调试模式查看详细日志
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
318499MIT License
0 commit comments