Skip to content

Commit f4aad8b

Browse files
author
Taois
committed
docs:增加pkg安装指南
1 parent 968e621 commit f4aad8b

File tree

2 files changed

+85
-3358
lines changed

2 files changed

+85
-3358
lines changed

README.md

Lines changed: 85 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@
4646
### 方式一:使用二进制文件(推荐)
4747

4848
1. 下载对应平台的二进制文件:
49-
- Windows: `pup-sniffer-win.exe`
50-
- Linux: `pup-sniffer-linux`
51-
- macOS (Intel): `pup-sniffer-macos`
52-
- macOS (Apple Silicon): `pup-sniffer-macos-arm64`
49+
- Windows: `pup-sniffer-win.exe`
50+
- Linux: `pup-sniffer-linux`
51+
- macOS (Intel): `pup-sniffer-macos`
52+
- macOS (Apple Silicon): `pup-sniffer-macos-arm64`
5353

5454
2.`demo.html` 文件放在二进制文件同一目录下
5555

@@ -103,12 +103,12 @@
103103

104104
### 📦 构建选项概览
105105

106-
| 构建类型 | 压缩算法 | 体积优化 | 适用场景 |
107-
|----------|----------|----------|----------|
108-
| 标准版 | GZip | 中等 | 通用部署 |
109-
| Brotli版 | Brotli | 较高 | 网络传输优化 |
110-
| 轻量版 | Brotli || 资源受限环境 |
111-
| 迷你版 | Brotli | 最高 | 极致体积要求 |
106+
| 构建类型 | 压缩算法 | 体积优化 | 适用场景 |
107+
|---------|--------|------|--------|
108+
| 标准版 | GZip | 中等 | 通用部署 |
109+
| Brotli版 | Brotli | 较高 | 网络传输优化 |
110+
| 轻量版 | Brotli | | 资源受限环境 |
111+
| 迷你版 | Brotli | 最高 | 极致体积要求 |
112112

113113
### 🚀 快速构建
114114

@@ -126,6 +126,7 @@ npm run build:mini
126126
### 🎯 平台特定构建
127127

128128
#### 标准版本(GZip 压缩)
129+
129130
```bash
130131
# Windows x64
131132
npm run build:win
@@ -141,6 +142,7 @@ npm run build:macos-arm
141142
```
142143

143144
#### Brotli 压缩版本(更小体积)
145+
144146
```bash
145147
# Windows x64
146148
npm run build:win:brotli
@@ -156,6 +158,7 @@ npm run build:macos-arm:brotli
156158
```
157159

158160
#### 轻量版本(优化选项)
161+
159162
```bash
160163
# Windows x64
161164
npm run build:win:lite
@@ -171,6 +174,7 @@ npm run build:macos-arm:lite
171174
```
172175

