gotosocial/docs/locales/zh/repo/README.md
2024-11-03 06:03:05 +08:00

34 KiB
Raw Blame History

GoToSocial

有关企业赞助的更新:我们欢迎与符合我们价值观的组织建立赞助关系;请查看下述条件

GoToSocial 是一个用 Golang 编写的 ActivityPub 社交网络服务端。

通过 GoToSocial你可以与朋友保持联系发帖、阅读和分享图片及文章且不会被追踪或广告打扰

GoToSocial 仍然是 BETA 软件。它已经可被部署和使用,并能与许多其他 Fediverse 服务端顺利联合(但还不是与所有服务端)。然而,许多功能尚未实现,而且还有不少漏洞!我们在 2024 年 9 月/10 月离开了 Alpha 阶段,并计划于 2026 年结束 Beta。

文档位于 docs.gotosocial.org。你可以直接跳至 API 文档

要从源代码构建,请查看 CONTRIBUTING.md 文件。

这是实例首页的截图!

GoToSocial 实例 goblin.technology 的首页截图。它展示了实例的基本信息,如用户数和贴文数等。

目录

什么是 GoToSocial

GoToSocial 提供了一个轻量级、可定制且注重安全的进入 联邦宇宙 的入口,它类似但不同于像 MastodonPleromaFriendicaPixelFed 这样的现有项目。

如果你曾使用过 Twitter 或 Tumblr甚至是 Myspace等服务GoToSocial 可能会让你感到熟悉:你可以关注他人并拥有粉丝,发布贴文,点赞、回复和分享他人的帖子,并通过时间线浏览你关注的人的贴文。你可以撰写长篇或短篇贴文,或者仅发布图片,一切随你选择。当然,你也可以屏蔽他人,或通过选择仅向朋友发布来限制不想要的互动。

GoToSocial 中的网页版账户页截图,显示了头像、简介和粉丝/关注人数。

GoToSocial 不使用推荐算法,也不收集你的数据来推荐内容或“改善你的体验”。时间线是按时间顺序排列的:你在时间线顶部看到的内容是刚刚发布的,而不是根据你的个人资料选择的“有趣”或“有争议”的内容。

GoToSocial 并不是为拥有成千上万粉丝的“必追”网红设计的,也不是设计被用来让人上瘾的。你的时间线和体验由你关注的人和你与他人的互动方式决定,而不是你的参与度的相关指标!

GoToSocial 不会宣称比其他应用更“好”,但它提供了一些可能特别适合你的东西。

联合

因为 GoToSocial 使用 ActivityPub,你不仅可以与本站上的人交流,还可以无缝与 联邦宇宙 上的人交流。

activitypub 标志

联合意味着你的实例是一个遍布世界的、使用相同协议通信的服务器网络的一部分。你的数据不再集中在一家公司服务器上,而是在你自己的服务器上,根据你的意愿,跨越由其他人运行的服务器组成的弹性网络实现共享。

这种联合方式也意味着你不必受制于可能远在千里之外的庞大公司设定的任意规则。你的实例有自己的规则和文化;你的实例的居民是你的网上邻居;你很可能会认识你的服务器管理员和站务,或者自己成为管理员。

GoToSocial 的愿景是让许多小而特别的实例遍布联邦宇宙,让人们感到宾至如归,而不是让联邦宇宙被少数大的通用的实例占据,在那里一个人的声音可能会在大量其它账号的声音中迷失。

历史与现状

该项目于 2021 年 2/3 月因对其他联合式微博/社交媒体应用的安全和隐私功能的不满而起步,并希望实现一些不同的东西。

它最初是一个个人项目,然后随着更多开发者的兴趣和加入而加速发展。

我们在 2021 年 11 月进行了首次 Alpha 发布。我们于 2024 年 9 月/10 月离开 Alpha进入 Beta 阶段。

要详细了解已实现和未实现的内容,以及 稳定发布 的进展,请查看 路线图


功能

兼容 Mastodon API

Mastodon API 已成为客户端与联邦宇宙服务端通信的事实标准,因此 GoToSocial 实现并在自定义功能上扩展了该 API。

