whistle 2.9.22 → 2.9.23

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 CHANGED
@@ -28,6 +28,7 @@ Whistle 是基于 Node 实现的跨平台抓包调试工具,其主要特点:
28
28
  * 项目可以自带代理规则配置并一键设置到本地 Whistle 代理,也可以通过定制插件简化操作
29
29
 
30
30
  # 一键安装
31
+ > 如果电脑上安装 [Homebrew](https://brew.sh/) 也可以通过 `brew install whistle && w2 start --init` 一键安装,无需手动安装 Node
31
32
  1. 安装 Node(建议安装**最新的 LTS 版本**,如已安装忽略此步骤):https://nodejs.org/
32
33
  2. 一键安装,在命令行执行以下命令:
33
34
  ``` sh
@@ -65,5 +66,17 @@ Whistle 是基于 Node 实现的跨平台抓包调试工具,其主要特点:
65
66
 
66
67
  ### 详细用法参见:[Whistle 帮助文档](https://wproxy.org/whistle/quickstart.html)
67
68
 
69
+ # 通过 SwitchyOmega 设置代理
70
+ 全局代理如果会影响到某些客户端的请求(客户端设置了 ssl pinning),也可以使用 Chrome 插件设置代理(只对 Chrome 生效):
71
+ > 可以通过 `w2 proxy off` 关闭全局代理
72
+
73
+ 1. 设置 Whistle 代理
74
+
75
+ <img src="https://user-images.githubusercontent.com/11450939/36636618-132bb09e-1a05-11e8-8514-813fd34a5454.png" width="800" />
76
+ 2. 选择 Whistle 代理
77
+
78
+ <img width="180" alt="image" src="https://user-images.githubusercontent.com/11450939/173984519-143615b2-2a99-4486-a22a-fec71fe00423.png">
79
+
80
+
68
81
  # License
69
82
  [MIT](./LICENSE)
@@ -1,6 +1,6 @@
1
1
  var net = require('net');
2
- var proxy = require('./index');
3
- var util = require('../util');
2
+ var proxy = require('set-global-proxy');
3
+ var util = require('./util');
4
4
 
5
5
  var OFF_RE = /^(?:o|0|-{0,2}off)$/i;
6
6
  var BYPASS_RE = /^(?:-{0,2}bypass|-x|-b)$/i;
@@ -39,6 +39,7 @@ module.exports = function(argv) {
39
39
  }
40
40
  var options = {};
41
41
  var skip;
42
+ var sudo = true;
42
43
  argv.forEach(function(arg) {
43
44
  if (skip) {
44
45
  options.bypass = arg;
@@ -66,11 +67,14 @@ module.exports = function(argv) {
66
67
  if (host && (net.isIP(host) || HOST_RE.test(host))) {
67
68
  options.host = host || options.host;
68
69
  }
70
+ } else if (arg === '--no-sudo') {
71
+ sudo = false;
69
72
  }
70
73
  });
71
74
  if (!options.port) {
72
75
  options.port = util.getDefaultPort();
73
76
  }
74
77
  options.host = options.host || '127.0.0.1';
78
+ options.sudo = sudo;
75
79
  enableProxy(options);
76
80
  };
package/bin/whistle.js CHANGED
@@ -7,7 +7,7 @@ var useRules = require('./use');
7
7
  var showStatus = require('./status');
8
8
  var util = require('./util');
9
9
  var plugin = require('./plugin');
10
- var setProxy = require('./proxy/cli');
10
+ var setProxy = require('./proxy');
11
11
  var installCA = require('./ca/cli');
12
12
 
13
13
  var error = util.error;