173176
#### 迷你版本(最小体积)
177+
174178
```bash
175179
# Windows x64
176180
npm run build:win:mini
@@ -190,33 +194,33 @@ npm run build:macos-arm:mini
190194
项目采用了多种优化技术来减小打包体积:
191195

192196
1. **压缩算法**
193-
- **GZip**:标准压缩,兼容性好
194-
- **Brotli**:更高压缩率,体积减少 10-15%
197+
- **GZip**:标准压缩,兼容性好
198+
- **Brotli**:更高压缩率,体积减少 10-15%
195199

196200
2. **PKG 优化选项**
197-
- `--no-bytecode`:禁用字节码缓存
198-
- `--public-packages=*`:减少包装开销
199-
- `--no-warnings`:减少输出体积
201+
- `--no-bytecode`:禁用字节码缓存
202+
- `--public-packages=*`:减少包装开销
203+
- `--no-warnings`:减少输出体积
200204

201205
3. **资源排除**
202-
- 通过 `.pkgignore` 排除开发、测试、文档文件
203-
- 排除大型依赖的非必要部分
204-
- 智能排除开发环境专用模块
206+
- 通过 `.pkgignore` 排除开发、测试、文档文件
207+
- 排除大型依赖的非必要部分
208+
- 智能排除开发环境专用模块
205209

206210
4. **智能配置**
207-
- 生产环境自动禁用 `pino-pretty` 日志美化
208-
- 动态检测运行环境,优化资源加载
211+
- 生产环境自动禁用 `pino-pretty` 日志美化
212+
- 动态检测运行环境,优化资源加载
209213

210214
### 📊 体积对比
211215

212216
以 Windows x64 版本为例:
213217

214-
| 版本类型 | 文件大小 | 压缩率 | 说明 |
215-
|----------|----------|--------|------|
216-
| 标准版 | ~46 MB | - | GZip 压缩 |
217-
| Brotli版 | ~44 MB | -4% | Brotli 压缩 |
218-
| 轻量版 | ~42 MB | -9% | Brotli + 优化选项 |
219-
| 迷你版 | ~41 MB | -11% | 最大优化 |
218+
| 版本类型 | 文件大小 | 压缩率 | 说明 |
219+
|---------|--------|------|---------------|
220+
| 标准版 | ~46 MB | - | GZip 压缩 |
221+
| Brotli版 | ~44 MB | -4% | Brotli 压缩 |
222+
| 轻量版 | ~42 MB | -9% | Brotli + 优化选项 |
223+
| 迷你版 | ~41 MB | -11% | 最大优化 |
220224

221225
### 🛠️ 高级构建
222226

@@ -234,12 +238,26 @@ cat docs/BUILD_GUIDE.md
234238

235239
[打包工具pkg安装参考](https://www.jb51.net/javascript/329845uie.htm)
236240

241+
[各版本二进制下载地址](https://github.com/vercel/pkg-fetch/releases)
242+
243+
linux命令安装方法
244+
245+
```
246+
cd /root/.pkg-cache
247+
wget -O fetched-v18.5.0-linux-x64 https://github.catvod.com/https://github.com/vercel/pkg-fetch/releases/download/v3.4/node-v18.5.0-linux-x64
248+
npm run build:linux:mini
249+
cd dist
250+
./pup-sniffer-linux-mini
251+
```
252+
237253
**系统要求**
254+
238255
- Node.js >= 18.0.0
239256
- npm 或 yarn
240257
- 足够的磁盘空间(构建过程需要约 200MB 临时空间)
241258

242259
**依赖安装**
260+
243261
```bash
244262
# 安装构建依赖
245263
npm install
@@ -258,18 +276,18 @@ npm install -g pkg
258276

259277
#### 请求参数
260278

261-
| 参数 | 类型 | 必需 | 说明 |
262-
|------|------|------|------|
263-
| url | string || 要嗅探的页面 URL |
264-
| mode | string || 嗅探模式:0=单个链接,1=多个链接(默认:0) |
265-
| is_pc | string || 是否模拟 PC:0=移动设备,1=PC(默认:0) |
266-
| timeout | string || 超时时间(毫秒,默认:10000) |
267-
| css | string || 等待的 CSS 选择器 |
268-
| script | string || 页面执行脚本(Base64 编码) |
269-
| init_script | string || 页面初始化脚本(Base64 编码) |
270-
| headers | string || 自定义请求头(换行分隔) |
271-
| custom_regex | string || 自定义匹配正则表达式 |
272-
| sniffer_exclude | string || 排除匹配的正则表达式 |
279+
| 参数 | 类型 | 必需 | 说明 |
280+
|-----------------|--------|----|---------------------------|
281+
| url | string | | 要嗅探的页面 URL |
282+
| mode | string | | 嗅探模式:0=单个链接,1=多个链接(默认:0) |
283+
| is_pc | string | | 是否模拟 PC:0=移动设备,1=PC(默认:0) |
284+
| timeout | string | | 超时时间(毫秒,默认:10000) |
285+
| css | string | | 等待的 CSS 选择器 |
286+
| script | string | | 页面执行脚本(Base64 编码) |
287+
| init_script | string | | 页面初始化脚本(Base64 编码) |
288+
| headers | string | | 自定义请求头(换行分隔) |
289+
| custom_regex | string | | 自定义匹配正则表达式 |
290+
| sniffer_exclude | string | | 排除匹配的正则表达式 |
273291

