pepperle/wordpress-activitypub

ActivityPub 协议是一种基于 ActivityStreams 2.0 数据格式的去中心化社交网络协议。

安装次数: 462

依赖项: 0

建议者: 0

安全: 0

星标: 483

关注者: 24

分支: 73

开放问题: 62

类型:wordpress-plugin

3.2.5 2024-09-17 12:45 UTC

README

贡献者: automattic, pepperle, mediaformat, mattwiebe, akirk, jeherve, nuriapena, cavalierlife
标签: OStatus, fediverse, activitypub, activitystream
最低要求 5.5
测试至 6.6
稳定标签 3.2.5
需要 PHP 7.0
许可: MIT
许可 URI: https://open-source.org.cn/licenses/MIT

ActivityPub 协议是一种基于 ActivityStreams 2.0 数据格式的去中心化社交网络协议。

描述

使用 ActivityPub 进入 fediverse,将您的博客传播给更广泛的受众!吸引粉丝,发布更新,并从各种兼容 ActivityPub 的平台用户基础中接收评论。

安装了 ActivityPub 插件后,您的 WordPress 博客本身就可以作为一个联邦个人资料,同时为每个作者创建个人资料。例如,如果您的网站是 example.com,则全局博客个人资料可以在 @example.com@example.com 找到,Jane 和 Bob 这样的作者将分别拥有他们的个人资料 @jane@example.com@bobz@example.com

示例:我给你我的 Mastodon 个人资料名称: @pfefferle@mastodon.social。你搜索,看到我的个人资料,然后点击关注。现在,我发布的任何帖子都会出现在你的首页中。同样,使用 ActivityPub 插件,你可以找到并关注 Jane 的个人资料 @jane@example.com

一旦你关注了 Jane 的 @jane@example.com 个人资料,她将在 example.com 上创作的任何博客文章都会出现在你的首页中。同时,通过关注全局博客个人资料 @example.com@example.com,你将收到所有作者的通知。

注意

如果没有人关注你的作者或博客实例,你的帖子将不会显示。验证插件操作的最简单方法是关注你的个人资料。如果你有一个 Mastodon 个人资料,首先关注你的新个人资料。

该插件与以下测试过的联邦平台一起工作,但也可能与更多平台一起工作

一些注意事项

  1. 全局个人资料仅与启用重写规则的网站兼容。如果您的网站未启用重写规则,作者特定个人资料可能仍然可以工作。
  2. 许多单作者博客选择关闭或重定向作者个人资料页面,通常通过Yoast或Rank Math等SEO插件来实现。这通常是为了避免与博客主页重复内容。如果你的作者页面被以这种方式禁用,那么ActivityPub作者资料将无法为你工作。相反,你可以将作者个人资料页面重新启用,然后在SEO插件中使用选项将作者页面设置为不索引。这将仍然解决搜索引擎中的重复内容问题,并使ActivityPub作者资料能够正常工作。
  3. 一旦安装了ActivityPub,只有从现在开始的新帖子才能在federated宇宙中可用。同样,即使你已经使用ActivityPub一段时间了,任何关注你的网站的人也只会看到从那时起你发布的帖子。他们永远不会在他们的主页面中看到以前发布的帖子。这个过程与订阅通讯非常相似。如果你订阅了通讯,你将只收到未来的电子邮件,而不会收到旧的存档电子邮件。在ActivityPub中,如果有人关注你的网站,他们只会收到你从那时起发布的新的博客帖子。

那么这个过程是什么?

  1. 安装ActivityPub插件。
  2. 转到插件设置页面,并根据您的喜好调整设置。准备好后,点击保存按钮。
  3. 如果您使用作者个人资料,请确保您的博客作者个人资料页面处于活动状态。
  4. 转到Mastodon或其他任何federated平台,搜索您的个人资料,并关注它。您的新个人资料将以@your_username@example.com@example.com@example.com的形式出现,因此您将搜索这些内容。
  5. 在您的博客上发布一篇新帖子。
  6. 从Mastodon检查新帖子是否出现在您的首页。

注意

新帖子可能需要15分钟或更长时间才能出现在您的federated feed中。这是因为消息是通过延迟cron发送到federated平台的。这避免了在用户可能有很多粉丝的情况下中断发布过程。所以请不要假设因为没有立即看到帖子就认为有问题。请给它一些时间。在大多数情况下,它将在几分钟内出现,您将知道一切按预期工作。

