开发 Mole 客户端的初衷之一,是希望探索一条个人开发者工具变现的路径。在技术实现之外,商业模式的探索同样占据了我大量精力。
一、 “广告换带宽”:一个看似完美的闭环
我最初的想法是利用自己的 3M 带宽服务器,结合微信小程序的广告生态,实现一个“共享经济”的模式:
- 用户痛点: 临时需要公网 IP 、域名和稳定带宽进行本地调试。
- 我的资源: 闲置的服务器和域名资源。
- 解决方案: 用户在 Mole 客户端点击“连接”时,触发小程序激励广告。看完广告后,后端 API 自动为用户分配一个临时的、随机的子域名,并下发 frp 配置 Token。
这种 “桌面工具 + 小程序广告” 的模式,避开了复杂的桌面端支付系统,利用了微信成熟的广告体系。
二、 巨大的合规风险:理想照进现实的冷水
当我准备将这个服务正式上线时,我意识到一个致命的风险:内容合规性。
frp 是一个中立的工具,但它提供的“内网穿透”能力具有双面性。如果用户利用我的服务器进行不法活动(如诈骗、传播违规内容),作为服务器的所有者,域名备案的所有者,我将承担直接的法律责任。服务器和域名随时可能被封,甚至可能面临法律风险。
对于个人开发者而言,这种风险是不可承受的。
第一次变通:服务降级
为了规避风险,我做出了一个艰难的决定:放弃动态配置。
我将客户端锁定为只能穿透由我指定的、本地启动的特定服务(例如一个我开发的本地 Web 服务器)。这样我能控制内容源,降低风险。
但这导致了项目核心吸引力的丧失。用户使用 frp 是为了灵活性,锁定端口后,这个工具对懂技术的开发者来说毫无吸引力。项目陷入僵局。
三、 模式转型:从“服务型”到“纯工具型”的转变
既然提供“带宽服务”行不通,我决定回归“纯工具”本质。但我依然希望能产生收益。赞赏功能(Donation)是一个选项,但在竞争激烈的 frp GUI 市场,我的优势不大。
第二次变通:价值输出与技术写作
我找到了一个新的平衡点:将开发过程本身作为内容输出。
我决定将项目坚持写完,并将整个开发过程、技术难点、踩坑经验整理成系列文章,发布到我的个人网站上。
为什么选择网站(Web)而不是小程序?
- 内容呈现: Markdown 在 Web 上的渲染效果和代码块展示能力远超小程序。
- 流量与受众: frp 是一个全球流行的项目。网站面向全球用户(不仅限于微信生态),潜在受众更广。
- 变现方式: 通过网站流量联盟(如 Google AdSense)可以实现广告收益,风险远低于“流量中转服务”。
四、 结语:留下我的印记
Mole 项目的商业化之路虽然坎坷,但其衍生的价值却超出了我的预期。我不仅熟练掌握了 Wails 3、Go 进程管理、跨端通信等技术栈,还找到了一个可持续发展的方向。
我将继续开发一个公版(Generic Version)的 frp 管理工具——一个纯粹的、无商业绑定的、优雅的 frp GUI 客户端,并继续分享我的开发笔记。
即使不为了收益,我也想在这个技术世界,留下属于我的身影和实践经验。
本系列完结。感谢阅读!