mastodon - Mastodon 是一个免费的开源社交网络程序,一个商业平台的替代方案,避免了单个公司垄断你沟通的风险。

Created at: 2016-02-22 23:01:25
Language: Ruby
License: AGPL-3.0

乳齿象

GitHub 版本 Ruby 测试 克劳德

Mastodon 是一个基于 ActivityPub 的免费开源社交网络服务器,用户可以在其中关注朋友并发现新朋友。在 Mastodon 上,用户可以发布他们想要的任何内容:链接、图片、文本和视频。所有 Mastodon 服务器都可以作为联合网络进行互操作(一台服务器上的用户可以与另一台服务器上的用户无缝通信,包括实现 ActivityPub 的非 Mastodon 软件!

点击下方观看视频了解更多信息:

截屏

导航

特征

无供应商锁定:可与任何合规平台完全互操作

它不一定是乳齿象;无论实现什么 ActivityPub 都是社交网络的一部分!了解更多信息

按时间顺序实时更新时间线

你关注的人的更新通过 WebSockets 实时显示在 UI 中。还有消防水带的景色!

媒体附件,如图片和短视频

上传和查看附加到更新的图像和 WebM/MP4 视频。没有音轨的视频被视为 GIF;正常视频连续循环播放!

安全和审核工具

Mastodon 包括私有帖子、锁定帐户、短语过滤、静音、阻止和各种其他功能,以及报告和审核系统。了解更多信息

OAuth2 和简单的 REST API

Mastodon 充当 OAuth2 提供商,因此第三方应用程序可以使用 REST 和流式处理 API。这导致了一个丰富的应用程序生态系统,有很多选择!

部署

技术栈

  • Ruby on Rails 为 REST API 和其他网页提供支持
  • React.js 和 Redux 用于接口的动态部分
  • Node.js支持流式处理 API

要求

  • PostgreSQL 12+
  • 雷迪斯 4+
  • 红宝石 3.0+
  • Node.js 16+

该存储库包括 Docker 和 docker-compose 以及 HerokuScalingoNanobox 等特定平台的部署配置。对于 Helm 图表,请参考 mastodon/chart 存储库。文档中提供了独立安装指南

发展

流浪

出于开发目的,包括 Vagrant 配置。要使用它,请完成以下步骤:

  • 安装 Vagrant 和 Virtualbox
  • 安装插件:
    vagrant-hostsupdater
    vagrant plugin install vagrant-hostsupdater
  • vagrant up
  • vagrant ssh -c "cd /vagrant && foreman start"
  • 在浏览器中打开
    http://mastodon.local

MacOS操作系统

要设置 MacOS 以进行本机开发,请完成以下步骤:

  • 安装最新的稳定 Ruby 版本(使用 Ruby 版本管理器轻松安装和管理 Ruby 版本)
  • brew install postgresql@14
  • brew install redis
  • brew install imagemagick
  • brew install libidn
  • 安装 Foreman 或类似工具(例如 overmind)来处理多个进程启动。
  • 导航到 Mastodon 的根目录并运行,然后运行以使用 .nvmrc 中的版本
    brew install nvm
    nvm use
  • corepack enable && corepack prepare
  • 运行(可选地预置以面向开发环境)
    bundle exec rails db:setup
    RAILS_ENV=development
  • 最后,运行
    overmind start -f Procfile.dev

docker

要使用 Docker 进行开发,请完成以下步骤:

  • 安装 Docker Desktop
  • 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 代码空间

为了让你在短短几分钟内完成编码,GitHub Codespaces 提供了基于 Web 的 Visual Studio Code 版本和云托管开发环境,该环境完全配置了此项目所需的软件。

  • 单击此按钮可创建新的代码空间:
    在 GitHub Codespaces 中打开
  • 等待环境生成。这将需要几分钟时间。
  • 编辑器准备就绪后,在终端中运行。
    foreman start -f Procfile.dev
  • 几秒钟后,将出现一个弹出窗口,其中包含一个标记为“在浏览器中打开”的按钮。这将打开 Mastodon。
  • 在“端口”选项卡上,右键单击“流”行,然后选择“端口可见性”→“公共”。

贡献

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/