常见问题解答

tl;dr

此插件将您的WordPress博客连接到像Mastodon这样的流行社交平台,使您的帖子对更广泛的受众更加易于访问。一旦安装,您的博客就可以被这些平台上的用户关注,让他们可以在他们的feed中接收到您的新帖子。

此插件的状态如何?

已实现

  • 博客个人资料页面(JSON表示形式)
  • 作者个人资料页面(JSON表示形式)
  • 自定义链接
  • 功能性的收件箱/发件箱
  • 关注(接受关注)
  • 分享帖子
  • 接收评论/反应
  • 签名验证
  • 支持线程式评论

待实现

  • 将短码替换为布局块

什么是“WordPress的ActivityPub”?

ActivityPub for WordPress通过一些Federated宇宙功能扩展了WordPress,但它并不与Friendica或Mastodon等平台竞争。如果您想运行一个去中心化的社交网络,请使用MastodonGNU social

如果你在子目录中运行你的博客怎么办?

为了使webfinger工作,它必须映射到你的博客所在的URL的根目录。

Apache

请将以下内容添加到根目录下的.htaccess文件中

RedirectMatch "^\/\.well-known/(webfinger|nodeinfo|x-nodeinfo2)(.*)$" /blog/.well-known/$1$2

其中'blog'是您的博客所在的子目录的路径。

Nginx

请将以下内容添加到sites-available的site.conf中

location ~* /.well-known {
	allow all;
	try_files $uri $uri/ /blog/?$args;
}

其中'blog'是您的博客所在的子目录的路径。

如果你在子目录中运行你的博客怎么办?

如果您在子目录下运行博客,但设置了不同的 wp_siteurl,则不需要重定向,因为index.php会处理这个问题。

如果您的博客是通过Apache反向代理运行的,会怎样呢?

如果您使用Apache反向代理来运行托管,可能会遇到无法让关注者加入博客的问题。这会发生在代理系统将主机头重写为服务器的内部DNS名称,然后插件使用该名称尝试签名回复。试图关注您的用户的远程网站期望回复中使用的是公共DNS名称。在这些情况下,您需要使用'ProxyPreserveHost On'指令以确保外部主机名被传递到您的内部主机。

如果您在代理和内部主机之间使用SSL,如果您的内部主机无法用正确的SSL名称回答,您可能还需要设置SSLProxyCheckPeerName off。这可能在某些环境中引起安全问题。

常量

插件使用PHP常量来启用、禁用或更改其默认行为。请谨慎使用,并且仅当您了解自己在做什么时才使用它们。

  • ACTIVITYPUB_REST_NAMESPACE - 修改REST端点的默认命名空间。默认:activitypub/1.0
  • ACTIVITYPUB_EXCERPT_LENGTH - 修改摘录的长度。默认:400
  • ACTIVITYPUB_SHOW_PLUGIN_RECOMMENDATIONS - 在ActivityPub设置中显示插件推荐。默认:true
  • ACTIVITYPUB_MAX_IMAGE_ATTACHMENTS - 修改应该被联邦的附件数量。默认:3
  • ACTIVITYPUB_HASHTAGS_REGEXP - 修改用于检测文本中哈希文本的默认正则表达式。默认:(?:(?<=\s)|(?<=<p>)|(?<=<br>)|^)#([A-Za-z0-9_]+)(?:(?=\s|[[:punct:]]|$))
  • ACTIVITYPUB_USERNAME_REGEXP - 修改用于检测文本中@-回复的默认正则表达式。默认:(?:([A-Za-z0-9\._-]+)@((?:[A-Za-z0-9_-]+\.)+[A-Za-z]+))
  • ACTIVITYPUB_URL_REGEXP - 修改用于检测文本中URL的默认正则表达式。默认:(www.|http:|https:)+[^\s]+[\w\/]
  • ACTIVITYPUB_CUSTOM_POST_CONTENT - 修改Activities的默认模板。默认:<strong>[ap_title]</strong>\n\n[ap_content]\n\n[ap_hashtags]\n\n[ap_shortlink]
  • ACTIVITYPUB_AUTHORIZED_FETCH - 启用AUTHORIZED_FETCH。默认:false
  • ACTIVITYPUB_DISABLE_REWRITES - 禁用自动生成mod_rewrite规则。默认:false
  • ACTIVITYPUB_DISABLE_INCOMING_INTERACTIONS - 阻止传入的回复/评论/点赞。默认:false
  • ACTIVITYPUB_DISABLE_OUTGOING_INTERACTIONS - 禁用外出的回复/评论/点赞。默认:false
  • ACTIVITYPUB_SHARED_INBOX_FEATURE - 启用共享收件箱。默认:false
  • ACTIVITYPUB_SEND_VARY_HEADER - 启用发送Vary: Accept头。默认:false

