Mastodon v4.0.0+ 對我來說最大的問題甚至都不是醜 UI 而是安全方面的顧慮
此前 Mastodon 站點的 search 功能是不對非登錄用戶開放的,而 v4.0.0+ 以後即便是非登錄用戶也可以用站點的 search,這就出現了一些對我來說很 concerning 的問題⋯⋯譬如說裏瓣是禁止了未登錄用戶訪問 profile 和 status 的,如果你沒有裏瓣帳號直接打開裏瓣管理員的 profile https://donotban.com/@admin 是什麼也看不到的,但是因為 v4.0.0+ 的 search 變成不需要登錄的功能了,現在即便你不登錄直接去草莓縣/o3o/bgme 搜裏瓣管理員或者裏瓣任何有和他們站通訊的用戶都能把 profile 和 status 搜出來(完全不是說這些升級了的站點有問題的意思)。雖然這個問題對於本身沒有禁止非登錄用戶訪問 public profile 和 status 的站點來說確實不是大問題,但我會非常非常非常不希望我的站為他人搜索本來對他來說可能不 accessible 的東西提供便利
本身 Mastodon 官方是提供了禁止未登錄用戶搜索的方法的(即在 .env.production 中添加 DISALLOW_UNAUTHENTICATED_API_ACCESS=ture
,但是因為這次更新完全改變了 public profile 和 status 的寫法,如果禁止了未登錄用戶使用 search 會導致站點的 public profile 和 status 同樣對非登錄用戶無法訪問(就是非登錄用戶直接開我的 profile 和我的 po 什麼也看不見),且會一直跳 '401 This method requires an authenticated user',甚至連站點的 /about 頁面這個理論上本來就不該需要登錄才能看的地方都在跳這個 error。這個問題我已經在 mastodon 的 github 反映了 [1],也被上游確認確實有這個 bug。但他們暫時還沒有修復
所以雖然我已經 merge 完了 v4.0.0+ 的代碼,並把非常大一部分東西都改回去了(比如那個醜到爆的 sidebar 被我重新移回了頂上),但是到上游修復這個問題我都不會更新
目前我试了一下,各个mastodon的app,只有tootle不兼容小森林的域名重定向,为了保证oauth 2登录服务的稳定性,我将停止对tootle的支持,建议今后使用网页版,或者官方app。在第三方app登录时,实例域名填写:https://littlefo.rest
官方ios app:https://apps.apple.com/cn/app/mastodon-for-iphone-and-ipad/id1571998974?l=en
官方安卓app (play商店):
https://play.google.com/store/apps/details?id=org.joinmastodon.android
官方安卓app (GitHub):
https://github.com/mastodon/mastodon-android/releases/latest
Tusky for Android (play商店)
https://play.google.com/store/apps/details?id=com.keylesspalace.tusky.test
Tusky for Android (GitHub):
https://github.com/tuskyapp/Tusky/releases/latest
@admin 我docker都是用这个脚本装的,compose也会一并装好https://github.com/docker/docker-install
@mashiro 找到问题了。因为服务器安装了golang-docker-credential-hepers包,这个包是在使用apt包管理器安装docker-compose时装上的。
解决办法是先通过apt卸载掉golang-docker-credential-hepers这个包,然后再通过pip或者直接二进制的方式来安装docker-compose。这个包一旦卸载掉,docker login便执行正常。
自建实例的同学,请务必添加如下两个定时任务,推荐在每天早晨低峰时段运行
RAILS_ENV=production /home/mastodon/live/bin/tootctl media remove --days=14
清理缓存的外站媒体文件,和
RAILS_ENV=production /home/mastodon/live/bin/tootctl media remove-orphans
清理未关联任何 toot 的“无主”媒体文件
另外推荐配合以下任务食用
RAILS_ENV=production /home/mastodon/live/bin/tootctl statuses remove
清理没有同本站任何用户产生关联的 toot 本身(比如跨站轴上收到的、没有本站用户转发/评论/收藏过的消息)
各命令参数请参考 -h 和官方文档按实际情况调整:https://docs.joinmastodon.org/admin/tootctl/
您的钱包会感谢我的╮( ̄▽ ̄")╭