×

NProxy——Mac和Linux平台下的Fiddler

96
goddyzhao
2015.07.25 10:33* 字数 484

Fiddler 相信大家,尤其是前端工程师们都知道。
用它的文件替换功能,将线上的静态资源文件(JS、CSS、图片)替换为本地相应的文件,来调试线上(代码都被压缩过)UI的问题。的确是一神器。(相比,它的HTTP请求的inspector功能因为各大主流浏览器都内置有这功能,反而现在用的不多)。

但是,Fiddler最大的问题就是只支持Windows,这对于Mac党和Linux党来说,有些遗憾。

以往,总是得开个虚拟机来用Fiddler。后来也有了跨平台的类似Fiddler的工具,如:CharlesRythem以及Tinyproxy

尽管这些各有优势,但是,都没有办法满足我的需求:

  • 支持Mac、Linux以及Windows
  • 支持HTTP和HTTPS(很重要)
  • 支持单文件替换
  • 支持combo文件替换(即多个文件合并为一个文件的替换)
  • 支持目录替换

下面这张图显示了,根据我的需求,罗列出的各工具的支持情况:

 +---+---------+---------+---------+-----------+
 | R | Fiddler | Charles | Rythem  | TinyProxy |
 |---------------------------------------------|
 | A |  Win    |    Y    | Mac&Win | Mac&Linux |
 |---------------------------------------------|
 | B |   Y     |    Y    |  Y/N    |    Y      |
 |---------------------------------------------|
 | C |   Y     |    Y    |   Y     |    N      |
 |---------------------------------------------|
 | D |   N     |    N    |  Y/N    |    N      |
 |---------------------------------------------|
 | E |  Y/N    |    N    |   Y     |    N      |
 +---------------------------------------------+

 A: 支持Mac、Linux以及Windows
 B: 支持HTTP和HTTPS
 C: 支持单文件替换
 D: 支持combo文件替换(即多个文件合并为一个文件的替换)
 E: 支持目录替换
 Y: 支持
 N: 不支持
 Y/N: 不完全支持

这就是为什么会有NProxy,它满足所有上述我的需求。这里并不表示Nproxy就比其他这4个工具优秀,只是NProxy在文件替换上更胜一筹。
它不提供HTTP Inspector功能,只专注在文件替换功能上。

目前,NProxy发布了1.3.0, 据我所知,除了我自己所在的公司——SuccessFactors(An SAP Company)在使用之外,部分天猫的前端也在使用。如果你也在用,麻烦请告诉

因此,各位平时用Mac和Linux的朋友(当然windows也完全可以),可以使用NProxy!具体的安装和使用非常简单,可以参考官网介绍

Node.js
Web note ad 1