您在哪里可以管理您的关注者?

如果您已激活博客用户,您可以在设置中的/wp-admin/options-general.php?page=activitypub&tab=followers找到他/她的关注者列表。

用户关注者可以在“用户”->“关注者”菜单下找到,或者通过wp-admin/users.php?page=activitypub-followers-list

出于数据保护的原因,无法查看其他用户的关注者。

屏幕截图

  1. 在块编辑器中的“关注我”块
  2. 在块编辑器中的“关注者”块
  3. 在块编辑器中的“联邦回复”块
  4. 帖子中的“联邦回复”

变更日志

3.2.5

  • 修复:启用Mastodon Apps检查
  • 修复:Fediverse回复未被正确分层

3.2.4

  • 改进:收件箱验证

3.2.3

  • 修复:NodeInfo端点
  • 修复:(暂时)从summary中移除HTML,因为似乎Mastodon对此有问题
  • 改进:增强回复上下文的可访问性
  • 改进:默认使用Article对象类型

3.2.2

  • 修复:额外字段检查

3.2.1

  • 修复:播客节目使用Excerpt

3.2.0

  • 新增:支持 Seriously Simple Podcasting
  • 新增:博客额外字段
  • 新增:支持活动摘要的“阅读更多”
  • 新增:LikeAnnounce(增强)处理器
  • 新增:简单远程回复端点
  • 新增:“Stream”插件支持
  • 新增:新的Fediverse符号
  • 改进:在摘要中替换标签、URL和提及为链接
  • 改进:如果网站不支持块,则隐藏书签工具
  • 修复:在额外字段中检测链接,当链接后有空格时修复,以及在内容中有两个链接时修复
  • 修复:LikesAnnouncesUndo
  • 修复:在LikesAnnounces上显示头像
  • 修复:删除专有WebFinger资源
  • 修复:在“to”属性中帖子中的错误关注者URL

3.1.0

  • 新增:menu_orderap_extrafield,用户可以决定它们将以何种顺序显示
  • 新增:用户传记中的换行
  • 新增:蓝图
  • 修复:将缺失的activitypub_user_description更改为activitypub_description
  • 修复:未定义的get_sample_permalink
  • 修复:仅发送以前发布的帖子的更新
  • 改进:简化WebFinger代码

GitHub上查看完整的变更日志。

升级通知

1.0.0

对于版本1.0.0,我们已经完全重建了关注者列表。从旧格式迁移到新格式可能需要一些时间,但在此过程中不会丢失任何数据。请给迁移一些时间。

安装

遵循安装WordPress插件的正常说明。

自动插件安装

要使用内置插件安装程序添加WordPress插件

  1. 转到插件 > 添加新插件
  2. 搜索插件框中输入"activitypub"。
  3. 找到您要安装的WordPress插件。
    1. 点击详情以获取有关插件和可能要打印或保存的说明的更多信息。
    2. 点击立即安装安装WordPress插件。
  4. 结果安装屏幕将列出安装是否成功或安装期间出现的任何问题。
  5. 如果成功,点击激活插件以激活它,或返回插件安装程序进行其他操作。

手动插件安装

在某些情况下,手动安装WordPress插件是合适的。

  • 如果您希望控制WordPress插件的放置和安装过程。
  • 如果您的服务器不允许自动安装WordPress插件。
  • 如果您想尝试最新开发版本

手动安装WordPress插件需要熟悉FTP并意识到如果安装与当前版本不兼容的WordPress插件或来自不可靠来源的插件,可能会使您的网站处于风险之中。

在继续之前,请完全备份您的网站。

要手动安装WordPress插件

  • 将您的WordPress插件下载到您的桌面。
  • 如果下载为ZIP存档,请将插件文件夹提取到您的桌面。
  • 使用您的FTP程序,将插件文件夹上传到您的在线WordPress目录中的 wp-content/plugins 文件夹。
  • 转到 插件屏幕,在列表中找到新上传的插件。
  • 点击 激活 以激活它。