Ronny Cruz 开发了 Fediverse 实例注册筛查服务 Sentinel Signup。它读取待审批队列,对申请者打分,通过 admin API 执行批准或拒绝。但产品宣称兼容 Fediverse,文档却只写了 Mastodon。他从未在任何实例上实际验证过——这是一个连作者自己都承认的认知漏洞。
为了填补空白,他用 GoToSocial 搭建了零成本的测试环境。GoToSocial 是单 Go 二进制 + SQLite,空闲时仅占几百 MB,且实现了 Mastodon 客户端 API。过程中发现了两个坑:标准构建依赖 wazero 的 x86-64-v2 指令集,老版 VPS 的 CPU 不支持,需改用 nowasm 构建;实例放在 Cloudflare 后,nginx 未正确处理真实客户端 IP,导致所有注册请求显示为同一 CDN 地址。两个问题均已修复。
实际验证时,sidecar 的四次 API 调用均返回 200。关键问题:GoToSocial 的 admin API 是否暴露注册 IP?结果是 ip 字段正常返回,IP 信誉、子网速度、突发检测全部可用。也可以发现两个行为差异:GoToSocial 在邮件确认前就将注册放入待处理队列;admin CLI 缺少删除账户命令,仅支持禁用。这些差异不破坏兼容性,但需在文档中注明。
验证通过后,他故意保留 dry run 模式,不自动批准,避免意外增加审核负担。诚实限制:仅测试了一个实例、一个注册、自己的 IP,不是负载测试或对抗性测试,仅证明管线连通。目前 Sentinel Signup 在 beta 期免费,但素材中未提供 GitHub 仓库,官网链接不放入正文。
#开发者 #工具 #Fediverse #GoToSocial #Mastodon #SentinelSignup #兼容性测试 #自托管
@DevToolboxHub