274292
#### 响应示例
275293

@@ -298,15 +316,15 @@ npm install -g pkg
298316

299317
#### 请求参数
300318

301-
| 参数 | 类型 | 必需 | 说明 |
302-
|------|------|------|------|
303-
| url | string || 要获取源码的页面 URL |
304-
| is_pc | string || 是否模拟 PC:0=移动设备,1=PC(默认:0) |
305-
| timeout | string || 超时时间(毫秒,默认:10000) |
306-
| css | string || 等待的 CSS 选择器 |
307-
| script | string || 页面执行脚本(Base64 编码) |
308-
| init_script | string || 页面初始化脚本(Base64 编码) |
309-
| headers | string || 自定义请求头(换行分隔) |
319+
| 参数 | 类型 | 必需 | 说明 |
320+
|-------------|--------|----|---------------------------|
321+
| url | string | | 要获取源码的页面 URL |
322+
| is_pc | string | | 是否模拟 PC:0=移动设备,1=PC(默认:0) |
323+
| timeout | string | | 超时时间(毫秒,默认:10000) |
324+
| css | string | | 等待的 CSS 选择器 |
325+
| script | string | | 页面执行脚本(Base64 编码) |
326+
| init_script | string | | 页面初始化脚本(Base64 编码) |
327+
| headers | string | | 自定义请求头(换行分隔) |
310328

311329
#### 响应示例
312330

@@ -409,20 +427,21 @@ npm test
409427

410428
## 命令行参数
411429

412-
| 参数 | 说明 | 示例 |
413-
|------|------|------|
430+
| 参数 | 说明 | 示例 |
431+
|---------------|--------------------|--------------|
414432
| `-port <端口号>` | 指定服务器端口号 (1-65535) | `-port 8080` |
415-
| `-h, --help` | 显示帮助信息 | `--help` |
433+
| `-h, --help` | 显示帮助信息 | `--help` |
416434

417435
**端口说明**
436+
418437
- 如果不指定端口号,程序将从 57573 开始自动查找可用端口
419438
- 如果指定的端口被占用,程序会报错并退出
420439
- 端口号必须在 1-65535 范围内
421440

422441
## 环境变量
423442

424-
| 变量 | 说明 | 默认值 |
425-
|------|------|--------|
443+
| 变量 | 说明 | 默认值 |
444+
|------|--------|---------|
426445
| HOST | 服务主机地址 | 0.0.0.0 |
427446

428447
**注意**: 端口配置请使用 `-port` 命令行参数,不支持通过环境变量设置端口。
@@ -453,6 +472,18 @@ npm test
453472
3. 尝试使用自定义正则表达式
454473
4. 启用调试模式查看详细日志
455474

475+
### linux使用前置条件
476+
477+
```shell
478+
# 安装谷歌浏览器
479+
apt update
480+
wget -O google-chrome-104.deb -c https://www.slimjet.com/chrome/download-chrome.php?file=files%2F104.0.5112.102%2Fgoogle-chrome-stable_current_amd64.deb
481+
dpkg -i google-chrome-104.deb
482+
apt install -f
483+
dpkg -i google-chrome-104.deb
484+
google-chrome --version
485+
```
486+
456487
## 📚 文档
457488

458489
- [API 文档](docs/API_DOCS.md) - 详细的 API 接口说明
@@ -463,7 +494,7 @@ npm test
463494
项目采用 CommonJS 模块化开发,主要文件:
464495

465496
- `sniffer.cjs`: 核心嗅探类
466-
- `server.cjs`: Fastify 服务器
497+
- `server.cjs`: Fastify 服务器
467498
- `test.js`: 测试脚本
468499
- `package.json`: 项目配置
469500
- `build-optimized.js`: 优化构建脚本
@@ -473,7 +504,7 @@ npm test
473504

474505
```bash
475506
# 克隆项目
476-
git clone <repository-url>
507+
git clone https://github.com/hjdhnx/pup-sniffer.git
477508
cd pup-sniffer
478509

479510
# 安装依赖

0 commit comments

Comments
 (0)