一个自动移除链接中追踪参数同时展开追踪短链接的 Mastodon Bot。
将 .env.sample
复制为 .env
同时修改实例名及访问令牌。
$ bash run.sh
Q:什么是URL BOT?
A:URL Bot ( @url ) 是一个自动净化嘟文中追踪链接及短链接的机器人。
Q:为什么要移除链接中的追踪参数?
A:追踪参数,即含有 utm_*、spm、scm 这类非必须,主要用于追踪访问者来源,点击来源的 URL 参数。
这些参数对点击者的追踪,损害了点击者的隐私。
除此而外,某些网站的追踪链接的追踪参数还包含了一些分享者的个人信息,比如说 bilibili 的 seid、bbid 。这些含有分享者的个人信息的追踪链接除了如前所述更加严重地损害了点击者的隐私外,还同时暴露了分享者的个人信息,带来一定的安全隐患。
为了保护点击者与分享者的隐私与安全,所以要移除链接中的追踪参数。
Q:为什么要展开短链接?
A:除少数同平台短链接(youtu.be、redd.it)不会带来额外的追踪问题。
短链接平台会追踪点击者的来源、地域、使用设备等信息。使用短链接,就是使用含追踪参数的追踪链接,同样会损害点击者的隐私。
除此而外,短链接还带了许多的特有问题。
短链接隐藏了真实地址,如欲获取真实链接地址,必须要经过短链接平台的跳转。
如果短链接平台停止链接的跳转,甚至短链接平台直接倒闭关门了。那么这些短链接背后的真实地址便再也无法获取,查看该嘟文的嘟友便失去了访问这些网站可能,即使链接指向的网站实际上还存在。
新浪微博 t.cn 短链接,现在对于一些域名已经会弹出未微博备案警告,未来直接取消未微博备案域名的跳转也不是不可能的事情。
此外,一些短链接服务默认最长3月过期;还有一些短链接服务支持后续修改跳转目的地。如此种种,都极大影响了阅读您嘟文的嘟友的使用体验。
为了解决上述问题,URL BOT会自动展开短链接。
Q:为会么回复嘟文,即使是回复 Follows-only 可见度的嘟文,也以 Unlisted 可见度回复?
A:URL BOT 对于非 Direct 嘟文,一律以 Unlisted 回复。
这样做是为了让查看该嘟串的所有嘟友均可以看见回复嘟文,以避免其点击追踪链接。
如前所述,追踪链接同时损害了分享者(嘟文作者)与点击者(嘟文读者)的权益。但追踪链接更多损害的是点击者(嘟文读者)的权益。
以 Unlisted 回复 Follows-only 嘟文,虽然损害了嘟文发送者的利益,但对于大多数不含个人信息的参踪参数而言,这种损害是非党轻微的。
如果以 Follows-only 或 Direct 回复,那么必然有一部分嘟文读者无法看见净化后链接,进而点击了追踪链接。因此出于保护点击者(嘟文读者)的考量,将 BOT 设计为非 Direct 嘟文,一律以 Unlisted 回复。
此外,目前对于 Follows-only 嘟文会额外发送风险提醒。
Q:为什么"需刪除嘟文的父嘟文已被刪除"时 delete 指令才会生效?
A:如果原嘟继续存在,那么删除回复意义不大,因为用户可以从未被删除的原嘟文处找到含有追踪参数的链接。
Q:忘了发 delete 指令,回复嘟文会持续暴露追踪链接吗?
A:对于失去父嘟文的孤儿回复嘟文,BOT会定期(目前暂定每8小时)进行检测删除。
因此即使未发送 delete 指令,只要含有追踪链接的原嘟文被移除,相应回复嘟文也将在一段时间后自动移除。
Q:URL BOT 会带来额外隐私暴露吗?
A:URL BOT 回复附带原链接,URL BOT 以 Unlisted 回复,仅在原嘟文为 Follows-only 可见度时带来额外的隐私泄露。
默认情况下 URL BOT 只会响应公开(Public)属性的非回复性嘟文,即会出现在 Federated Timeline 的那些嘟文。这部分嘟文是全局可见的。
对于更加隐私的 Unlisted 嘟文,则需要您主动关注 URL BOT 之后,URL BOT 才会进行响应。
真正会造成额外的隐私泄露的 Follows-only 嘟文,您需要主动关注 URL BOT,且 URL BOT 成功回关您帐户之后,才会进行响应。
对于锁嘟了的帐户,您可以轻松拒绝 URL BOT 对您的关注请求。
对于未锁嘟帐户,Follows-only 嘟文并未提供额外保护。