我是先实现的桌面端( Windows + MacOS + Linux ),花了一年多的时间,用 Flutter 摸爬滚打,到现在有了让我比较满意的效果。
国庆节后回来开始适配移动端,到这个月中旬搞完,差不多两个月的时间。然后又花了一周的时间完成了应用商店上架。
目前为止,整个应用框架体系都差不多完善了,各大平台的特性也都实现地差不多了,后面就是专注于业务,一次编程,多平台运行。高效的产出,多平台覆盖面,相比于竞品,可以带来更多的优势。
关于项目的实践过程,欢迎阅读这两篇博客:
补充一些想法。其实本来不打算这么快出移动端,但是桌面端收费渠道是个难题,有App Store和Play Store这两个收款渠道,可以方便出海,所以在国庆之后全力推出移动端了。Flutter框架给全平台提供了可能,对于我们这些独立开发者而言,更多的平台意味着更多的机会,所以YYDS不为过。独立开发不易,感谢大家支持,提供一些试用的License(30天),兑换处:https://license.reqable.com/gift
还剩这几个,贴在下面,别的不用试了。
1
darcyC 362 天前
点赞
|
2
murmur 362 天前
这不就是个 postman 么,chrome 自带的调试工具应该能搞到部分的源码,要不那么多外挂 js 和网络调试怎么做到的
flutter 优势在哪里。。复用直接就没了 |
3
0o0O0o0O0o 362 天前
|
4
murmur 362 天前
@0o0O0o0O0o 安卓怎么抓包,安卓现在不智能 root 了把中间证书扔进去才能解密么
|
5
wusheng0 362 天前 via Android
感谢分享
|
6
MegatronKing OP @0o0O0o0O0o 其实这俩人群都有需求,我的想法是大一统。我觉得这俩功能本身就是相辅相成的,比如 postman 有抓包功能,charles 也能发送 api 请求。
|
7
MegatronKing OP @murmur 不用 root ,中间证书直接安装到用户证书目录。浏览器用火狐,开发者模式里面启用信任 Android 证书; App 项目配置 network_config.xml 信任用户证书。
|
8
0o0O0o0O0o 362 天前 via iPhone
@murmur #4 抓包工具其实没必要关心用户是怎么安装、信任证书的,重打包、root 、自己编译添加到 ROM 或是各类免 ROOT 框架
|
9
buf1024 362 天前
好奇问一问,这个软件收入情况如何?
|
10
LRf5sETzOgzGvk6u 362 天前
|
11
MegatronKing OP @buf1024 实话说,养活自己都有点难。众所周知吧,赚程序员的钱是很难的,赚国内程序员的钱更难。我目前的策略是攒用户量,几乎所有功能都是可以免费用的,付费率就更低了。产品打磨也差不多了,准备明年出海,收入可能会好些。
|
12
MegatronKing OP @tongtongqaq 感谢老板支持👍。
|
13
shockerli 362 天前
感觉跟 Proxyman 很像呢
|
14
ShadowPower 362 天前
我试用了一下 OP 的软件,发现一个问题。
在 Windows 上运行的时候,系统会提示它正在使用位置信息。 但这款软件的功能,按理来说不需要位置信息。于是,这是 bug 吗? |
15
yalay 362 天前
赞
|
16
MegatronKing OP @ShadowPower 没有使用位置信息,哪儿看到的呢,可以截个图我看看吗。
|
17
ShadowPower 362 天前
|
18
MegatronKing OP @shockerli 同类型软件不一样是不可能的,Charles ,Proxyman ,Postman ,Fiddler 和 Insomnia 等竞品我都参考了,没必要自己闭门造车,但原封不动照抄那也没有,用了之后你会发现很多不一样,有的功能没别人做的好,有的功能比别人做的好。
|
19
shockerli 362 天前
@MegatronKing 刚试了下,还不错。已推荐给测试去试用。UI 感觉还可以更丝滑点
|
20
kingofzihua 362 天前
泰酷辣
|
21
lstz 362 天前 via iPhone
请教一下楼主有用软件签名吗?想了解一下费用方面
|
22
xiangchen2011 362 天前
感觉挺好的
|
23
zacard 362 天前
支持
|
24
swpuqfy201106 362 天前
先下载试用,好用的话愿意支持
|
25
MegatronKing OP @lstz 有的,这个可能是除了硬件设备外最大的开发成本了。苹果注册开发者 99 刀,签名证书就有了; Windows 买的 OV 签名证书,大概 2600 ,国外会邮寄个 U 盘个你。总共加起来成本在 3500 差一点,每年都要给,非常肉疼。但是没办法,用户好不容易都下载了,一点打开提示不安全,怪操蛋的。
|
26
bsulike 362 天前
希望越来越好
|
27
zsxzy 362 天前
@MegatronKing 一年 2600 有点贵..我淘宝买的 3 年 3k sectigo. 应该靠谱..
|
28
V1Eerie 362 天前
在用高级会员,想提个需求。
1.能不能在请求域名的时候自定义对应的 ip ,因为业务 api 在内网有一个测试服,对应外网的正式服,每次都改系统的 host 文件不太优雅。 2.当请求网址的证书不被系统信任的时候能不能继续发起请求,而不是当前版本的直接无法获取 api 的返回内容并给出一个报错。 |
29
LRf5sETzOgzGvk6u 362 天前
@MegatronKing #12 有个小建议
1.断点功能的操作逻辑我个人感觉像 Telerik Fiddler(不是 Fiddler Everywhere 那个版本)是更符合操作逻辑的。 目前软件断点方面和 Proxyman 很像,我感觉这样子并不是很好。。因为每次需要用到断点功能,都需要对一个新网址写一次通配符。而且有时候也并不一定准确知道是哪个网址发出的请求。也可以增加一个一键全局断点的功能。 还有每次断点生效就会弹窗,感觉像 Fiddler 那样更直观点,就是在原有列表里对断点的请求用一种颜色标记突出。 |
30
hooych 362 天前
太赞了
|
31
xuanyuanaosheng 362 天前
windows 的安装包能否提供安装的时候只为本人安装的选项?
|
32
MegatronKing OP @V1Eerie
> 1.能不能在请求域名的时候自定义对应的 ip ,因为业务 api 在内网有一个测试服,对应外网的正式服,每次都改系统的 host 文件不太优雅。 有个镜像功能,应该能满足你的这个需求。 > 2.当请求网址的证书不被系统信任的时候能不能继续发起请求,而不是当前版本的直接无法获取 api 的返回内容并给出一个报错。 这个不行,报错是客户端报的,客户端已经停止请求了,所以中间人不存在继续发起请求这个事情。 |
33
MegatronKing OP @tongtongqaq
> 断点功能的操作逻辑我个人感觉像 Telerik Fiddler(不是 Fiddler Everywhere 那个版本)是更符合操作逻辑的。 我不用 Fiddler ,所以参考他不多。交互更多的是参考 Charles 和 Proxyman ,当然 Proxyman 也是参考的 Charles ,其实我觉得这种交互挺好的。颜色标记突出,目前没有,后面会合并到自动高亮功能里面。 |
34
MegatronKing OP @zsxzy OV 现在改成硬证书(邮寄 U 盘)了,所以今年价格涨了。不知道老哥买的是不是也是这种,如果也是这种求推荐,那我太冤大头了。
|
35
freebattle 362 天前
太赞了,之前花大精力破解 fiddler everywhere ,这个完全平替了
|
36
MegatronKing OP @ShadowPower #17 感谢反馈,终于找到原因了。项目里面引用了一个三方库 https://pub-web.flutter-io.cn/packages/permission_handler 只要依赖了就会出现位置访问这个现象,Flutter 里面依赖了就会自动注册插件,这个库在注册逻辑里面应该是调用了一些权限,我试试在下个版本能不能处理掉。非常感谢提醒,如果你有或者打算使用 reqable 的话,可以邮件我 [email protected] ,我送你个会员许可证。
|
37
Dream11 361 天前
|
38
MegatronKing OP @Dream11 肯定是 bug ,试试这个命令输出什么:networksetup -listallnetworkservices
|
39
LeeeeeeezQ 361 天前
你这确实适合出海,国外定价和付费意愿都搞,国内基本白嫖,proxyman 似乎卖的不错,不过这部分就是得看运营和宣传了,已经跟开发没什么太大关系。功能层面够用就好了,先把付费做了,能养活自己最重要。
|
40
zsxzy 361 天前
@MegatronKing 一样的, 加拿大快递的 usb 硬件, sectigo 颁发的 OV 证书..
|
41
tomorrow092 361 天前
由于 Android 7.0 起不再信任用户证书,需要将 CA 根证书安装到系统证书目录,这要求能够 Root 设备并解锁 System 分区。
这个是说 7.0 以后不能用吗? |
42
alwjlola 361 天前 via Android
有点难,抓包的核心场景还是在 桌面端,特别是做移动端开发的程序员,抓包软件就是刚需高频工具,我基本 24 小时开着,他们是最精准的目标用户,大部分开发应该都是使用 mac 开发,mac 上最好用的是 proxyman 他的交互非常友好和顺畅,我觉得 lz 机会比较小. 可以从跨平台角度宣传
|
43
chenzhuyu 361 天前
Charles ,Proxyman 用过
Charles 太卡 Proxyman 免费版要设置单独的域名,也能够用 最近几个月开始用 reqable,感觉除了操作逻辑不习惯以外,其他功能都很好用 |
44
Features 361 天前
付费用户路过
|
45
investor 361 天前
@MegatronKing 讲的很现实,也很对哦。
|
46
airchaoz 361 天前
之前有个软件叫 HttpCanary 是 OP 你开发的吗,我还买了 pro ,结果现在下架了。
|
47
toneal 361 天前
高手 666
|
48
MegatronKing OP @airchaoz
> 之前有个软件叫 HttpCanary 是 OP 你开发的吗,我还买了 pro ,结果现在下架了 是我开发的,过去时了,买了的话可以领取 Reqable 补偿,全平台可用: https://reqable.com/zh-CN/discount#httpcanary%E8%A1%A5%E5%81%BF |
49
kingjpa 361 天前
上链接吧,付费支持下
|
50
OutOfMemoryError 361 天前
有考虑过 lifetime license 吗
|
51
LRf5sETzOgzGvk6u 361 天前
@MegatronKing #33
这是 fiddler 断点功能的显示逻辑,在 ui 页面 断点的请求是和正常请求同一窗口层级的。他断点有一个我比较喜欢的功能就是全局断点。因为有时候突然需要用到断点功能,拦截一两个请求分析,这时候还需要再打开列表写俩通配符,或者都不知道接口具体域名的情况,还得先正常走一波操作,然后分析一遍数据包,接着再写通配符添加到列表内。感觉这样真的太累了。而且断点就像这样直接展示在同一层级,我认为比每次断点一个请求都弹一个额外的窗口要好 |
52
MegatronKing OP @tongtongqaq #51
我明白你的意思了,GUI 操作确实不顺畅。其实我规划后面推出一个类似 VS Code 的 Shift + Control + P 的功能,打开一个命令输入框。断点的话,输入 br all 断点全部,br host:reqable.com 断点域名等等。 |
53
MegatronKing OP @kingjpa 感谢🌹: https://reqable.com/
|
54
WhatTheBridgeSay 361 天前
刚看到新产品,之前买过 HttpCanary ,然后发现还有优惠补偿,唯一的缺点就是调查问卷用的腾讯还得登录帐号才行,建议加个 Google 问卷之类的完全可以免登录填写的
> 通过 Google Play 购买的用户,由于无法和 Google Play 的订单互通,需要手动填写👉问卷,我们确认后会通过邮箱发送礼品卡券码。 |
55
wavever 361 天前
这个就叫技术厉害,🐮
|
56
hanchenzichen 361 天前 via Android
大佬啊😭我等你的二代产品等的好辛苦啊😭
|
57
xiangchen2011 361 天前
@MegatronKing #18 这话说得好,有竞品是好事,没必要非得每一处都不一样,取长补短就好
|
58
findex 361 天前
点赞支持!
|
59
yuyang3 361 天前
别的很不错,就是断点功能希望能优化下,每次写通配符太麻烦了
|
60
southpark 361 天前
厉害,很想支持的,但是不喜欢订阅,喜欢买断制,还有一点,为啥用小黄鸟的 logo 啊
|
61
MegatronKing OP @southpark HttpCanary 也是我开发的,算是 Reqable 的前世吧。
|
62
xuanqb 361 天前
GT-MXD6R-HGMS2-KCE9E-E6NRM-X6ELW 已使用
|
63
southpark 361 天前
@MegatronKing #61 哦哦,原来是这样哦,膜拜大佬
|
64
southpark 361 天前
@MegatronKing #61 是否有考虑过出个买断版的,哪怕贵点也没关系
|
65
yuyang3 361 天前
GT-22WBA-DA6B5-E8FT7-JT579-UDMC9 已使用
|
66
YlxhjP0CEnQO54M5 361 天前
试试,GT-TBZF7-C2YGE-X3J9M-EUKEE-3EHHH 已使用
|
67
suyulingxm 361 天前
GT-2B2XQ-NRTTQ-DEPT2-AH4QS-YHHXW 已使用,选对了框架
|
68
Y25tIGxpdmlk 361 天前
|
69
MegatronKing OP @Y25tIGxpdmlk 感谢建议,我确实没注意到冲突的问题。CA 证书都可以导入导出 p12 文件,你可以所有设备都用同一个证书先解决这个问题。邮件我下 [email protected] ,给你个礼品卡吧。
|
70
Curtion 361 天前
文章写得不错啊
|
71
halou12 361 天前
GT-HVA8L-34B2G-GR88L-J7Z8X-CDMMQ 已用
|
72
hzz2 361 天前
安卓微信小程序的包能抓吗
|
73
begeneral 360 天前
加油
|
74
ae86 360 天前
苹果手机怎么安装证书啊,我点了 app 的下载了,然后不知道怎么操作了,设置里面也没有信任安装证书的提示
|
75
ac169 360 天前
初学 Flutter 的一些疑惑 ( https://www.v2ex.com/t/960373 ) 能指教一下吗?
|
76
superedlimited 360 天前
发现一个问题,reqable 启动时,clashx 的代理会自动断开,即使关闭 reqable 的 proxy - system proxy ,下次再次启动 reqable 时,依然 clashx 会断开。请问这是 bug 吗,如果是的话,可否修复?
|
77
MegatronKing OP @superedlimited proxy - auto override 关闭就好了
|
78
superedlimited 360 天前
@MegatronKing 可以了👍
|
79
NOspy 360 天前
手机上抓包的小黄蜂还是蜂鸟啥的是你做的吗?
|
80
asong 360 天前
不得不说,很强👍
|
82
iX8NEGGn 360 天前 via iPhone
网关里面的“仅允许”改成“允许”会不会更好一点,当有多个白名单时,仅允许只有一个生效,在“ *? 匹配”方式下可能根本满足不了,即使是正则表达式也要写一个复杂的正则
|
83
bkmi 360 天前
买了 Charles 一直不适配 Apple Silicon 让我一直耿耿于怀,催了几次也没回应,果然个人开发者挣够了钱就没动力更新了;过了两年多终于适配了,却来了个大版本升级,幸亏我早已转投 Proxyman 了。
之前试过楼主的 Reqable ,脚本语言用的 Python 直接把我劝退,还是觉得 JS 的点点点好用。 Android 端还是很不错的,Android 上一直缺好用的抓包工具 另外友情提醒,Google Play 禁止应用内引导直接下载其他 apk ,有可能会被下架。 |
84
MegatronKing OP @iX8NEGGn
> 网关里面的“仅允许”改成“允许”会不会更好一点,当有多个白名单时,仅允许只有一个生效,在“ *? 匹配”方式下可能根本满足不了,即使是正则表达式也要写一个复杂的正则 是我描述的问题,实际上机制是允许多个规则的而不是一个,下个版本我把描述改下,谢谢反馈。 |
85
MegatronKing OP @bkmi #83 如果只用 Mac Proxyman 应该是够用了,但是我觉得 Proxyman 在其他方面就没什么优势了。Mac 上他是用 swift 开发,另外还写了一套 iOS 的,windows 和 linux 又用了 electron ,多框架多语言的技术选型必然会导致开发维护成本上升,也缺乏对移动端足够的支持。关于脚本语言的选择,前端同学肯定是用 JS 没得说,但是从发展趋势和脚本生态来讲,Python 必然是比 JS 更合适,也更加适合更广的人群,比如测试,后台,客户端。
|
87
justin2018 360 天前
|
88
justin2018 360 天前
楼主咨询下:
1 Mac + 1 Windows + 1 Linux 设备: 可以 3 台 Mac 使用吗? 1 Android + 1 iOS 设备:可以 2 台 iOS 设备使用吗? |
89
iX8NEGGn 359 天前
@MegatronKing #84 ,误会了,因为我是从 Charles 导出规则后复制到 Reqable ,Charles 规则中 HTTPS 的 URL 默认带有 443 端口,Reqable 中的 HTTPS 请求 URL 没有带 443 端口,导致没有放行,让我误以为是只有一个规则生效。
|
90
MegatronKing OP @justin2018
> 楼主 有计划入驻 SetApp 吗? 😁 刚刚给 SetApp 提交意向了,需要等待他们回复,他们入驻审核的要求应该不低。 > 1 Mac + 1 Windows + 1 Linux 设备: 可以 3 台 Mac 使用吗? 不行的。这样的情况,可以考虑企业版( 59.9 x 3 ),可以 3Mac + 3iOS + 3Android ;或者找用 windows 的同学合买专业版,他用 windows 你用 mac 错开。当然,从目前的机制来说,一个许可证也行,用到哪个设备就重新注册(点一下注册按钮)替换掉之前注册的设备,稍微麻烦一点点。 |
91
ggvoking 359 天前
虽然不是 web 相关开发者,但是偶尔也会用一下,简单好用易上手,而且不是万恶 Electron 。比什么臃肿的 postman 好用太多,业务抓包 api 测试很好用(主观意见,不是 web 开发者,不喜勿喷)。
但是提一个意见,打开软件的时候能不能不自动打开系统代理,可以开启抓包的时候再开启。以及停止抓包的时候,恢复到之前的系统的代理(记录之前的系统代理地址和端口)。不然用完我每次都要手动在去 clash 开关一下 |
92
MegatronKing OP @ggvoking
> 打开软件的时候能不能不自动打开系统代理 代理 -> 自动开启 关掉就可以了。 > 可以开启抓包的时候再开启。以及停止抓包的时候,恢复到之前的系统的代理 因为代理和抓包没有必然的关系,比如调试手机设备,不需要使用代理。所以目前的设计上,这两者是独立的。 |
93
Dream11 359 天前
@MegatronKing #38
|
94
Dream11 359 天前
@MegatronKing #38 使用 clash 时是可以自动代理的,使用 Reqable 时我关闭了 clash 的代理
|
95
monkeyWie 359 天前
前两天刚在知乎给你点了赞,没想到在这又碰到了,我也有开源一个基于 flutter 全平台支持的项目[Gopeed]( https://github.com/GopeedLab/gopeed),然后我也有开发过`MITM`抓包工具[proxyee]( https://github.com/monkeyWie/proxyee),所以看到你的分享非常感同身受,之前我也考虑用 flutter 做一个全平台通用的抓包工具,没想到已经有这样的产品出来,可以留个联系方式交流一下,或许我可以帮上忙。
|
96
MegatronKing OP @Dream11 #93 看起来正常,我刚刚发布了 2.1.0 版本,优化了下配置代理的逻辑,你可以试试。
|
97
MegatronKing OP @monkeyWie 大佬,你好,很荣幸。我的邮箱,[email protected]
|
98
x2ve 358 天前
|
99
monkeyWie 358 天前
@MegatronKing #97 不不不,你才是大佬🤣
|
100
Dream11 358 天前
@MegatronKing #96 已更新,还是不行,有什么排查方法吗
|