在开发Anubis (一种 Web AI 防火墙实用程序,旨在阻止猖獗的抓取行为破坏 Web 服务)的过程中,一个问题不断出现:
为什么挑战画面默认会出现动漫人物?
有时,这种说法还算礼貌。但有时,评论这种说法的人却缺乏基本的礼貌。
默认显示阿努比斯角色,以确保我不是唯一一个支撑绝大多数互联网的无偿依赖挂钩。
当然,没有什么能阻止你创建软件分支来替换美工资源。与其这样做,我更希望你支持这个项目,并购买 Anubis 商业版本BotStopper的许可证。这样做可以确保项目的可持续性,并且我不会在维护小型互联网网站向公众开放的过程中精疲力竭。
在某种程度上,我把阿努比斯吉祥物的存在当作“购物车测试” 。如果你愿意花钱购买无品牌版本,或者保留原版角色,我都会更认真地对待任何错误报告。这是一个积极的信号,表明你愿意为项目的成功投资,并帮助确保开发重要基础设施的人员不会被忽视。
网上有一些关于使用平均只停留 3 秒左右的动画图像的恶意评论,这让我开始怀疑自己是否应该一开始就将这段代码开源。动画图像是负载的,它的存在是一种社会成本。你可以随意替换它,但我也可以让程序的某些部分依赖于动画图像的存在,以便进行更复杂的检查,例如不依赖 JavaScript 的检查。
有趣的是,这给教育市场带来了一些问题,因为他们想要立即找到解决方案,而他们的采购流程却异常缓慢繁琐。我最终会找到一个平衡点,但谁能想到,我为了开玩笑而虚构的这家科技初创公司最终会在教育市场站稳脚跟呢?
这个角色加入的一大好处就是,它有点像是为项目做了一次病毒式营销。谁知道有多少人知道了阿努比斯的存在,知道了它的实用性,知道了它运行良好,以至于有人因为软件只显示了几秒钟的人工创作的艺术作品而在网上大发雷霆,从而开始抱怨?
我希望这个项目能够可持续发展;而且随着租金、食品价格和计算机硬件成本的持续上涨,我需要钱,因为我们的经济依靠的是钱,而不是 GitHub 明星。
我有一个不使用 JS 的解决方案,应该很快就能准备好(我一直在做很多关于浏览器工作原理的逆向工程,虽然这些逆向工程目前还不能发表),但我还需要研究如何对其进行混淆,这样爬虫程序就无法仅仅通过查看代码来修复他们的爬虫程序。目前为止,我正在研究在服务器上使用 WebAssembly 来实现这个功能。等我这边解决了这个问题,我会告诉大家更多信息。不久的将来还会有一些有趣的东西,包括但不限于一些外部服务,帮助 Anubis 更好地决定何时发起挑战或不发起挑战。
希望我做的NLNet应用能成功,买几个月开发时间的资金应该会很有帮助。Anubis已经获得了一些风险投资,所以这也是一个潜在的发展方向。
感谢您关注 Anubis 的开发!如果您想支持这个项目,请在 GitHub 赞助商 上给我一些捐款。
原文: https://xeiaso.net/blog/2025/avoiding-becoming-peg-dependency/