pac-proxy-cli 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -34
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# pac-proxy-cli
|
|
2
2
|
|
|
3
|
-
本机运行的 PAC / 全局代理 /
|
|
3
|
+
本机运行的 PAC / 全局代理 / 抓包工具,提供 Web 控制台与本地代理服务。支持内置代理客户端、系统代理自动设置、PAC 规则管理、HTTPS 抓包与流量记录。
|
|
4
4
|
|
|
5
5
|
## 功能特性
|
|
6
6
|
|
|
7
|
-
- **多种代理模式**:全局代理、PAC
|
|
8
|
-
-
|
|
7
|
+
- **多种代理模式**:全局代理、PAC 代理、抓包代理,一键切换
|
|
8
|
+
- **内置代理客户端**:托管上游代理进程生命周期,自动作为上游代理,无需手动启动
|
|
9
|
+
- **PAC 规则**:按域名/URL 规则匹配,选择「代理」或「直连」,支持优先级、搜索、导入/导出
|
|
9
10
|
- **上游代理**:支持 SOCKS5 / HTTP 上游,本地将 SOCKS5 转为 HTTP 代理并按规则转发
|
|
10
11
|
- **流量记录**:查看经本机代理的请求;抓包模式下可查看解密后的请求/响应、搜索与筛选
|
|
11
|
-
- **抓包代理 (MITM)**:HTTPS 解密、自动生成 CA
|
|
12
|
+
- **抓包代理 (MITM)**:HTTPS 解密、自动生成 CA 证书供下载安装
|
|
12
13
|
- **本地 / 远程模式**:本地模式配置仅存本机;远程模式需登录,PAC 规则可同步云端
|
|
13
14
|
|
|
14
15
|
## 环境要求
|
|
@@ -18,19 +19,17 @@
|
|
|
18
19
|
|
|
19
20
|
## 启动
|
|
20
21
|
|
|
21
|
-
确保本机已安装 Node.js 18 及以上,在终端执行:
|
|
22
|
-
|
|
23
22
|
```bash
|
|
24
|
-
npx pac-proxy serve --port 5174
|
|
23
|
+
npx pac-proxy-cli serve --port 5174
|
|
25
24
|
```
|
|
26
25
|
|
|
27
|
-
不指定 `--port` 时默认使用 5174
|
|
26
|
+
不指定 `--port` 时默认使用 5174。启动后会输出控制台地址:
|
|
28
27
|
|
|
29
28
|
```
|
|
30
29
|
控制台已启动: http://127.0.0.1:5174
|
|
31
30
|
```
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
在浏览器中打开该地址即可使用。如需长期使用,可全局安装:
|
|
34
33
|
|
|
35
34
|
```bash
|
|
36
35
|
npm install -g pac-proxy-cli
|
|
@@ -46,65 +45,81 @@ pac-proxy serve --port 5174
|
|
|
46
45
|
- **本地模式**:无需登录,所有配置保存在本机(默认目录 `~/.pac-proxy`)
|
|
47
46
|
- **远程模式**:需注册/登录,PAC 规则与云端同步(依赖远程服务地址配置)
|
|
48
47
|
|
|
49
|
-
|
|
48
|
+
选择后进入控制台,之后可在侧边栏底部「切换模式」中更改。
|
|
50
49
|
|
|
51
50
|
### 2. 代理设置
|
|
52
51
|
|
|
53
52
|
在 **代理设置** 页可进行:
|
|
54
53
|
|
|
55
|
-
| 操作
|
|
56
|
-
|
|
57
|
-
| **全局代理** | 系统代理指向本机代理端口,所有 HTTP/HTTPS
|
|
58
|
-
| **PAC 代理** | 系统使用自动代理配置(PAC
|
|
59
|
-
| **抓包代理** |
|
|
60
|
-
|
|
|
54
|
+
| 操作 | 说明 |
|
|
55
|
+
|------|------|
|
|
56
|
+
| **全局代理** | 系统代理指向本机代理端口,所有 HTTP/HTTPS 经本地转发 |
|
|
57
|
+
| **PAC 代理** | 系统使用自动代理配置(PAC),按规则决定代理或直连 |
|
|
58
|
+
| **抓包代理** | 流量经 MITM 解密,可查看请求/响应内容;需安装 CA 证书 |
|
|
59
|
+
| **清除代理** | 关闭系统代理并停止本地代理服务 |
|
|
61
60
|
|
|
62
|
-
- **上游代理地址**:如 `socks5://127.0.0.1:1080` 或 `http://proxy.example.com:8080
|
|
61
|
+
- **上游代理地址**:如 `socks5://127.0.0.1:1080` 或 `http://proxy.example.com:8080`
|
|
63
62
|
- **HTTP/HTTPS 代理端口**:本地代理监听端口,默认 5175 / 5176
|
|
64
|
-
-
|
|
63
|
+
- 若启用了内置代理客户端,上游代理地址会自动托管,无需手动填写
|
|
64
|
+
|
|
65
|
+
### 3. 代理客户端
|
|
66
|
+
|
|
67
|
+
在 **代理客户端** 页可配置并托管上游代理进程:
|
|
68
|
+
|
|
69
|
+
- 填写服务器地址、端口、密码、加密方式、本地 SOCKS5 端口
|
|
70
|
+
- 启用后,node-cli 会自动启动代理进程并将其 SOCKS5 输出作为上游代理
|
|
71
|
+
- 页面实时显示进程状态(运行中 / 已停止)、PID 及最近日志
|
|
72
|
+
- 可手动启动 / 停止进程
|
|
73
|
+
|
|
74
|
+
代理客户端二进制按平台按需安装(仅下载当前平台对应的 ~10MB 文件):
|
|
65
75
|
|
|
66
|
-
|
|
76
|
+
| 平台 | 对应包 |
|
|
77
|
+
|------|--------|
|
|
78
|
+
| Windows x64 | `pac-proxy-client-win32-x64` |
|
|
79
|
+
| macOS x64 | `pac-proxy-client-darwin-x64` |
|
|
80
|
+
| Linux x64 | `pac-proxy-client-linux-x64` |
|
|
67
81
|
|
|
68
|
-
###
|
|
82
|
+
### 4. PAC 规则
|
|
69
83
|
|
|
70
84
|
在 **PAC 规则** 页管理「代理 / 直连」规则:
|
|
71
85
|
|
|
72
86
|
- 每条规则包含:匹配模式(如 `*.google.com`)、动作(代理 / 直连)、优先级
|
|
73
87
|
- 按优先级从高到低匹配,命中则按该条动作执行
|
|
88
|
+
- 支持搜索、导入 JSON 文件(合并模式)、导出、复制规则列表
|
|
74
89
|
- 本地模式下规则保存在本机;远程模式下规则与云端同步
|
|
75
90
|
|
|
76
|
-
###
|
|
91
|
+
### 5. 流量记录
|
|
77
92
|
|
|
78
93
|
在 **流量记录** 页可查看经本机代理的请求:
|
|
79
94
|
|
|
80
|
-
- **非抓包模式**:列表展示时间、类型、方法、URL
|
|
81
|
-
-
|
|
95
|
+
- **非抓包模式**:列表展示时间、类型、方法、URL、动作,最多保留 500 条;支持自动刷新(每 5 秒)
|
|
96
|
+
- **抓包模式**:支持按 URL 搜索、按方法/状态码/类型筛选、排序与分页;点击行可查看请求/响应头与 body
|
|
82
97
|
|
|
83
|
-
###
|
|
98
|
+
### 6. 抓包代理与 CA 证书
|
|
84
99
|
|
|
85
100
|
选择「抓包代理」并保存后:
|
|
86
101
|
|
|
87
|
-
1.
|
|
88
|
-
2. 首次产生 HTTPS
|
|
89
|
-
3. 在代理设置页点击 **下载 CA
|
|
90
|
-
4.
|
|
102
|
+
1. 系统代理指向本机抓包代理端口
|
|
103
|
+
2. 首次产生 HTTPS 请求后,在数据目录下自动生成根 CA
|
|
104
|
+
3. 在代理设置页点击 **下载 CA 证书**,安装到系统或浏览器「受信任的根证书」
|
|
105
|
+
4. 安装后可在「流量记录」中查看解密后的请求/响应
|
|
91
106
|
|
|
92
|
-
|
|
107
|
+
> CA 仅限本机抓包使用,请勿安装到他人设备或生产环境。
|
|
93
108
|
|
|
94
|
-
##
|
|
109
|
+
## 系统代理支持
|
|
95
110
|
|
|
96
111
|
| 平台 | 说明 |
|
|
97
112
|
|------|------|
|
|
98
|
-
| **macOS** | 通过 `networksetup`
|
|
99
|
-
| **Windows** |
|
|
100
|
-
| **Linux** | 仅支持 **GNOME**(`gsettings
|
|
113
|
+
| **macOS** | 通过 `networksetup` 设置;遇权限问题可手动在「系统设置 → 网络 → 代理」中配置 |
|
|
114
|
+
| **Windows** | 通过注册表写入;失败时可手动在「设置 → 网络和 Internet → 代理」中配置 |
|
|
115
|
+
| **Linux** | 仅支持 **GNOME**(`gsettings`);KDE / XFCE 等请手动在系统设置中配置 |
|
|
101
116
|
|
|
102
117
|
## 环境变量
|
|
103
118
|
|
|
104
119
|
| 变量 | 说明 |
|
|
105
120
|
|------|------|
|
|
106
121
|
| `PAC_PROXY_HOME` | 数据与配置根目录,默认 `~/.pac-proxy` |
|
|
107
|
-
| `REMOTE_SERVER_URL` |
|
|
122
|
+
| `REMOTE_SERVER_URL` | 远程模式服务端地址(在运行目录的 `.env` 或 `.env.local` 中配置) |
|
|
108
123
|
|
|
109
124
|
## 许可证
|
|
110
125
|
|