命令行参数
w2 status
: 查看本机运行的 whistle 实例
w2 add
: 通过本地文件加载规则,具体参见:命令行操作
w2 install plugins [--registry=http://r.tnpm.oa.com]
: 安装 whistle 插件(也可以全局安装),具体参见:插件开发
w2 uninstall plugins
: 卸载插件
w2 exec cmd
: 执行通过 w2 install plugins
安装的插件带命令行命令
w2 run
: 开发模式启动 whistle,这种启动方式可以看到插件输出的 console
日志,且会自动加载当前目录的所有插件
w2 start
: 正常启动 whistle
w2 stop
: 停止 whistle(w2 run
的方式无法用此命令停止)
w2 restart
: 重启 whistle(w2 run
的方式无法用此命令重启)
w2 help
或 w2 -h
或 w2 --help
: 查看帮助
w2 -V
或 w2 --version
: 查看当前版本
12: w2 start[run] -D baseDir
:** 修改 whistle 配置的存储目录(也可以通过环境变量 WHISTLE_PATH
修改)
w2 start[run] -z certDir
: 设置加载自定义证书的目录(也可以把自定义证书放在 ~/.WhistleAppData/custom_certs
,whistle 会自动加载)
w2 start[run] -D baseDir
: 修改 whistle 配置的存储目录(也可以通过环境变量 WHISTLE_PATH
修改)
w2 start[run] -l localUIHost
: 添加访问 whistle 配置界面的域名,默认为 local.whistlejs.com
或 local.wproxy.org
,添加后配置代理或设置好DNS,即可通过该域名访问 whistle 配置界面,多个域名可以用 | , &
隔开,如:"whistle.oa.com|whistle.test.com"
w2 start[run] -L pluginUIHost
: 自定义访问插件的域名,多个域名可以用 | , &
隔开,如:"p1.oa.com|p2.test.com"
,设置后配置代理或设置好DNS,可以直接通过这些域名访问插件
w2 start[run] -n username
: 设置访问 whistle 界面的用户名
w2 start[run] -w password
: 设置访问 whistle 界面的密码
w2 start[run] -N guestName
: 设置访问 whistle 界面的访客账号,访客账号可以查看不能修改
w2 start[run] -W password
: 设置访问 whistle 界面的访客密码,访客账号可以查看不能修改
w2 start[run] -s socketsNum
: 设置单域名长连接数(高版本 Node 无需设置该参数)
w2 start[run] -S storageDir
: 修改规则存储目录,不同实例需要设置不同的存储目录,与 --baseDir
的区别是后者会影响的配置内容比较多
w2 start[run] -C storageDir
: 修改规则存储目录时,可以把指定目录 storageDir
的规则 copy 到新目录
w2 start[run] -c dnsCacheTime
: 修改 DNS 缓存时间,默认为 1分钟(不建议自己修改)
w2 start[run] -H boundHost
: 指定监听的网卡,默认为所有可用网卡(不建议自己设置)
w2 start[run] -p port
: 修改 whistle 监听的端口,默认为 8899
w2 start[run] -P uiPort
: 修改 whistle UI 监听的端口,默认为 8899
(不建议自己设置)
w2 start[run] -m middlewares
: 通过 express 中间件扩展 whistle 功能(建议用插件形式扩展)
w2 start[run] -M mode
: 设置 whistle 启动模式,同时设置多个用 |
分隔开,如 -M "pureProxy|debug|multiEnv|capture|disableH2|network|rules|plugins"
prod
: 使用 w2 run
默认启动的是开发模式,性能会有些影响,可以通过 prod
强制转成生产模式
pureProxy
: 纯代理模式,对一些内置界面域名 local.whistlejs.com
也当初普通请求
debug
: 调试模式,会禁用一些超时设置及 dnsCache(不建议使用)
multiEnv
: 除了 Default 其它规则都不能启用,应用参见:** https://github.com/nohosts/nohost
capture
: 默认开启 Capture TUNNEL CONNECTS
disableH2
: 默认禁用 Enable HTTP/2
network
: 配置界面只显示 Network,支持 network|rules
或 netowrk|plugins
rules
: 配置界面只显示 Rules,支持 network|rules
或 rules|plugins
,
plugins
: 配置界面只显示 Plugins,支持 rules|plugins
或 netowrk|plugins
safe
: 安全模式,禁用 rejectUnauthorized
,如果服务端返回自定义证书会报错,默认忽略错误
notAllowedDisableRules
: 不允许禁用规则
notAllowedDisablePlugins
: 不允许禁用插件
socks
: socks模式,通过socks转发的请求默认走tunnel
keepXFF
: 是否自动带上 x-forwarded-for
请求头
buildIn
: 插件是否使用跟主进程一样的 Node 版本,默认是全局 Node,一般用于打包 electron 应用时使用
w2 start[run] -t timeout
: 修改 whistle 默认超时时间 (一般使用默认即可)
w2 start[run] -e data
: 这部分数据可以在插件里面通过 options.extraData
获取
w2 start[run] -f file.js
: 加载过滤抓包数据的脚本
w2 start[run] -r shadowRules
: 启动时设置规则
w2 start[run] -R reqCacheSize
: 缓存的抓包数据个数(一般使用默认即可)
w2 start[run] -F frameCacheSize
: 缓存的帧数据个数(一般使用默认即可)
w2 start[run] -A addon
: 添加加载插件的目录
w2 start[run] --socksPort socksPort
: 设置 socksv5 server 端口
w2 start[run] --httpPort httpPort
: 作为 http server 接收请求
w2 start[run] --httpsPort httpsPort
: 作为 https server 接收请求
w2 restart --no-prev-options
: 重启是不加载之前启动的参数
w2 start[run] --inspect [[host:]port]
: 同 node
--inspect [[host:]port]
w2 start[run] --inspectBrk [[host:]port]
: 同 node
--inspectBrk [[host:]port]