V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MegatronKing
V2EX  ›  程序员

新一代国产 API 抓包调试工具 Reqable

  •  4
     
  •   MegatronKing · 2023-08-24 16:37:14 +08:00 · 14269 次点击
    这是一个创建于 448 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Reqable是一款跨平台的专业 HTTP 开发和调试工具,在全平台支持 HTTP1 、HTTP2 和 HTTP3(QUIC)协议,简单易用、功能强大、性能高效,助力程序开发和测试人员提高生产力!

    1. 介绍

    Reqable 的特点是简洁美观,基本功能免费,无需登录,安装即用。

    • 20M 左右的安装包体积。
    • 跨平台,基于 Flutter 和 C++开发。
    • 支持亮色和暗色两种主题模式。
    • 支持 11 种不同的强调色。
    • 支持 Atom One 主题代码高亮配色。

    screenshot_zh_01.png

    Reqable 桌面端支持 Windows/Mac/Linux 三大主流平台,具备抓包调试和 API 测试两大基本功能,可以将其看成是 Fiddler/Charles + Postman 。

    Reqable 打通了 API 调试和测试之间的壁垒,例如可以从抓包数据中创建 API 进行测试,也可以在 API 测试时进行流量抓包分析。

    • 支持 HTTP/1.x, HTTP2 协议版本,HTTP3(QUIC)暂不支持。
    • 支持 HTTP/HTTPS/Socks4/Socks4a/Socks5 代理方式。
    • 支持 HTTPS ,TLSv1.1 、TLSv1.2 和 TLSv1.3 加密协议。
    • 支持基于 HTTP1 升级的 WebSocket 协议。
    • 支持 HTTP/HTTPS 二级代理(调试境外流量)。
    • 搜索筛选:提供书签、域名、快捷筛选栏和多条件等高级搜索方式。
    • 网关功能:对指定请求或响应进行屏蔽,挂起等操作。
    • 重写功能:预设规则对指定请求或响应进行重定向、替换或者修改。
    • 断点功能:对请求或响应进行实时断点操作,比如屏蔽,挂起或修改替换数据等。
    • 脚本功能:支持编写 Python 脚本处理实时请求或响应。
    • 镜像功能:对指定域名和端口配置镜像映射。
    • 测试联动:支持从调试列表创建 API 进行测试。
    • 历史记录:自动保存抓包的流量数据,方便回溯查看。
    • 重发回放:支持单个或多个请求进行回放测试。
    • 自动高亮:支持设定自定义规则对请求进行多种颜色高亮。
    • HAR 支持:自动关联 HAR 格式文件,并支持 HAR 导出和导入。

    2. 安装证书

    Reqable 使用经典的中间人( MITM )技术分析 HTTPS 流量,当客户端与 Reqable 的代理服务器(下文简称中间人)进行通信时,中间人需要重签远程服务器的 SSL 证书。为了保证客户端与中间人成功进行 SSL 握手通信,需要将中间人的根证书(下文简称CA 根证书)安装到客户端本地的证书管理中心。

    如果目标客户端是 PC 应用程序,CA 根证书需要安装到 PC 的证书管理中心;如果目标客户端是移动端 App 应用程序,CA 根证书则需要安装到手机的证书管理中心。如果没有流量分析的需求,可以忽略这一步。

    Reqable 会为每个用户自动生成完全不同的 CA 根证书,并使用随机的证书密钥,所以不必担心此证书会被第三方利用。

    2.1 桌面端安装

    不同的桌面端平台(这里主要是 Windows/MacOS/Linux ),证书安装方式有所不同,为了简化安装过程,Reqable 提供了一键安装证书的功能。

    证书的安装入口位于顶部操作栏,点击盾牌图标打开弹窗。

    installation_01.png

    直接点击现在安装

    installation_02.png

    点击后系统会弹出确认弹窗或者输入账户密码进行授权,按照提示操作确认即可。不出意外的话,证书会自动安装成功;如果自动安装失败,可以切换到手动安装的 Tab 按照步骤手动安装。

    installation_03.png

    注意,在 Linux 设备上 Chrome 和 Firefox 浏览器有内置的证书管理系统,还需要将 CA 根证书安装到浏览器的证书管理系统中,请按照 Reqable 内的提示进行操作。

    CA 根证书未安装或安装失败时,盾牌图标显示为黄色;安装成功后,盾牌图标显示为绿色。

    2.2 移动端安装

    如果有分析移动端应用的需求,必须在移动端安装 CA 根证书。Reqable 中内置了 Android 和 iOS 证书安装的指引,请切换到AndroidiOS的 Tab 按照步骤进行安装。

    installation_04.png

    由于 Android 7.0 起不再信任用户证书,需要将 CA 根证书安装到系统证书目录,这要求能够 Root 设备并解锁 System 分区。

    3. 分析流量

    在 API 调试中,获取流量是第一步也是最基本的操作,这里讲解下如何使用 Reqable 获取流量,通俗地讲就是抓包。

    首先,需要启用 Reqable 的调试功能,点击最右上角的启动按钮进入调试状态。在调试状态下,任何 HTTP 请求经过 Reqable 的 MITM 代理服务器都会显示到界面上。

    为了保证流量经过 Reqable 的 MITM 代理服务器并信任 Reqable 的 CA 根证书,请检查下面两项:

    • 系统代理状态

    如果系统代理已经设置,网络图标是绿色;如果系统代理未设置,网络图标是黄色,点击网络图标可以自动设置系统代理。

    • CA 根证书状态

    如果 CA 根证书安装成功,盾牌图标是绿色;如果 CA 根证书未安装成功,网络图标是黄色,点击盾牌图标可以进入 CA 根证书安装界面,详细步骤请阅读上一节。

    一切就绪后,我们可以看到如下的界面:

    traffic_01.png

    打开浏览器,输入地址 https://reqable.com 并回车,这里演示使用的是 Chrome 浏览器。回到 Reqable ,调试列表中已经捕获到了该网站的全部请求数据。

    traffic_02.png

    我们可以选择一个图片请求,双击打开详情面板,能够看到该请求的详细信息。注意,再次双击该请求,可以关闭详情面板。

    traffic_03.png

    点击侧边栏的工作台图标,打开调试列表的工作面板。然后展开reqable.com此域名的结构树,可以查看该域名下所有请求的目录结构,点击选择可以查看该请求的详情。

    traffic_04.png

    点击最右上角垃圾篓图标(快捷键 Control + Shift + R )可以清空列表。

    这里,我们已经完成了获取流量最基本的操作了。

    4. 开始调试

    捕获到流量之后,开始使用调试功能进行数据模拟等各种测试。Reqable 提供了非常强大的调试功能,主要有重写、断点和脚本功能,下面分别来进行介绍。

    4.1 重写

    重写是 Reqable 的核心调试功能之一,通过预设规则自动修改请求或者响应。重写功能可以通过四种方式启用或关闭:

    • 直接点击重写图标
    • 右键重写图标 -> 启用/禁用
    • 托盘 -> 重写 -> 启用/禁用
    • 快捷键 Shift + Control + K

    当重写功能开启后,快捷操作栏( Quickbar )上的重写图标将变为绿色激活状态。

    rewrite_01.png

    Reqable 的重写支持下面 5 种模式。

    4.1.1 重定向

    重写重定向提供了非常细粒度的重定向操作,例如一个客户端请求 A:https://hello.com/foo,可以重定向为返回请求 B:https://world.com/bar 的结果。

    rewrite_12.png

    4.1.2 替换请求

    表示整体替换请求数据,支持替换的部分包括:请求方法、请求路径、请求头和请求体。从流量列表创建重写-替换请求规则,可以自动带入原始请求数据,我们可以在其他基础上进行修改。替换的时候,也可以选择一个本地文件进行替换。

    rewrite_05.png

    4.1.3 修改请求

    相比于替换请求,修改请求提供了更加细致化的修改策略。例如删除查询参数,修改请求头中的某一项,正则替换请求体的内容,适合动态修改。

    rewrite_09.png

    4.1.4 替换响应

    基本操作同上面替换请求

    4.1.5 修改响应

    基本操作同上面修改请求

    4.2 断点

    断点是 Reqable 的核心调试功能之一,通过设定匹配规则,触发断点后实时控制和修改请求和响应。断点功能可以通过四种方式启用或关闭:

    • 直接点击断点图标
    • 右键断点图标 -> 启用/禁用
    • 托盘 -> 断点 -> 启用/禁用
    • 快捷键 Shift + Control + B

    当断点功能开启后,快捷操作栏( Quickbar )上的断点图标将变为绿色激活状态。

    breakpoint_01.png

    接下来新建一个断点规则:

    breakpoint_02.png

    输入规则名称和匹配的 URL ,URL 支持简单的 Wildcard * 和 ? 匹配。完成后,当请求或响应发生时,便可以进入断点操作界面。

    breakpoint_03.png

    我们可以在这个页面上,修改数据然后提交。

    每个断点请求(响应)有180s的时间进行操作,超时后断点会自动失效,暂停住的请求和响应会继续。

    4.3 脚本

    脚本是 Reqable 的核心调试功能之一,支持编写 python 脚本处理 HTTP 请求和响应。Reqable 提供了一套基于 Python 的 API ,在脚本中,我们可以对请求和响应的数据进行修改、替换或者删除,甚至还可以中断请求和响应。除了使用 Reqable 内置的 API ,用户还可以使用自己安装的各种 Python 包,例如 requests 等。

    脚本功能可以通过四种方式启用或关闭:

    • 直接点击脚本图标
    • 右键脚本图标 -> 启用/禁用
    • 托盘 -> 脚本 -> 启用/禁用
    • 快捷键 Shift + Control + P

    当脚本功能开启后,快捷操作栏( Quickbar )上的脚本图标将变为绿色激活状态。

    script_01.png

    脚本使用 python3 运行,必须使用 python3 的语法。脚本提供两个函数调用入口:onRequestonResponse,顾名思义即请求和响应。

    script_02.png

    脚本修改后会自动保存,也可以手动使用快捷键 Control + S 立即保存。

    下面是脚本的功能代码示例:

    def onRequest(context, request):
      # 打印请求方法,例如:POST
      print(request.method)
      # 打印请求路径,例如:/foo
      print(request.path)
      # 打印请求参数列表,例如:[('foo', 'bar'), ('hello', 'world')]
      print(request.queries)
      # 打印请求头列表,例如:['host: reqable.com', 'content-length: 6', 'content-type: text/plain']
      print(request.headers)
      # 打印请求体,例如 {"foo":"bar"}
      print(request.body)
    
      # 修改请求方法
      request.method = 'GET'
      # 修改请求路径
      request.path = '/bar'
    
      # 修改请求参数,更多 API 请参考下文`CaptureHttpQueries`
      request.queries['foo'] = 'bar'
      # 直接赋值请求参数
      request.queries = 'foo=bar&hello=world&abc=123'
      request.queries = {
        'foo': 'bar',
        'hello': 'world',
        'abc': '123'
      }
      # 删除指定请求参数
      request.queries.remove('foo')
    
      # 修改请求头,更多 API 请参考下文`CaptureHttpHeaders`
      request.headers['content-type'] = 'application/json'
      # 直接赋值请求头
      request.headers = [
        'content-type: application/json',
        'foo: bar'
      ]
      # 删除指定请求头
      request.headers.remove('foo')
    
      # 将文本设置给 Body
      request.body = 'Hello World'
      # 将字典设置给 Body ,会自动转成 JSON
      request.body = {
        'foo': 'bar',
        'abc': 123
      }
      # 将二进制数据设置给 Body
      request.body = b'\x01\x02\x03\x04'
      # 将本地文件设置给 Body
      request.body.file('/User/Reqable/Desktop/test.png')
    
      # JSON 类型的 Body 转成字典
      request.body.jsonify()
      # 然后操作字典来修改 Body
      request.body['foo'] = 'bar'
      request.body['error'] = {
        'code': 1000,
        'message': 'Runtime Error'
      }
    
      # Done
      return request
    

    更多的脚本 API 可以参考文档: https://reqable.com/zh-CN/docs/capture/addons

    5. API 测试

    API 测试是 Reqable 的两大基本功能之一,帮助开发者调试接口 API 。Reqable 目前支持 HTTP1.1 、HTTP2 和 HTTP3 ( QUIC )协议,核心网络库采用的是Cronet,业内技术最领先的 HTTP 网络请求框架。

    • 支持 HTTP/1.1, HTTP2 和 HTTP3(QUIC)协议。
    • 多个会话:支持创建多个 Tab 进行 API 测试。
    • 批量编辑:支持批量编辑请求参数、请求头、表单等。
    • 授权设置:支持 API KEY 、Basic Auth 和 Bearer Token 等授权方式。
    • 代理设置:支持自定义代理配置,系统代理和调试代理等。
    • 性能测试:可以查看请求在不同环节的耗时数据。
    • Cookie 管理:自动保存 Cookie 或在请求头中自动加入关联的 Cookie 。
    • 历史记录:自动保存发送的请求和响应数据,方便回溯查看。
    • cURL 支持:可以导入和导出 cURL 。
    • 代码生成:支持 java/python/go/javascript/kotlin 等主流网络框架代码生成。

    screenshot_zh_02.png

    Reqable 支持将 API 请求收藏到集合中,并可以随时打开编辑。同时,Reqable 还支持导入 Postman 等格式的 API 集合,并且可以将调试列表中的 API 保存到集合。

    collection_04.png

    6. 结尾

    Reqable 还提供了非常多实用的功能,包括 API 测试、重发回放、代码生成等,最关键的是 Reqable 是可以免费使用的,下载即用,无需注册无需登录。

    欢迎大家支持!

    127 条回复    2024-10-29 14:30:43 +08:00
    1  2  
    lingling47
        1
    lingling47  
       2023-08-24 16:51:54 +08:00
    win7 无法使用 公司的电脑太垃圾了
    MegatronKing
        2
    MegatronKing  
    OP
       2023-08-24 17:20:47 +08:00
    @lingling47 Reqable 是基于 Flutter 框架开发的,由于 Flutter 本身不支持 win7 ,所以没办法。工欲善其事,必先利其器,这个简单道理,但很遗憾的是很多当领导的没这个意识,哎。
    lingling47
        3
    lingling47  
       2023-08-24 17:29:29 +08:00
    @MegatronKing 谢谢哦
    ochatokori
        4
    ochatokori  
       2023-08-24 17:32:51 +08:00 via Android
    在 v 站就不要带上国产这个词了
    zzNucker
        5
    zzNucker  
       2023-08-24 17:34:08 +08:00
    看功能挺好的,支持一下
    skiy
        6
    skiy  
       2023-08-24 17:34:56 +08:00
    Linux 安装后,运行不了。好像是依赖 gtk3 的?
    而且,二进制文件跑到 /usr/share/reqable/ 目录中了,这样的目录不合理吧?我看了下安装的软件,大都是在 /opt 目录下。
    zzNucker
        7
    zzNucker  
       2023-08-24 17:36:27 +08:00   ❤️ 21
    @ochatokori 国产咋了?

    质量好 V 站也总会有明白人支持的
    littlesubgirl
        8
    littlesubgirl  
       2023-08-24 17:39:35 +08:00 via Android
    flutter 开发的界面就是有点怪怪的感觉,比 ele 还怪。

    左上角“文件”二字,显示异常,4k ,250%缩放。

    整个菜单文字,显示怪怪的。英文无异常。
    oIMOo
        9
    oIMOo  
       2023-08-24 17:39:51 +08:00
    建议上 brew
    hyqCrystal
        10
    hyqCrystal  
       2023-08-24 17:39:54 +08:00
    👍
    zeonluang
        11
    zeonluang  
       2023-08-24 17:40:27 +08:00
    cool 支持导入 postman 的历史数据吗?
    danbai
        12
    danbai  
       2023-08-24 17:54:23 +08:00
    可以,在用了
    oIMOo
        13
    oIMOo  
       2023-08-24 17:56:56 +08:00
    macOS 13.5.1
    应用主界面点击 + ( Traffic 右侧),url 里输入任意内容,应用闪退、浏览器网络阻断
    liuidetmks
        14
    liuidetmks  
       2023-08-24 18:00:54 +08:00   ❤️ 3
    用来用去,还是 Charles 最顺手
    leo97
        15
    leo97  
       2023-08-24 18:01:14 +08:00 via Android
    不是开源的?
    mainjzb
        16
    mainjzb  
       2023-08-24 18:02:23 +08:00
    flutter 支持 win7 吧,是有些包不支持 win7
    MegatronKing
        17
    MegatronKing  
    OP
       2023-08-24 18:10:48 +08:00
    @zeonluang 支持集合 collection
    ochatokori
        18
    ochatokori  
       2023-08-24 18:13:38 +08:00 via Android
    @zzNucker #7 道理是这个道理
    MegatronKing
        19
    MegatronKing  
    OP
       2023-08-24 18:14:19 +08:00
    @mainjzb 严格意义上来说你是对的,win7 是 best effort 。
    MegatronKing
        20
    MegatronKing  
    OP
       2023-08-24 18:16:12 +08:00
    @skiy 依赖 gtk3 。安抓包是 deb 格式的,至于安装到哪个目录,是不是应该是 installer 的问题。
    beixiao
        21
    beixiao  
       2023-08-24 18:17:24 +08:00 via iPhone   ❤️ 1
    试用了一下
    1. 安卓设备导入证书还没有 Charles 方便,建议加个保存到本地的选项。
    2. 第一次保存证书后就找不到那个弹窗了,要去官网看文档才行,不够易用。
    3. 字体不能够更改样式和粗细,win 看起来效果并不好

    免费版限制太多,基本没法用了
    MegatronKing
        22
    MegatronKing  
    OP
       2023-08-24 18:18:28 +08:00
    @oIMOo 不好意思,macOS 13.5 我还没有测试过,做多只测试到 13.4 。不过感谢反馈,我马上测试下。
    zeonluang
        23
    zeonluang  
       2023-08-24 18:19:27 +08:00
    试用了下,免费的 api 集合太少了。刚打算从 postman 导入几个集合过来就报错了
    cctrv
        24
    cctrv  
       2023-08-24 18:25:48 +08:00 via iPhone
    能抓 flutter 寫的嗎?
    每次抓 flutter 我去路由器抓實在太累了。
    Goooler
        25
    Goooler  
       2023-08-24 18:27:31 +08:00
    支持一下,从 HttpCanary 以来就非常好用
    deplivesb
        26
    deplivesb  
       2023-08-24 18:29:43 +08:00   ❤️ 3




    还没做的功能就不要去作为宣传点
    MegatronKing
        27
    MegatronKing  
    OP
       2023-08-24 18:40:36 +08:00
    @deplivesb 不好意思,是我这篇文章写的不严谨。API 测试和抓包是 Reqable 的两大核心功能,API 测试是支持 HTTP3(QUIC)协议的,抓包目前还没有实现。准确地说 HTTP3(QUIC)是部分支持,这个在官网首页有说的。
    eluotao
        28
    eluotao  
       2023-08-24 18:41:51 +08:00
    就冲 httpcanary 我已付费支持了。
    eluotao
        29
    eluotao  
       2023-08-24 18:49:44 +08:00
    希望支持全部记录导出成 txt 或者 其他能用 vscode 打开的格式,方便本地做其他处理。目前只能导出 har 格式,不好用,也只能写脚本另外保存,其实很多时候,我只是想保存。
    lincanbin
        30
    lincanbin  
       2023-08-24 18:54:24 +08:00
    不错,为数不多的 UI 长得还挺好看的工具
    adsryen
        31
    adsryen  
       2023-08-24 19:04:56 +08:00 via Android
    不会只有我打不开这图床吧
    oIMOo
        32
    oIMOo  
       2023-08-24 19:51:12 +08:00
    @MegatronKing #22 感谢,求更新之后圈我一下。我想分享 log 来着,看了包内容没有 log……
    kneo
        33
    kneo  
       2023-08-24 20:11:38 +08:00 via Android
    不开源,以后收费吗?
    ayang23
        34
    ayang23  
       2023-08-24 20:14:25 +08:00
    挺好,收藏
    peefy
        35
    peefy  
       2023-08-24 20:43:25 +08:00
    不错 👍👍 看到最后还是开源的,学习一下
    CLx2GaS5tw
        36
    CLx2GaS5tw  
       2023-08-24 20:48:50 +08:00
    eagleoflqj
        37
    eagleoflqj  
       2023-08-24 20:55:28 +08:00 via iPhone
    @peefy 我想起了前一阵 v 站吵项目在 GitHub 挂壳算不算虚假开源😂
    MegatronKing
        38
    MegatronKing  
    OP
       2023-08-24 21:37:40 +08:00
    @peefy 不是开源的,Github 仓库是管理需求和用户反馈的,Readme 有清楚写着。类似 Postman 等知名产品,都是使用 github 作为管理工具。
    MegatronKing
        39
    MegatronKing  
    OP
       2023-08-24 22:59:54 +08:00
    @oIMOo 😓M2 本子升级到 13.5.1 了,并没有遇到闪退的情况,尴尬。
    aflow
        40
    aflow  
       2023-08-24 23:12:02 +08:00
    使用限制能不能不要限制操作系统,公司和家里都是 windows 机器,回家用的时候又要重新激活下。
    另外都是订阅制了,不添加点云服务的功能吗,比如同步脚本,集合什么的
    xrr2016
        41
    xrr2016  
       2023-08-24 23:29:59 +08:00
    在 v2 使用国产字样不是找喷吗
    oIMOo
        42
    oIMOo  
       2023-08-24 23:51:30 +08:00
    @MegatronKing #39
    我详细描述一下我的环境,除了系统版本,我没有给应用配置任何证书等等(因为才尝试就闪退了),另外,应用不在系统应用文件夹,而是在用户应用文件夹 —— /Users/[username]/Applications
    本机没有翻墙,DNS 使用 AdGuard DNS, 但是不应该造成闪退
    Alexonx
        43
    Alexonx  
       2023-08-25 08:08:03 +08:00 via Android
    小黄鸟的作者的产品 支持下
    leokun
        44
    leokun  
       2023-08-25 08:46:24 +08:00
    看着界面很不错,不过有其他顺手的工具了,赞一个
    Zeyes
        45
    Zeyes  
       2023-08-25 08:54:02 +08:00
    价格太贵,这种是工具,还搞包年,typora 都没这么飘。
    MrHyde
        46
    MrHyde  
       2023-08-25 09:01:59 +08:00 via iPhone
    问个问题:flutter 现在开发桌面端 app ,效果咋样?体验咋样?
    AilF
        47
    AilF  
       2023-08-25 09:04:32 +08:00
    这种的个人使用建议出买断
    lanten
        48
    lanten  
       2023-08-25 09:30:54 +08:00
    好用是好用的,但有个致命问题:和 v2ray 打架了,两者都走的系统代理,有我无他,一个生效另一个就失效
    learningman
        49
    learningman  
       2023-08-25 10:07:37 +08:00 via Android
    在全平台支持 HTTP1 、HTTP2 和 HTTP3(QUIC)协议
    HTTP3(QUIC)暂不支持
    呃呃
    zorui
        50
    zorui  
       2023-08-25 10:18:10 +08:00
    @xrr2016 参考隔壁国产自主可控的 vscode ide /t/968064 。 好东西肯定认可, 为啥一定强调“国产”?
    maotao456
        51
    maotao456  
       2023-08-25 10:30:47 +08:00
    我说一下问题吧,关闭软件后没有自动取消系统代理状态,然后上不了网。
    zzq825924
        52
    zzq825924  
       2023-08-25 11:00:01 +08:00
    是不是有点便宜
    qb20150806
        53
    qb20150806  
       2023-08-25 11:50:06 +08:00
    和代理冲突
    techmale
        54
    techmale  
       2023-08-25 11:55:47 +08:00
    "We promise that users do not need to pay extra for the mobile apps, free to use as long as you purchase a license."

    如果是这样,价格卖低了 😆
    rj
        55
    rj  
       2023-08-25 11:57:30 +08:00
    下载一个试试
    skiy
        56
    skiy  
       2023-08-25 12:03:42 +08:00   ❤️ 1
    @MegatronKing

    默认缺少 gtk 依赖
    ```bash
    sudo apt-get install libdbusmenu-gtk3-4
    ```


    “是不是应该是 installer 的问题”???

    解包
    ```bash
    dpkg-deb -x reqable.deb reqable
    ```

    再用 tree 查看
    ```bash
    .
    └── usr
    └── share
    ├── applications
    │   └── reqable.desktop
    ├── pixmaps
    │   └── reqable.png
    └── reqable
    ├── data
    │   ├── flutter_assets
    │   │   ├── AssetManifest.bin
    │   │   ├── AssetManifest.json
    │   │   ├── AssetManifest.smcbin
    │   │   ├── assets
    │   │   │   ├── fonts
    │   │   │   │   ├── ReqableDesign.ttf
    │   │   │   │   └── RobotoMono-VariableFont_wght.ttf
    │   │   │   └── images
    │   │   │   ├── common
    │   │   │   │   ├── dark
    │   │   │   │   │   ├── ic_tray_active.png
    │   │   │   │   │   └── ic_tray_normal.png
    │   │   │   │   ├── ic_tray_active.ico
    │   │   │   │   ├── ic_tray_normal.ico
    │   │   │   │   ├── ic_unlock_feature.png
    │   │   │   │   ├── light
    │   │   │   │   │   ├── ic_tray_active.png
    │   │   │   │   │   └── ic_tray_normal.png
    │   │   │   │   ├── qrcode_ca_link.png
    │   │   │   │   └── qrcode_qq_group.jpg
    │   │   │   ├── en-US
    │   │   │   │   └── certificate
    │   │   │   │   ├── android_ca_install_state.png
    │   │   │   │   ├── android_wifi_proxy.png
    │   │   │   │   ├── chrome_certificate_setup1.png
    │   │   │   │   ├── chrome_certificate_setup2.png
    │   │   │   │   ├── firefox_certificate_setup1.png
    │   │   │   │   ├── firefox_certificate_setup2.png
    │   │   │   │   ├── ios_ca_install.png
    │   │   │   │   ├── ios_ca_install_state.png
    │   │   │   │   ├── ios_wifi_proxy.png
    │   │   │   │   ├── mac_certificate_setup1.png
    │   │   │   │   ├── mac_certificate_setup2.png
    │   │   │   │   ├── windows_certificate_setup1.png
    │   │   │   │   └── windows_certificate_setup2.png
    │   │   │   └── zh-CN
    │   │   │   └── certificate
    │   │   │   ├── android_ca_install_state.png
    │   │   │   ├── android_wifi_proxy.png
    │   │   │   ├── ios_ca_install.png
    │   │   │   ├── ios_ca_install_state.png
    │   │   │   ├── ios_wifi_proxy.png
    │   │   │   ├── mac_certificate_setup1.png
    │   │   │   ├── mac_certificate_setup2.png
    │   │   │   ├── windows_certificate_setup1.png
    │   │   │   └── windows_certificate_setup2.png
    │   │   ├── FontManifest.json
    │   │   ├── fonts
    │   │   │   └── MaterialIcons-Regular.otf
    │   │   ├── kernel_blob.bin
    │   │   ├── NOTICES.Z
    │   │   ├── packages
    │   │   │   └── reqable_framework
    │   │   │   └── assets
    │   │   │   └── fonts
    │   │   │   └── ReqableIconFont.ttf
    │   │   ├── shaders
    │   │   │   └── ink_sparkle.frag
    │   │   └── version.json
    │   └── icudtl.dat
    ├── lib
    │   ├── esbrotli-linux64.so
    │   ├── libapp.so
    │   ├── libayatana-appindicator3.so.1
    │   ├── libayatana-indicator3.so.7
    │   ├── libdesktop_drop_plugin.so
    │   ├── libdesktop_multi_window_plugin.so
    │   ├── libfile_selector_linux_plugin.so
    │   ├── libflutter_linux_gtk.so
    │   ├── libmenubar_plugin.so
    │   ├── libobjectbox_flutter_libs_plugin.so
    │   ├── libobjectbox.so
    │   ├── libplatform_device_id_linux_plugin.so
    │   ├── libreqable_cronet.so
    │   ├── libreqable_flugin_plugin.so
    │   ├── libreqable_http.so
    │   ├── libreqable_netbare.so
    │   ├── libtray_manager_plugin.so
    │   ├── liburl_launcher_linux_plugin.so
    │   └── libwindow_size_plugin.so
    └── reqable
    ```

    怎么看都知道源程序的二进制文件在 /usr/share/reqable 。而 google chrome 等其它应用都是在 /opt
    ```bash
    tree -L 2 /opt/google
    /opt/google
    └── chrome
    ├── chrome
    ├── chrome_100_percent.pak
    ├── chrome_200_percent.pak
    ├── chrome_crashpad_handler
    ├── chrome-management-service
    ...
    ```

    ```bash
    tree -L 1 -d /opt/
    /opt/
    ├── apps
    ├── balenaEtcher
    ├── bytedance
    ├── containerd
    ├── freedownloadmanager
    ├── google
    ├── kingsoft
    ├── microsoft
    ├── MindMaster-10
    ├── QQ
    └── vivaldi
    ```

    当然,我不了解相关规则。可能放在 /usr/share/ 下也符合规范。我只是从其它的软件角度看而已。
    wukaige
        57
    wukaige  
       2023-08-25 12:16:56 +08:00
    好东西,支持一下。
    shen13176101
        58
    shen13176101  
       2023-08-25 14:37:40 +08:00
    添加重写规则,可以实现去广告???
    johnnyNg
        59
    johnnyNg  
       2023-08-25 15:00:44 +08:00
    公司安全软件报了恶意进程,安全那边找我了😅
    MegatronKing
        60
    MegatronKing  
    OP
       2023-08-25 15:36:23 +08:00
    @johnnyNg 非常抱歉,我也不知道怎么回事。或者,你可以给安全同事安利下 Reqable ,说不定他们也有使用需求?
    2020beBetter
        61
    2020beBetter  
       2023-08-25 16:15:53 +08:00
    官网打不开了
    kuanat
        62
    kuanat  
       2023-08-25 16:55:23 +08:00 via Android
    做得挺好的啊。

    请问 http3/quic 抓包路线图计划吗?这个功能虽然和 http 1/2 列在一起,但完全没法复用已有的功能框架,而且实现这个功能需要程序外做很多工作。

    因为我自己前两个月就在写 quic mitm 的 poc ,还是非常麻烦的,而且现在 quic 各个实现之间 interop 还不是很理想。如果 op 这边能做个商业成品就最好了。
    987N
        63
    987N  
       2023-08-25 16:57:15 +08:00   ❤️ 1
    有点眼熟,https://proxyman.io/ ,还是说都长的差不多,是不是我 PTSD 了
    iold
        64
    iold  
       2023-08-25 16:58:42 +08:00
    个人订阅怎么还会比企业订阅定价高呢
    FightPig
        65
    FightPig  
       2023-08-25 17:00:04 +08:00
    看着不错,晚点试下
    ly529
        66
    ly529  
       2023-08-25 17:31:33 +08:00
    挺好的,建议添加个:弱网环境模拟
    lneoi
        67
    lneoi  
       2023-08-25 17:32:37 +08:00
    试了下还不错.官网下不来, 我去 github 下的.
    图标第一眼看着很像迅雷 2333
    blackcrystal
        68
    blackcrystal  
       2023-08-25 18:43:12 +08:00
    HttpCanary 付费版老用户路过。当初亲眼见证了 HttpCanary 从 2019 年 4 月群里只有十几人开始到热度暴涨,从软件可能被用于破解其它程序到国内版 HttpCanary 被限制,从最后 HttpCanary 官方群解散到软件下架停更与破解版泛滥。

    非常开心今天能在 v2 看到 Reqable 打赢复活赛。
    8675bc86
        69
    8675bc86  
       2023-08-25 19:42:28 +08:00
    看到国产,点个赞,弯道超车。
    exiahan
        70
    exiahan  
       2023-08-25 19:53:09 +08:00
    牛哇,老哥之前的那个 Canary 也很牛。
    oIMOo
        71
    oIMOo  
       2023-08-25 19:56:39 +08:00
    @iold #64 零售和批发的关系?
    tairan2006
        72
    tairan2006  
       2023-08-25 20:07:53 +08:00 via Android
    好顶赞
    skiy
        73
    skiy  
       2023-08-25 20:09:42 +08:00
    刚有空试了下。Linux 平台下抓包功能正常。正常抓取 iOS APP 的接口(包括小程序接口)。

    非常棒。
    Y25tIGxpdmlk
        74
    Y25tIGxpdmlk  
       2023-08-25 20:24:42 +08:00
    你猜怎么着,竟然出奇的好用,完成度很高!
    当前用的一直是 Charles ,我看到各种抓包工具都喜欢下载来用用看。今天试了下这个,一开始以为是个人开发者随便写的半成品,结果发现这么棒。。

    直接替换 Charles 了,以后就用这个了。希望越来越好!!
    Y25tIGxpdmlk
        75
    Y25tIGxpdmlk  
       2023-08-25 20:32:24 +08:00
    提个建议,这排图标的提示气泡显示到上面去,不然那会被鼠标指针挡住,强迫症看着好难受啊
    evemoo
        76
    evemoo  
       2023-08-25 21:13:33 +08:00
    HTTP Canary 支持 +1
    不过 reqable 免费的 api 集合太少了,只能建立两个有点离谱
    laibin6
        77
    laibin6  
       2023-08-25 21:54:08 +08:00
    本想放弃 proxyman ,看了一下 pricing 还是继续用 proxyman
    kingjpa
        78
    kingjpa  
       2023-08-25 22:12:36 +08:00
    点赞
    JohnSmith
        79
    JohnSmith  
       2023-08-25 22:24:34 +08:00 via Android
    国产 ptsd
    f14g
        80
    f14g  
       2023-08-25 22:26:15 +08:00 via Android
    很强。点赞
    MegatronKing
        81
    MegatronKing  
    OP
       2023-08-25 23:25:39 +08:00
    @laibin6 这个我真的不是很能理解,proxyman 一台设备 69 刀,reqable window+mac+linux 各 1 台设备 79rmb ,后面还会提供移动端独立应用,也就是 5 台设备总共 79rmb ,不香吗?
    cokey
        82
    cokey  
       2023-08-26 00:21:14 +08:00
    支持,难得有真国产做的良心软件!
    d7101120120
        83
    d7101120120  
       2023-08-26 02:27:22 +08:00
    支持国产的优秀软件,现在手机上还安装着作者的 http canary ,直到现在我觉还是 android 端最好用的抓包工具。期待后续 reqable 的 android 版本。
    Sdyhgc
        84
    Sdyhgc  
       2023-08-26 02:56:24 +08:00 via Android
    一定要和花瓶一样支持自定义根证书,最好能手动指定解析类型,花瓶未识别的 websocket 就不行
    silvernoo
        85
    silvernoo  
       2023-08-26 03:07:01 +08:00
    一个人肝出来的吗
    lopssh
        86
    lopssh  
       2023-08-26 06:36:58 +08:00 via Android
    支持,请问这个项目对 ja3/ja3s/jarm 指纹方面有没有做处理?比如能否正常抓 openai 那个 chatgpt 聊天页面上的 https 数据包?
    cquan
        87
    cquan  
       2023-08-26 08:38:46 +08:00
    这头像不是小黄鸟吗
    lisxour
        88
    lisxour  
       2023-08-26 09:01:01 +08:00
    像这些基础的东西都只给一两个的限制,吃相是不是太难看了?

    sunny1688
        89
    sunny1688  
       2023-08-26 09:09:29 +08:00   ❤️ 1
    应用层抓包?
    MegatronKing
        90
    MegatronKing  
    OP
       2023-08-26 09:49:55 +08:00 via Android
    @lopssh 这个没有具体测试过。
    MegatronKing
        91
    MegatronKing  
    OP
       2023-08-26 09:56:19 +08:00 via Android   ❤️ 2
    @lisxour 您说得对,就是难看,纯爱发电才好看。或者学习下国外软件,比如 Charles ,不注册许可证不给用,或者 Fiddler Everywhere 每年不交个 120 刀软件也别想进去。
    wkong
        92
    wkong  
       2023-08-26 10:06:44 +08:00
    @MegatronKing 很多人都想白嫖,白嫖就算了,还很理直气壮喷你让他白嫖的不爽😄
    sslyxhz
        93
    sslyxhz  
       2023-08-26 10:18:05 +08:00 via Android
    看头像是 httpcanary 的开发者?
    simo
        94
    simo  
       2023-08-26 10:24:45 +08:00
    看来是我用 flutter 太肤浅了
    vueli
        95
    vueli  
       2023-08-26 11:04:52 +08:00
    强烈要求做一个安卓手机的版本,公司测试机安卓
    killadm
        96
    killadm  
       2023-08-26 11:29:13 +08:00 via Android
    感谢,用过小黄鸟,很好用!
    weijancc
        97
    weijancc  
       2023-08-26 11:51:01 +08:00
    看起来不错哟
    Biggoldfish
        98
    Biggoldfish  
       2023-08-26 11:55:55 +08:00 via Android
    颜值挺不错

    但是国产 闭源 可以截获网络流量 MITM 我还是敬而远之吧
    llsquaer
        99
    llsquaer  
       2023-08-26 12:23:41 +08:00
    这个好用。已经从 Fiddler 转这个了,最新版很不错,可以直接复制 crul ,可以直接生成代码了。比 Fiddler 方便多了。
    现在调试自动滚动到底部,还没修改啊。大佬啥时候加个开关啥的,可以自动滚动,自己滚动眼睛看花
    skiy
        100
    skiy  
       2023-08-26 12:38:37 +08:00
    @llsquaer 你点按“ID” 倒序查看好些。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5577 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 06:37 · PVG 14:37 · LAX 22:37 · JFK 01:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.