大多数实现 Mastodon API 的应用程序都应该可以使用 GoToSocial但以下这些优秀的应用程序已经过测试可与 GoToSocial 可靠地配合使用:

如果你之前通过第三方应用来使用 Mastodon使用 GoToSocial 将是轻而易举的。

精细的贴文可见性设置

发布内容时,选择谁能看到很重要。

GoToSocial 提供公开、不列出/悄悄公开、仅粉丝和私信(最好让对方事先同意)的贴文选项。

回复控制

GoToSocial 允许你通过 互动规则 选择谁可以回复你的贴文。你可以选择允许任何人回复贴文,仅允许朋友回复,等等。

互动规则设置

仅本站贴文

有时你只想与同一实例中的人们交流。GoToSocial 通过仅本站可见贴文支持这一点,确保贴文仅保留在你的实例中。(当前,仅本站可见贴文能否使用取决于客户端支持。)

RSS 源

GoToSocial 允许你选择将个人资料暴露为 RSS 订阅源,这样人们可以订阅你的公开源而不会错过任何贴文。

富文本格式化

使用 GoToSocial你可以使用流行且易用的 Markdown 标记语言来撰写帖子,从而生成丰富的 HTML 贴文,支持引用段落、语法高亮代码块、列表、内嵌链接等。

markdown 格式化贴文

主题与自定义 CSS

用户可以为他们的账户页 选择多种有趣的主题,或甚至编写自己的 自定义 CSS

管理员也可以轻松地为用户 添加自定义主题 供用户选择。

显示主题示例
Blurple dark

Blurple light

Brutalist light

Brutalist dark

Ecks pee

Midnight trip
Moonlight hunt

Rainforest

Soft

Solarized dark

Solarized light

Sunset

易于运行

GoToSocial 仅需约 250-350MiB 的 RAM并且只要求极少的 CPU 频率,因此非常适合单板计算机、旧笔记本和每月 5 美元的小 VPS。

Grafana 图标显示 GoToSocial 堆占用约为 250MB,偶尔飙升至 400MB-500MB。

