websocket-proxy-http-request 0.0.2 → 0.0.4

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/bin/README.md CHANGED
@@ -55,3 +55,5 @@ npm run build
55
55
  - `ws-proxy-server.js` - 直接启动代理服务器
56
56
  - `ws-client-agent.js` - 直接启动客户端代理
57
57
 
58
+
59
+
@@ -1,113 +1,113 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * WebSocket Proxy Server CLI
5
- * 通过 npx websocket-proxy-http-request proxy-server 运行
6
- */
7
-
8
- const path = require('path');
9
- const fs = require('fs');
10
-
11
- // 获取项目根目录
12
- const projectRoot = path.resolve(__dirname, '..');
13
- const distPath = path.join(projectRoot, 'dist', 'src', 'proxy-server.js');
14
-
15
- // 检查文件是否存在
16
- if (!fs.existsSync(distPath)) {
17
- console.error('❌ 错误: 找不到编译后的文件');
18
- console.error(` 路径: ${distPath}`);
19
- console.error('');
20
- console.error('请先运行: npm run build');
21
- process.exit(1);
22
- }
23
-
24
- // 加载模块
25
- let ProxyServer;
26
- try {
27
- const loadedModule = require(distPath);
28
- ProxyServer = loadedModule.default || loadedModule.ProxyServer || loadedModule;
29
- } catch (error) {
30
- console.error('❌ 加载模块失败:', error);
31
- if (error.stack) {
32
- console.error(error.stack);
33
- }
34
- process.exit(1);
35
- }
36
-
37
- // 检查是否是函数(类)
38
- if (typeof ProxyServer !== 'function') {
39
- // 如果模块已经自动启动(通过 require.main 检查),则不需要额外操作
40
- // 尝试设置 require.main 来触发自动启动
41
- const originalMain = require.main;
42
- require.main = module;
43
- try {
44
- require(distPath);
45
- } finally {
46
- require.main = originalMain;
47
- }
48
- } else {
49
- // 手动启动服务器
50
- try {
51
- // 显示命令行参数帮助
52
- const args = process.argv.slice(2);
53
- if (args.includes('--help') || args.includes('-h')) {
54
- console.log('');
55
- console.log('WebSocket Proxy Server');
56
- console.log('');
57
- console.log('用法:');
58
- console.log(' node bin/ws-proxy-server [选项]');
59
- console.log('');
60
- console.log('选项:');
61
- console.log(' --token <token> 设置认证token');
62
- console.log(' --port <port> 设置HTTP代理端口(默认: 8080)');
63
- console.log(' --ws-port <port> 设置WebSocket端口(默认: 8081)');
64
- console.log(' --help, -h 显示帮助信息');
65
- console.log('');
66
- console.log('示例:');
67
- console.log(' node bin/ws-proxy-server --token my-secret-token');
68
- console.log(' node bin/ws-proxy-server --token my-token --port 9000');
69
- console.log('');
70
- process.exit(0);
71
- }
72
-
73
- const server = new ProxyServer();
74
- server.start();
75
-
76
- // 优雅退出
77
- process.on('SIGINT', () => {
78
- console.log('\n正在关闭服务器...');
79
- server.stop();
80
- process.exit(0);
81
- });
82
-
83
- process.on('SIGTERM', () => {
84
- console.log('\n收到终止信号,正在关闭服务器...');
85
- server.stop();
86
- process.exit(0);
87
- });
88
-
89
- // 捕获未处理的错误
90
- process.on('uncaughtException', (err) => {
91
- console.error('❌ 未捕获的异常:', err);
92
- if (server && typeof server.stop === 'function') {
93
- server.stop();
94
- }
95
- process.exit(1);
96
- });
97
-
98
- process.on('unhandledRejection', (reason, promise) => {
99
- console.error('❌ 未处理的Promise拒绝:', reason);
100
- if (server && typeof server.stop === 'function') {
101
- server.stop();
102
- }
103
- process.exit(1);
104
- });
105
- } catch (error) {
106
- console.error('❌ 启动服务器失败:', error);
107
- if (error.stack) {
108
- console.error(error.stack);
109
- }
110
- process.exit(1);
111
- }
112
- }
113
-
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * WebSocket Proxy Server CLI
5
+ * 通过 npx websocket-proxy-http-request proxy-server 运行
6
+ */
7
+
8
+ const path = require('path');
9
+ const fs = require('fs');
10
+
11
+ // 获取项目根目录
12
+ const projectRoot = path.resolve(__dirname, '..');
13
+ const distPath = path.join(projectRoot, 'dist', 'src', 'proxy-server.js');
14
+
15
+ // 检查文件是否存在
16
+ if (!fs.existsSync(distPath)) {
17
+ console.error('❌ 错误: 找不到编译后的文件');
18
+ console.error(` 路径: ${distPath}`);
19
+ console.error('');
20
+ console.error('请先运行: npm run build');
21
+ process.exit(1);
22
+ }
23
+
24
+ // 加载模块
25
+ let ProxyServer;
26
+ try {
27
+ const loadedModule = require(distPath);
28
+ ProxyServer = loadedModule.default || loadedModule.ProxyServer || loadedModule;
29
+ } catch (error) {
30
+ console.error('❌ 加载模块失败:', error);
31
+ if (error.stack) {
32
+ console.error(error.stack);
33
+ }
34
+ process.exit(1);
35
+ }
36
+
37
+ // 检查是否是函数(类)
38
+ if (typeof ProxyServer !== 'function') {
39
+ // 如果模块已经自动启动(通过 require.main 检查),则不需要额外操作
40
+ // 尝试设置 require.main 来触发自动启动
41
+ const originalMain = require.main;
42
+ require.main = module;
43
+ try {
44
+ require(distPath);
45
+ } finally {
46
+ require.main = originalMain;
47
+ }
48
+ } else {
49
+ // 手动启动服务器
50
+ try {
51
+ // 显示命令行参数帮助
52
+ const args = process.argv.slice(2);
53
+ if (args.includes('--help') || args.includes('-h')) {
54
+ console.log('');
55
+ console.log('WebSocket Proxy Server');
56
+ console.log('');
57
+ console.log('用法:');
58
+ console.log(' node bin/ws-proxy-server [选项]');
59
+ console.log('');
60
+ console.log('选项:');
61
+ console.log(' --token <token> 设置认证token');
62
+ console.log(' --port <port> 设置HTTP代理端口(默认: 8080)');
63
+ console.log(' --ws-port <port> 设置WebSocket端口(默认: 8081)');
64
+ console.log(' --help, -h 显示帮助信息');
65
+ console.log('');
66
+ console.log('示例:');
67
+ console.log(' node bin/ws-proxy-server --token my-secret-token');
68
+ console.log(' node bin/ws-proxy-server --token my-token --port 9000');
69
+ console.log('');
70
+ process.exit(0);
71
+ }
72
+
73
+ const server = new ProxyServer();
74
+ server.start();
75
+
76
+ // 优雅退出
77
+ process.on('SIGINT', () => {
78
+ console.log('\n正在关闭服务器...');
79
+ server.stop();
80
+ process.exit(0);
81
+ });
82
+
83
+ process.on('SIGTERM', () => {
84
+ console.log('\n收到终止信号,正在关闭服务器...');
85
+ server.stop();
86
+ process.exit(0);
87
+ });
88
+
89
+ // 捕获未处理的错误
90
+ process.on('uncaughtException', (err) => {
91
+ console.error('❌ 未捕获的异常:', err);
92
+ if (server && typeof server.stop === 'function') {
93
+ server.stop();
94
+ }
95
+ process.exit(1);
96
+ });
97
+
98
+ process.on('unhandledRejection', (reason, promise) => {
99
+ console.error('❌ 未处理的Promise拒绝:', reason);
100
+ if (server && typeof server.stop === 'function') {
101
+ server.stop();
102
+ }
103
+ process.exit(1);
104
+ });
105
+ } catch (error) {
106
+ console.error('❌ 启动服务器失败:', error);
107
+ if (error.stack) {
108
+ console.error(error.stack);
109
+ }
110
+ process.exit(1);
111
+ }
112
+ }
113
+
package/bin/ws-proxy.js CHANGED
@@ -1,83 +1,83 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * WebSocket Proxy CLI 主入口
5
- * 支持子命令: proxy-server, client-agent
6
- */
7
-
8
- const path = require('path');
9
- const fs = require('fs');
10
-
11
- const command = process.argv[2];
12
- const projectRoot = path.resolve(__dirname, '..');
13
-
14
- // 命令映射
15
- const commands = {
16
- 'proxy-server': path.join(projectRoot, 'dist', 'src', 'proxy-server.js'),
17
- 'client-agent': path.join(projectRoot, 'dist', 'src', 'client-agent.js'),
18
- 'server': path.join(projectRoot, 'dist', 'src', 'proxy-server.js'),
19
- 'client': path.join(projectRoot, 'dist', 'src', 'client-agent.js'),
20
- };
21
-
22
- // 显示帮助信息
23
- function showHelp() {
24
- console.log('');
25
- console.log('WebSocket Proxy HTTP Request');
26
- console.log('');
27
- console.log('用法:');
28
- console.log(' npx websocket-proxy-http-request <command>');
29
- console.log('');
30
- console.log('命令:');
31
- console.log(' proxy-server, server 启动代理服务器(外网)');
32
- console.log(' client-agent, client 启动客户端代理(内网)');
33
- console.log('');
34
- console.log('示例:');
35
- console.log(' npx websocket-proxy-http-request proxy-server');
36
- console.log(' npx websocket-proxy-http-request client-agent');
37
- console.log('');
38
- console.log('注意: 使用前请先运行 npm run build 编译项目');
39
- console.log('');
40
- }
41
-
42
- // 如果没有提供命令,显示帮助
43
- if (!command) {
44
- showHelp();
45
- process.exit(0);
46
- }
47
-
48
- // 获取目标文件路径
49
- const targetFile = commands[command];
50
-
51
- if (!targetFile) {
52
- console.error(`❌ 错误: 未知命令 "${command}"`);
53
- console.error('');
54
- showHelp();
55
- process.exit(1);
56
- }
57
-
58
- // 检查文件是否存在
59
- if (!fs.existsSync(targetFile)) {
60
- console.error('❌ 错误: 找不到编译后的文件');
61
- console.error(` 路径: ${targetFile}`);
62
- console.error('');
63
- console.error('请先运行: npm run build');
64
- process.exit(1);
65
- }
66
-
67
- // 保存原始的 require.main
68
- const originalMain = require.main;
69
-
70
- // 临时设置 require.main 为当前模块,这样被加载的模块会认为它是主模块
71
- require.main = module;
72
-
73
- // 加载并执行
74
- try {
75
- require(targetFile);
76
- } catch (error) {
77
- console.error('❌ 启动失败:', error);
78
- process.exit(1);
79
- } finally {
80
- // 恢复原始的 require.main
81
- require.main = originalMain;
82
- }
83
-
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * WebSocket Proxy CLI 主入口
5
+ * 支持子命令: proxy-server, client-agent
6
+ */
7
+
8
+ const path = require('path');
9
+ const fs = require('fs');
10
+
11
+ const command = process.argv[2];
12
+ const projectRoot = path.resolve(__dirname, '..');
13
+
14
+ // 命令映射
15
+ const commands = {
16
+ 'proxy-server': path.join(projectRoot, 'dist', 'src', 'proxy-server.js'),
17
+ 'client-agent': path.join(projectRoot, 'dist', 'src', 'client-agent.js'),
18
+ 'server': path.join(projectRoot, 'dist', 'src', 'proxy-server.js'),
19
+ 'client': path.join(projectRoot, 'dist', 'src', 'client-agent.js'),
20
+ };
21
+
22
+ // 显示帮助信息
23
+ function showHelp() {
24
+ console.log('');
25
+ console.log('WebSocket Proxy HTTP Request');
26
+ console.log('');
27
+ console.log('用法:');
28
+ console.log(' npx websocket-proxy-http-request <command>');
29
+ console.log('');
30
+ console.log('命令:');
31
+ console.log(' proxy-server, server 启动代理服务器(外网)');
32
+ console.log(' client-agent, client 启动客户端代理(内网)');
33
+ console.log('');
34
+ console.log('示例:');
35
+ console.log(' npx websocket-proxy-http-request proxy-server');
36
+ console.log(' npx websocket-proxy-http-request client-agent');
37
+ console.log('');
38
+ console.log('注意: 使用前请先运行 npm run build 编译项目');
39
+ console.log('');
40
+ }
41
+
42
+ // 如果没有提供命令,显示帮助
43
+ if (!command) {
44
+ showHelp();
45
+ process.exit(0);
46
+ }
47
+
48
+ // 获取目标文件路径
49
+ const targetFile = commands[command];
50
+
51
+ if (!targetFile) {
52
+ console.error(`❌ 错误: 未知命令 "${command}"`);
53
+ console.error('');
54
+ showHelp();
55
+ process.exit(1);
56
+ }
57
+
58
+ // 检查文件是否存在
59
+ if (!fs.existsSync(targetFile)) {
60
+ console.error('❌ 错误: 找不到编译后的文件');
61
+ console.error(` 路径: ${targetFile}`);
62
+ console.error('');
63
+ console.error('请先运行: npm run build');
64
+ process.exit(1);
65
+ }
66
+
67
+ // 保存原始的 require.main
68
+ const originalMain = require.main;
69
+
70
+ // 临时设置 require.main 为当前模块,这样被加载的模块会认为它是主模块
71
+ require.main = module;
72
+
73
+ // 加载并执行
74
+ try {
75
+ require(targetFile);
76
+ } catch (error) {
77
+ console.error('❌ 启动失败:', error);
78
+ process.exit(1);
79
+ } finally {
80
+ // 恢复原始的 require.main
81
+ require.main = originalMain;
82
+ }
83
+
@@ -24,6 +24,10 @@ declare class ClientAgent {
24
24
  * 处理请求
25
25
  */
26
26
  private handleRequest;
27
+ /**
28
+ * 过滤不应转发的请求头,防止长度不匹配导致 POST 失败
29
+ */
30
+ private sanitizeHeaders;
27
31
  /**
28
32
  * 处理心跳ping
29
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client-agent.d.ts","sourceRoot":"","sources":["../../src/client-agent.ts"],"names":[],"mappings":"AAoBA;;GAEG;AACH,cAAM,WAAW;IACf,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAQ;;IAI/B;;OAEG;IACI,OAAO;IAkDd;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;YACW,aAAa;IAyB3B;;OAEG;YACW,aAAa;IA8I3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACI,UAAU;CAQlB;AAuBD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"client-agent.d.ts","sourceRoot":"","sources":["../../src/client-agent.ts"],"names":[],"mappings":"AAoBA;;GAEG;AACH,cAAM,WAAW;IACf,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAQ;;IAI/B;;OAEG;IACI,OAAO;IAkDd;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;YACW,aAAa;IAyB3B;;OAEG;YACW,aAAa;IAoJ3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACI,UAAU;CAQlB;AAuBD,eAAe,WAAW,CAAC"}
@@ -108,12 +108,16 @@ class ClientAgent {
108
108
  */
109
109
  async handleRequest(message) {
110
110
  const startTime = Date.now();
111
+ console.log('>>> raw message:', JSON.stringify(message, null, 2));
112
+ // 过滤不应转发的请求头,避免content-length等导致POST异常
113
+ const sanitizedHeaders = this.sanitizeHeaders(message.headers || {});
111
114
  // 打印接收到的请求
112
115
  console.log('\n' + '='.repeat(60));
113
116
  console.log(`📥 [${new Date().toISOString()}] 收到代理请求 [${message.requestId}]`);
114
117
  console.log('='.repeat(60));
115
118
  console.log(`方法: ${message.method}`);
116
119
  console.log(`URL: ${message.url}`);
120
+ console.log('请求头:', JSON.stringify(sanitizedHeaders, null, 2));
117
121
  if (message.params) {
118
122
  console.log('查询参数:', JSON.stringify(message.params, null, 2));
119
123
  }
@@ -135,7 +139,7 @@ class ClientAgent {
135
139
  const config = {
136
140
  method: message.method,
137
141
  url: targetUrl,
138
- headers: message.headers || {},
142
+ headers: sanitizedHeaders,
139
143
  data: message.body,
140
144
  timeout: 300000,
141
145
  validateStatus: () => true, // 接受所有状态码
@@ -231,6 +235,30 @@ class ClientAgent {
231
235
  this.ws?.send(JSON.stringify(errorResponse));
232
236
  }
233
237
  }
238
+ /**
239
+ * 过滤不应转发的请求头,防止长度不匹配导致 POST 失败
240
+ */
241
+ sanitizeHeaders(headers) {
242
+ const filtered = { ...headers };
243
+ const toDelete = [
244
+ 'content-length',
245
+ 'Content-Length',
246
+ 'host',
247
+ 'Host',
248
+ 'connection',
249
+ 'Connection',
250
+ 'transfer-encoding',
251
+ 'Transfer-Encoding',
252
+ 'accept-encoding',
253
+ 'Accept-Encoding',
254
+ ];
255
+ toDelete.forEach((key) => {
256
+ if (filtered[key] !== undefined) {
257
+ delete filtered[key];
258
+ }
259
+ });
260
+ return filtered;
261
+ }
234
262
  /**
235
263
  * 处理心跳ping
236
264
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client-agent.js","sourceRoot":"","sources":["../../src/client-agent.ts"],"names":[],"mappings":";;;;;AAAA,4CAA2B;AAC3B,kDAAkD;AAClD,sEAAiE;AACjE,2CAA2C;AAC3C,+CAQ0B;AAE1B,MAAM,QAAQ,GAAG,IAAA,kBAAS,EAAC,WAAW,CAAC,CAAC;AACxC,MAAM,UAAU,GAAG,IAAA,kBAAS,EAAC,aAAa,CAAC,CAAC;AAC5C,MAAM,eAAe,GAAG,IAAA,kBAAS,EAAC,kBAAkB,CAAC,CAAC;AACtD,MAAM,aAAa,GAAG,IAAA,kBAAS,EAAC,kBAAkB,CAAC,CAAC;AACpD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,mBAAmB,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW;IAOf;QALQ,sBAAiB,GAAG,CAAC,CAAC;QAEtB,iBAAY,GAAG,KAAK,CAAC;QACrB,oBAAe,GAAG,IAAI,CAAC;IAEhB,CAAC;IAEhB;;OAEG;IACI,OAAO;QACZ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;YAC1B,GAAG,EAAE,uCAAiB,CAAC,UAAU;YACjC,QAAQ,EAAE,uCAAiB,CAAC,QAAQ;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,GAAG,IAAI,YAAS,CAAC,uCAAiB,CAAC,UAAU,CAAC,CAAC;QAEtD,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE3B,SAAS;YACT,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAsB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;gBAC1B,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;aAC1B,CAAC,CAAC;YAEH,OAAO;YACP,IAAI,IAAI,CAAC,eAAe,IAAI,uCAAiB,CAAC,gBAAgB,EAAE,CAAC;gBAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,MAAM,WAAW,GAAiB;YAChC,IAAI,EAAE,uBAAY,CAAC,IAAI;YACvB,KAAK,EAAE,uCAAiB,CAAC,SAAS;YAClC,QAAQ,EAAE,uCAAiB,CAAC,QAAQ;YACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,OAA0B;QACpD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,uBAAY,CAAC,YAAY;gBAC5B,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpD,MAAM;YAER,KAAK,uBAAY,CAAC,WAAW;gBAC3B,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;gBACjB,MAAM;YAER,KAAK,uBAAY,CAAC,OAAO;gBACvB,MAAM,IAAI,CAAC,aAAa,CAAC,OAA0B,CAAC,CAAC;gBACrD,MAAM;YAER,KAAK,uBAAY,CAAC,cAAc;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,OAAgC,CAAC,CAAC;gBAC3D,MAAM;YAER;gBACE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,OAAwB;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,WAAW;QACX,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,aAAa,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5B,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;YACvB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjE,CAAC,CAAC;QAEH,cAAc;QACd,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;QAG9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAuB;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,SAAS;gBACd,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU;aACvC,CAAC;YAEF,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAErC,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAEnC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClE,QAAQ;aACT,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,eAAe,GAAqB;gBACxC,IAAI,EAAE,uBAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAiC;gBACnD,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;gBAChC,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACjF,CAAC,CAAC;YAEH,OAAO;YACP,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;YAE/C,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;gBACxC,aAAa,EAAE,QAAQ;aACxB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,WAAW,GAAG,IAAA,kBAAS,EAAC,eAAe,CAAC,CAAC;YAE/C,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,aAAa,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAEnC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM;gBACtC,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI;gBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ;aACT,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,aAAa,GAAqB;gBACtC,IAAI,EAAE,uBAAY,CAAC,QAAQ;gBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG;gBACrC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC1E,IAAI,EAAE;oBACJ,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAA8B;QACxD,MAAM,eAAe,GAAG,IAAA,kBAAS,EAAC,oBAAoB,CAAC,CAAC;QACxD,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEzC,MAAM,WAAW,GAA0B;YACzC,IAAI,EAAE,uBAAY,CAAC,cAAc;YACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,iBAAiB,IAAI,uCAAiB,CAAC,oBAAoB,EAAE,CAAC;YACrE,eAAe,CAAC,KAAK,CAAC,eAAe,EAAE;gBACrC,WAAW,EAAE,uCAAiB,CAAC,oBAAoB;aACpD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,iBAAiB;YAC/B,WAAW,EAAE,uCAAiB,CAAC,oBAAoB;YACnD,QAAQ,EAAE,uCAAiB,CAAC,iBAAiB;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,uCAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,UAAU;QACf,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;CACF;AAED,QAAQ;AACR,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IACjC,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,UAAU,uCAAiB,CAAC,UAAU,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,UAAU,uCAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,SAAS,uCAAiB,CAAC,mBAAmB,MAAM,uCAAiB,CAAC,eAAe,IAAI,uCAAiB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1I,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,OAAO;IACP,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"client-agent.js","sourceRoot":"","sources":["../../src/client-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-server.d.ts","sourceRoot":"","sources":["../../src/proxy-server.ts"],"names":[],"mappings":"AAmCA;;GAEG;AACH,cAAM,WAAW;IACf,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,cAAc,CAAC,CAAiB;;IAkBxC;;OAEG;IACH,OAAO,CAAC,WAAW;IA6NnB;;OAEG;IACH,OAAO,CAAC,cAAc;IA2EtB;;OAEG;YACW,UAAU;IAgCxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACI,KAAK;IAgEZ;;OAEG;IACI,IAAI;CAOZ;AAuCD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"proxy-server.d.ts","sourceRoot":"","sources":["../../src/proxy-server.ts"],"names":[],"mappings":"AAmCA;;GAEG;AACH,cAAM,WAAW;IACf,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,cAAc,CAAC,CAAiB;;IAkBxC;;OAEG;IACH,OAAO,CAAC,WAAW;IA4OnB;;OAEG;IACH,OAAO,CAAC,cAAc;IA2EtB;;OAEG;YACW,UAAU;IAgCxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACI,KAAK;IAgEZ;;OAEG;IACI,IAAI;CAOZ;AAuCD,eAAe,WAAW,CAAC"}
@@ -117,6 +117,7 @@ class ProxyServer {
117
117
  // 记录到日志系统
118
118
  httpLogger.info('收到代理请求', {
119
119
  requestId,
120
+ sourceUrl: req.url,
120
121
  method: req.method,
121
122
  path: req.path,
122
123
  body: req.body,
@@ -125,7 +126,7 @@ class ProxyServer {
125
126
  });
126
127
  try {
127
128
  // 验证请求体
128
- const { url, method, params, body, clientId } = req.body;
129
+ const { url, method, params, body, clientId, headers: customHeaders } = req.body;
129
130
  if (!url) {
130
131
  const errorMsg = '缺少必需字段: url';
131
132
  console.log(`❌ 错误: ${errorMsg}`);
@@ -180,7 +181,15 @@ class ProxyServer {
180
181
  targetUrl = `${url}${separator}${queryString}`;
181
182
  }
182
183
  }
184
+ // 合并 headers:优先使用 body 中的 customHeaders,其次使用 req.headers
185
+ const mergedHeaders = {
186
+ ...req.headers,
187
+ ...(customHeaders || {}),
188
+ };
183
189
  console.log(`📤 转发到内网: ${method.toUpperCase()} ${targetUrl}`);
190
+ if (customHeaders) {
191
+ console.log('自定义请求头:', JSON.stringify(customHeaders, null, 2));
192
+ }
184
193
  if (body) {
185
194
  console.log('请求体:', JSON.stringify(body, null, 2));
186
195
  }
@@ -191,9 +200,12 @@ class ProxyServer {
191
200
  url: targetUrl,
192
201
  originalUrl: url,
193
202
  params,
194
- hasBody: !!body,
203
+ headers: mergedHeaders,
204
+ customHeaders,
205
+ body: req.body,
195
206
  clientId: client.clientId,
196
207
  requestedClientId: clientId,
208
+ hasBody: !!body,
197
209
  });
198
210
  // 构造请求消息
199
211
  const requestMessage = {
@@ -202,7 +214,7 @@ class ProxyServer {
202
214
  method: method.toUpperCase(),
203
215
  url: targetUrl,
204
216
  params,
205
- headers: req.headers,
217
+ headers: mergedHeaders,
206
218
  body: body || undefined,
207
219
  timestamp: Date.now(),
208
220
  };
@@ -210,9 +222,11 @@ class ProxyServer {
210
222
  requestId,
211
223
  messageType: requestMessage.type,
212
224
  method: requestMessage.method,
225
+ headers: requestMessage.headers,
213
226
  url: targetUrl,
214
227
  params,
215
228
  bodySize: body ? JSON.stringify(body).length : 0,
229
+ hasBody: !!body,
216
230
  });
217
231
  // 发送到客户端并等待响应
218
232
  const response = await this.sendRequestToClient(client, requestMessage);