pepperle / wordpress-activitypub
ActivityPub 协议是一种基于 ActivityStreams 2.0 数据格式的去中心化社交网络协议。
Requires
- php: >=7.0
- composer/installers: ^1.0 || ^2.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.0.0
- dms/phpunit-arraysubset-asserts: ^0.5.0
- phpcompatibility/php-compatibility: *
- phpcompatibility/phpcompatibility-wp: *
- phpcsstandards/phpcsextra: ^1.1.0
- phpunit/phpunit: ^5.7.21 || ^6.5 || ^7.5 || ^8
- sirbrillig/phpcs-variable-analysis: ^2.11
- squizlabs/php_codesniffer: 3.*
- wp-coding-standards/wpcs: dev-develop
- yoast/phpunit-polyfills: ^3.0
- dev-master
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- 2.6.1
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.17.0
- 0.16.5
- 0.16.4
- 0.16.3
- 0.16.2
- 0.16.1
- 0.16.0
- 0.15.0
- 0.14.3
- 0.14.2
- 0.14.1
- 0.14.0
- 0.13.4
- 0.13.3
- 0.13.2
- 0.13.1
- 0.13.0
- 0.12.0
- 0.11.2
- 0.11.1
- 0.11.0
- 0.10.1
- 0.10.0
- 0.9.1
- 0.9.0
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.4
- 0.7.3
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.0
- 0.5.1
- 0.5.0
- 0.4.4
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.1
- 0.2.0
- 0.1.1
- 0.1.0
- 0.0.2
- 0.0.1
- dev-add/screenshots
- dev-fix/missing-at
- dev-add/enable-mastodon-apps-profile-editing
- dev-add/query-as-id
- dev-add/account-migration
- dev-ema-add-remote-context
- dev-add/post-replies
- dev-improve/system-users
- dev-add/profile-editor
- dev-add/outbox-collection
- dev-update/minimum-wp-version
- dev-add/sanitization
This package is auto-updated.
Last update: 2024-09-23 20:44:38 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 个人资料,首先关注你的新个人资料。
该插件与以下测试过的联邦平台一起工作,但也可能与更多平台一起工作
一些注意事项
- 全局个人资料仅与启用重写规则的网站兼容。如果您的网站未启用重写规则,作者特定个人资料可能仍然可以工作。
- 许多单作者博客选择关闭或重定向作者个人资料页面,通常通过Yoast或Rank Math等SEO插件来实现。这通常是为了避免与博客主页重复内容。如果你的作者页面被以这种方式禁用,那么ActivityPub作者资料将无法为你工作。相反,你可以将作者个人资料页面重新启用,然后在SEO插件中使用选项将作者页面设置为不索引。这将仍然解决搜索引擎中的重复内容问题,并使ActivityPub作者资料能够正常工作。
- 一旦安装了ActivityPub,只有从现在开始的新帖子才能在federated宇宙中可用。同样,即使你已经使用ActivityPub一段时间了,任何关注你的网站的人也只会看到从那时起你发布的帖子。他们永远不会在他们的主页面中看到以前发布的帖子。这个过程与订阅通讯非常相似。如果你订阅了通讯,你将只收到未来的电子邮件,而不会收到旧的存档电子邮件。在ActivityPub中,如果有人关注你的网站,他们只会收到你从那时起发布的新的博客帖子。
那么这个过程是什么?
- 安装ActivityPub插件。
- 转到插件设置页面,并根据您的喜好调整设置。准备好后,点击保存按钮。
- 如果您使用作者个人资料,请确保您的博客作者个人资料页面处于活动状态。
- 转到Mastodon或其他任何federated平台,搜索您的个人资料,并关注它。您的新个人资料将以
@your_username@example.com
或@example.com@example.com
的形式出现,因此您将搜索这些内容。 - 在您的博客上发布一篇新帖子。
- 从Mastodon检查新帖子是否出现在您的首页。
注意
新帖子可能需要15分钟或更长时间才能出现在您的federated feed中。这是因为消息是通过延迟cron发送到federated平台的。这避免了在用户可能有很多粉丝的情况下中断发布过程。所以请不要假设因为没有立即看到帖子就认为有问题。请给它一些时间。在大多数情况下,它将在几分钟内出现,您将知道一切按预期工作。
常见问题解答
tl;dr
此插件将您的WordPress博客连接到像Mastodon这样的流行社交平台,使您的帖子对更广泛的受众更加易于访问。一旦安装,您的博客就可以被这些平台上的用户关注,让他们可以在他们的feed中接收到您的新帖子。
此插件的状态如何?
已实现
- 博客个人资料页面(JSON表示形式)
- 作者个人资料页面(JSON表示形式)
- 自定义链接
- 功能性的收件箱/发件箱
- 关注(接受关注)
- 分享帖子
- 接收评论/反应
- 签名验证
- 支持线程式评论
待实现
- 将短码替换为布局块
什么是“WordPress的ActivityPub”?
ActivityPub for WordPress通过一些Federated宇宙功能扩展了WordPress,但它并不与Friendica或Mastodon等平台竞争。如果您想运行一个去中心化的社交网络,请使用Mastodon或GNU 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
。
出于数据保护的原因,无法查看其他用户的关注者。
屏幕截图
- 在块编辑器中的“关注我”块
- 在块编辑器中的“关注者”块
- 在块编辑器中的“联邦回复”块
- 帖子中的“联邦回复”
变更日志
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
- 新增:博客额外字段
- 新增:支持活动摘要的“阅读更多”
- 新增:
Like
和Announce
(增强)处理器 - 新增:简单远程回复端点
- 新增:“Stream”插件支持
- 新增:新的Fediverse符号
- 改进:在摘要中替换标签、URL和提及为链接
- 改进:如果网站不支持块,则隐藏书签工具
- 修复:在额外字段中检测链接,当链接后有空格时修复,以及在内容中有两个链接时修复
- 修复:
Likes
和Announces
的Undo
- 修复:在
Likes
和Announces
上显示头像 - 修复:删除专有WebFinger资源
- 修复:在“to”属性中帖子中的错误关注者URL
3.1.0
- 新增:
menu_order
到ap_extrafield
,用户可以决定它们将以何种顺序显示 - 新增:用户传记中的换行
- 新增:蓝图
- 修复:将缺失的
activitypub_user_description
更改为activitypub_description
- 修复:未定义的
get_sample_permalink
- 修复:仅发送以前发布的帖子的更新
- 改进:简化WebFinger代码
在GitHub上查看完整的变更日志。
升级通知
1.0.0
对于版本1.0.0,我们已经完全重建了关注者列表。从旧格式迁移到新格式可能需要一些时间,但在此过程中不会丢失任何数据。请给迁移一些时间。
安装
遵循安装WordPress插件的正常说明。
自动插件安装
要使用内置插件安装程序添加WordPress插件
- 转到插件 > 添加新插件。
- 在搜索插件框中输入"
activitypub
"。 - 找到您要安装的WordPress插件。
- 点击详情以获取有关插件和可能要打印或保存的说明的更多信息。
- 点击立即安装安装WordPress插件。
- 结果安装屏幕将列出安装是否成功或安装期间出现的任何问题。
- 如果成功,点击激活插件以激活它,或返回插件安装程序进行其他操作。
手动插件安装
在某些情况下,手动安装WordPress插件是合适的。
- 如果您希望控制WordPress插件的放置和安装过程。
- 如果您的服务器不允许自动安装WordPress插件。
- 如果您想尝试最新开发版本。
手动安装WordPress插件需要熟悉FTP并意识到如果安装与当前版本不兼容的WordPress插件或来自不可靠来源的插件,可能会使您的网站处于风险之中。
在继续之前,请完全备份您的网站。
要手动安装WordPress插件
- 将您的WordPress插件下载到您的桌面。
- 从WordPress目录下载
- 从GitHub下载
- 如果下载为ZIP存档,请将插件文件夹提取到您的桌面。
- 使用您的FTP程序,将插件文件夹上传到您的在线WordPress目录中的
wp-content/plugins
文件夹。 - 转到 插件屏幕,在列表中找到新上传的插件。
- 点击 激活 以激活它。