除数据库外无需其他依赖(也可以仅使用 SQLite

只需下载二进制文件和对应资源(或 Docker 镜像),调整配置并运行。

隐私+安全功能

  • 内置 Let's Encrypt 的自动使用 HTTPS 支持。
  • 严格执行贴文可见性和屏蔽逻辑。
  • 导入与导出允许联合实例列表和拒绝联合实例列表。订阅社区创建的屏蔽列表(类似于用于实例间联合的广告拦截器!)(功能仍在进行中)。
  • HTTP 签名认证GoToSocial 在发送和接收消息时要求 HTTP 签名,以确保消息不能被篡改,身份不能被伪造。

多种联合模式

GoToSocial 对联合并不采取一刀切的方法。你的实例应该与谁联合应由你决定。

  • “屏蔽列表”模式(默认):发现新实例;屏蔽你不喜欢的实例。
  • “允许列表”模式(实验性);只选择与信任的实例联合。
  • “零”联合模式;保持你的服务器私密(尚未实现)。

查看文档了解更多信息

OIDC 集成

GoToSocial 支持 OpenID Connect (OIDC) 身份提供商,这意味着你可以将其与现有的用户管理服务(如 Auth0Gitlab 等)集成,或者部署你自己的 OIDC 服务并与之相连(我们推荐使用 Dex)。

后端优先设计

与其他联邦宇宙服务端项目不同GoToSocial 不附带集成的客户端前端(例如,网页端应用)。

相反,与 Matrix.org 的 Synapse 项目类似,它提供了一个相对通用的后端服务器实现,一些用于展示账户和贴文的美观的页面,以及一个具有完善文档的 API

在该 API 基础上GoToSocial 鼓励开发者构建任何他们想要的前端实现或移动应用,无论它们是类似于 Tumblr、Facebook、Twitter还是完全不同的东西。


已知问题

由于 GoToSocial 仍处于测试阶段,存在很多错误。我们使用 GitHub issues 跟踪这些问题。

由于每个 ActivityPub 服务端实现对协议的解释略有不同,有些服务端尚未与 GoToSocial 正常联合。我们在 这个项目 中跟踪这些问题。最终,我们希望确保任何可以与 Mastodon 正确联合的 ActivityPub 实现也能够与 GoToSocial 联合。


安装 GoToSocial

查看我们的 入门文档,并浏览我们的 发布页面

支持的平台

虽然我们尽力支持合理数量的架构和操作系统,但由于库的限制或性能问题,对特定平台的支持有时是不可能实现的。

某些平台不被我们正式支持,但仍可能工作,我们无法测试或保证其性能或稳定性。

以下是 GoToSocial 当前针对不同平台的支持状态(如果某个平台未列出,则表示我们尚未检查,因此我们不清楚):

操作系统 架构 支持程度 二进制文件 Docker 容器
Linux x86-64/AMD64 (64位) 🟢 完全支持
Linux Armv8/ARM64 (64位) 🟢 完全支持
FreeBSD x86-64/AMD64 (64位) 🟢 完全支持1
Linux x86-32/i386 (32位) 🟡 部分支持2
Linux Armv7/ARM32 (32位) 🟡 部分支持2
Linux Armv6/ARM32 (32位) 🟡 部分支持2
OpenBSD 任何架构 🔴 不支持3

FreeBSD

大多数情况下可用,只是在 WASM SQLite 上有一些问题;在 FreeBSD 上安装时请仔细查看发行说明。如果使用 Postgres则不应出现问题。

32位

GtS 在像 i386 或 Armv6/v7 这样的 32 位系统上表现不佳,这主要是媒体解码性能的问题。

我们不建议在 32 位系统上运行 GtS但你可以尝试关闭外站媒体处理功能或使用完全不受支持、实验性nowasm 标签自行构建二进制文件。

有关更多指导,请在尝试在 32 位系统上安装时检查发行说明。

OpenBSD

由于性能问题(空闲时的高内存占用,在处理媒体时崩溃),此系统被标记为不支持。

虽然我们不支持在 OpenBSD 上运行 GtS但你可以尝试使用完全不受支持、实验性nowasm 标签自行构建二进制文件。

稳定版本

我们为二进制构建和 Docker 容器打包稳定版本,这样你就不需要自己从源代码构建。

Docker 镜像 superseriousbusiness/gotosocial:latest 始终对应于最新稳定版本。由于此标签经常被覆盖,你可能希望使用 Docker CLI 标志 --pull always 确保每次运行此标签时都有最新的镜像,或者也可在使用前手动运行 docker pull superseriousbusiness/gotosocial:latest

快照版本

我们还会在每次将代码合并到主分支时进行快照版的构建,因此如果你愿意,可以从主分支的代码运行。

请注意,风险自负!我们会尝试确保主分支正常工作,但不能做出任何保证。如果不确定,请选择稳定版。

Docker

要使用 Docker 从主分支运行,请使用 snapshot Docker 标签。Docker 镜像 superseriousbusiness/gotosocial:snapshot 始终对应主分支上的最新提交。由于此标签经常被覆盖,你可能希望使用 Docker CLI 标志 --pull always 确保每次运行此标签时都有最新的镜像,或者也可在使用前手动运行 docker pull superseriousbusiness/gotosocial:snapshot

二进制发布 .tar.gz

要使用二进制发布从主分支运行,请从我们的 自托管 Minio S3 仓库下载适合你架构的 .tar.gz 文件。

S3 存储桶中的快照版二进制发布由 Github 提交哈希控制。要获取最新的,请按上次修改时间排序,或者查看 这里的提交列表,复制最新的 SHA并在 Minio 控制台过滤器中粘贴。快照二进制发布会在 28 天后过期,以降低我们的托管成本。

从源代码构建

有关从源代码构建 GoToSocial 的说明,请参见 CONTRIBUTING.md 文件。

第三方打包

非常感谢那些将时间和精力投入到打包 GoToSocial 的人!

这些包不是由 GoToSocial 维护的,因此请将问题和反馈发往对应的存储库维护者(并考虑向他们捐款!)。

打包状态

你还可以通过以下方式部署自己的 GoToSocial 实例:


参与贡献

你想为 GtS 作出贡献吗?太好了!❤️❤️❤️ 请查看问题页面,看看是否有你想参与的内容,并阅读 CONTRIBUTING.md 文件以获取指南并配置开发环境。


联系我们

如果你有问题或反馈,可以加入我们的 Matrix 空间,地址是 #gotosocial-space:superseriousbusiness.org。这是联系开发人员的最快方式。你也可以发送邮件至 admin@gotosocial.org

对于错误和功能请求,请先查看是否已有相应问题,如果没有,可以开一个新问题工单(issue),或者使用上述渠道提出请求(如果你没有 Github 账户的话)。


致谢

GoToSocial 使用以下开源库、框架和工具,在此声明并致谢 💕

图像归属与许可

树懒标志由 Anna Abramek 设计。

Creative Commons License
GoToSocial 的树懒吉祥物采用 知识共享署名-相同方式共享 4.0 国际许可协议

该许可具体适用于以下存储库内的文件和子目录:

根据许可证条款,你可以:

  • 分享 — 在任何媒介或格式中复制、传播上述材料。
  • 演绎 — 混合、转换与再创作上述材料,并用于任何目的,包括商业用途。

团队成员

按字母顺序(... 和气味顺序)排列:

特别鸣谢

特别感谢来自 go-fed 的 CJ没有你的工作GoToSocial 不可能实现。

感谢所有使用 GtS 的人,包括提交问题的,提出改进建议的,提供资金支持的,以及以其他方式支持或鼓励该项目的人!


赞助与资金支持

有关企业赞助的更新:我们欢迎与符合我们价值观的组织进行赞助合作;请参阅以下条件

众筹

open collective 标准树懒 徽章 open collective 稳定树懒 徽章 open collective 特别树懒 徽章 open collective 糖果树懒 徽章

如果你希望为 GoToSocial 捐款以支持开发,你可以通过我们的 OpenCollective 捐助

LiberaPay 赞助人 通过 LiberaPay 接收捐赠

如果你喜欢通过 LiberaPay 赞助,我们也有一个 LiberaPay 帐户!你可以在这里找到我们

通过我们 OpenCollective 和 Liberapay 账户的众筹捐款将用于支付核心团队的工资、服务器成本以及 GtS 的艺术、设计等其他开支。

💕 🦥 💕 谢谢你们!

企业赞助

GoToSocial 欢迎与符合我们价值观的组织进行合作。在此对您的支持表示感谢,我们将在存储库和文档中展示你的 Logo、网站及简短的标语。赞助有以下限制

  1. GoToSocial 的项目方向始终由核心团队完全掌控,永远不会受到企业赞助的支配或影响。这是不可商量的。当然,企业同样可以像任何其他用户一样建议/请求功能,但不会获得特殊待遇。

  2. 企业赞助取决于你的组织是否符合我们团队的伦理准则。这不是一套具体的规则,而是“你的公司是否造成了伤害?”的问题。例如,国防行业的不需要申请,因为答案显然是肯定的!

如果在阅读后您仍有兴趣赞助我们,那太好了!请通过 admin@gotosocial.org 与我们联系以进一步讨论 :)

NLnet

NGIZero logo

结合以上众筹来源2023 年 GoToSocial Alpha 阶段的开发得到了 NGI0 Entrust Fund 旗下的 NLnet 提供的 50,000 欧元资助。详情请见此处。成功的资助申请存档在此处

2024 年 GoToSocial Beta 阶段的开发将从 NGI0 Entrust Fund 旗下的 NLnet 那里再获得 50,000 欧元的资助。


许可

GNU AGPL 徽标

GoToSocial 是自由软件,采用 GNU AGPL v3 许可。我们鼓励你对代码进行派生和修改,进行各种实验。

有关 AGPL 和 GPL 许可之间的区别,请参阅这里,关于 GPL 许可(包括 AGPL的常见问题解答请参阅这里

如果你修改了 GoToSocial 的源码,并以网络可访问的方式运行修改后的代码,你必须根据许可的指引提供你对源码的修改副本:

如果你修改了程序,并且你的修改版本支持通过计算机网络与用户进行远程交互,你的版本必须显著地向所有这些用户提供获得你的版本对应源码的机会,方式需为通过网络服务器以不收费的方式,或通过某种标准或习惯方式提供以便于复制软件。

版权所有 (C) 全体 GoToSocial 开发者