Mastodon 是一个基于 ActivityPub 的免费开源社交网络服务器,用户可以在其中关注朋友并发现新朋友。在 Mastodon 上,用户可以发布他们想要的任何内容:链接、图片、文本和视频。所有 Mastodon 服务器都可以作为联合网络进行互操作(一台服务器上的用户可以与另一台服务器上的用户无缝通信,包括实现 ActivityPub 的非 Mastodon 软件!
点击下方观看视频了解更多信息:
它不一定是乳齿象;无论实现什么 ActivityPub 都是社交网络的一部分!了解更多信息
你关注的人的更新通过 WebSockets 实时显示在 UI 中。还有消防水带的景色!
上传和查看附加到更新的图像和 WebM/MP4 视频。没有音轨的视频被视为 GIF;正常视频连续循环播放!
Mastodon 包括私有帖子、锁定帐户、短语过滤、静音、阻止和各种其他功能,以及报告和审核系统。了解更多信息
Mastodon 充当 OAuth2 提供商,因此第三方应用程序可以使用 REST 和流式处理 API。这导致了一个丰富的应用程序生态系统,有很多选择!
该存储库包括 Docker 和 docker-compose 以及 Heroku、Scalingo 和 Nanobox 等特定平台的部署配置。对于 Helm 图表,请参考 mastodon/chart 存储库。文档中提供了独立安装指南。
出于开发目的,包括 Vagrant 配置。要使用它,请完成以下步骤:
vagrant-hostsupdater
vagrant plugin install vagrant-hostsupdater
vagrant up
vagrant ssh -c "cd /vagrant && foreman start"
http://mastodon.local
要设置 MacOS 以进行本机开发,请完成以下步骤:
brew install postgresql@14
brew install redis
brew install imagemagick
brew install libidn
brew install nvm
nvm use
corepack enable && corepack prepare
bundle exec rails db:setup
RAILS_ENV=development
overmind start -f Procfile.dev
要使用 Docker 进行开发,请完成以下步骤:
docker compose -f .devcontainer/docker-compose.yml up -d
docker compose -f .devcontainer/docker-compose.yml exec app .devcontainer/post-create.sh
docker compose -f .devcontainer/docker-compose.yml exec app foreman start -f Procfile.dev
如果你使用的是支持开发容器规范的 IDE,它将自动运行上述命令。对于 Visual Studio Code,这需要 Dev Container 扩展。
docker compose
为了让你在短短几分钟内完成编码,GitHub Codespaces 提供了基于 Web 的 Visual Studio Code 版本和云托管开发环境,该环境完全配置了此项目所需的软件。
foreman start -f Procfile.dev
Mastodon 是在 AGPLv3 下获得许可的免费开源软件。
你可以针对你发现的错误或你认为缺少的功能提出问题。你还可以向此存储库提交拉取请求或使用 Crowdin 提交翻译。首先,请查看 CONTRIBUTING.md。如果你的贡献被 Mastodon 接受,你可以要求通过我们的 OpenCollective 获得报酬。
IRC 频道:#mastodon irc.libera.chat
版权所有 (C) 2016-2024 Eugen Rochko 和其他 Mastodon 贡献者(见 AUTHORS.md)
本程序是自由软件:你可以根据自由软件基金会发布的 GNU Affero 通用公共许可证的条款重新分发和/或修改它,无论是许可证的第 3 版,还是(由你选择)任何更高版本。
分发该程序是希望它有用,但没有任何保证;甚至没有对适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU Affero 通用公共许可证。
你应该已经收到了 GNU Affero 通用公共许可证的副本以及此程序。如果没有,请参阅 https://www.gnu.org/licenses/。