Fiddler plus 【高效调试分析利器】

Fiddler是一个功能强大的HTTP抓包调试工具!但用起来却不是那么的顺手,界面繁杂、配置复杂,非常不符合高效程序猿的使用习惯...
Fiddler plus 重新定义了Fiddler的CustomRules.js,从而使Fiddler拥有了更加简单、灵活、丰富的配置方式,高逼格的显示界面,让你用起来不再羞(gan)涩(ga)。

特点

  • 自定义皮肤,通过简单配置即可拥有跟你喜爱的编辑器一样的界面风格
  • 高亮特殊链接,一眼便可定位后台接口、快速区分前端各类静态资源
  • 快速切换运行环境,无需重启、即刻生效,环境再多也不凌乱
  • 简单配置即可彻底解决跨域开发的窘境
  • 强大的过滤功能,轻松过滤无关链接

优点&目标

功能强大、配置简单

项目地址

https://github.com/xxxily/Fiddler-plus

界面截图

运行截图
运行截图
运行截图
运行截图

使用方式

下载当前的 CustomRules.js ,替换掉Fiddler自带的 CustomRules.js 。
正常情况下文件的所在目录为:

%USERPROFILE%\Documents\Fiddler2\Scripts

你也可以通过Fiddle菜单栏下的 Rules》Customize Rules... 即可打开编辑CustomRules

全局配置项一览

/**
 * 全局配置项
 * 可配置链接类型的颜色,代理、替换地址等,
 * 默认对象的键【key】为要匹配的规则,值【key】为匹配后的配置
 */
var GLOBAL_SETTING:Object = {
    // 开启或禁止缓存
    disableCaching:true,
    // 过滤配置【用于过滤出哪些URL需要显示,哪些需要隐藏】
    Filter:{
        // 只显示URL包含以下字符的连接
        showLinks:[
            // "qq.com",
            // "baidu.com",
            // "youdao.com"
        ],
        // 隐藏URL包含以下字符串的连接 过滤
        hideLinks:[
            // "baidu.com|qzone.qq.com|qq.com",
            "hm.baidu.com",
            "google.com|googleapis.com"
        ],
        // 只显示以下文件类型【注意:是根据header的 Content-Type字段进行匹配的,所以js文件直接写js是不行的,但支持模糊匹配 】
        // 附注:使用ContentType过滤的时候不一定准确,不带 ContentType的连接会被自动隐藏,该过滤选项的逻辑还有待优化和完善
        showContentType:[
            // "image"
            // "css",
            // "html",
            // "javascript"
        ],
        // 隐藏以下文件类型
        hideContentType:[]
    },
    // 替换URL【可用于多环境切换、解决跨域、快速调试线上脚本等】
    replace:{
        "http://xxxily.com/":"http://xxxily.cc/",
        "":""
    },
    // 替换URL的高级版,可以实现多个项目区分管理,进行二级匹配等
    replacePlus:[
        {
            describe:"将【xxxily】服务器上的静态资源替换成本地服务器上的资源",
            source:[
                "http://xxxily.net",
                "http://xxxily.org",
                "http://xxxily.ac.cn",
                "http://xxxily.cc"
            ],
            urlContain:"\\.html|\\.css|\\.js|\\.jpeg|\\.jpg|\\.png|\\.gif|\\.mp4|\\.flv|\\.webp",
            replaceWith:"http://localhost:3000",
            enabled:false
        },
        {
            describe:"将【本地】请求的接口替换成某个服务器上的接口内容",
            source:[
                "http://localhost:3000/",
                "http://127.0.0.1:3000/",
                "http://192.168.0.101:3000/"
            ],
            urlContain:"",
            urlUnContain:"\\.html|\\.css|\\.js|\\.jpeg|\\.jpg|\\.png|\\.gif|\\.ico|\\.mp4|\\.flv|\\.webp|/browser-sync/",
            // bgColor:"#2c2c2c",
            color:"#FF0000",
            // bold:"true",
            replaceWith:"http://xxxily.cc/",
            enabled:false
        }
    ],
    // 界面显示配置【可以对不同链接进行颜色标识,以便快速定位相关链接】
    UI:{
        // 默认文本颜色
        color:"#c0c0c0",//灰白色
        // 默认背景颜色
        bgColor:"#2c2c2c",//浅黑
        bgColor_02:"#2f2f2f",//浅黑【用于做交替背景,可以不设置】
        // bgColor_02:"#4b4a4a",
        // 链接返回报错时的颜色
        onError:{
            // bgColor:"#2c2c2c",
            color:"#FF0000" //错误红
            // ,bold:"true"
        },
        // 不同关键词匹配对应的连接颜色,key 对应的是匹配的关键字,val对应的是匹配的颜色
        linkColor:{
            "\\.jpg|\\.png|\\.gif":"#ffccff", //粉紫色
            "\\.js":"#00ff00", //原谅色
            "\\.css":"#ffcc66", //米黄
            "\\.html":"#00d7ff", //蓝色
            "\\.php":"#fff32d", //大黄
            "\\.jsp":"#fd4107" //砖红
        },
        // 可以为特殊状态码设置不同颜色,方便快速定位一些错误链接,例如404等
        // 注意:这个只是根据responseCode 来匹配的,一些不存在response的链接配置是无效的,例如 502,504状态,应该是在onError里配置的
        statusCode:{
            "404|408|500|502|504":"#FF0000", //错误红
            "304":"#5e5e5e" //浅灰色
        },
        // 高亮,对特殊的链接进行高亮设置,方便跟踪查看链接
        highlight:{
            "http://localhost|192.168":{
                // bgColor:"#2c2c2c", //浅黑
                color:"#00ff00", //原谅色
                bold:"true",
                describe:"高亮测试"
            },
            "hm.baidu.com":{
                bgColor:"#FF0000", //红色
                color:"#fdf404", //黄色
                bold:"true",
                describe:"高亮测试"
            },
            "":""
        }
    },
    // 一些实用工具集,先列个可能会开发的工具集,留个坑以后有时间再开发
    Tools:{
        // TODO API 测试工具
        apiTest:{},
        // TODO 重放攻击工具
        replay:{},
        // TODO js 格式化工具
        jsFormat:{},
        // TODO css 格式化工具
        cssFormat:{},
        // TODO 内容注入工具
        contentInject:{},
        // TODO 类似 weinre 这样的注入调试工具
        weinre:{}
    },
    // 多项分隔符号【同一个配置需匹配多项规则时可以通过分隔符进行区分,这样就不用每个规则都要新开一份配置那么繁琐】
    splitStr:"|",
    // 正则匹配的修饰符:i,g,m 默认i,不区分大小写
    regAttr:"i"
};
//全局配置项 END

特别说明:Fiddler 的 CustomRules.js 修改配置保存后是会自动立即生效的,无需重启
所以做服务器代理转发、切换开发环境的时候,写好配置后,只需打开或注释掉某行配置,然后保存即可实现实时切换

目前主要实现了:代理、替换、过滤、UI(skin)等功能;已经可满足绝大部分开发需求了,后续将继续完善

暂时先这样,后续等代码完善好了再补充说明文档...

开发计划:

1、UI(skin)后续打算实现成多套可选的形式,然后可以针对域名指定不同的配色方案,这样就不用隐藏连接也可以快速区分哪些是当前需要关注的连接。
2、全局禁止缓存感觉很蠢,严重影响正常上网体验,所以缓存也计划加入到 replacePlus 配置项里,针对性禁止缓存
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355

推荐阅读更多精彩内容