PluginProbe
NodeInfo(2) / trunk
NodeInfo(2) vtrunk
trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 2.0.0 2.1.0 2.1.1 2.2.0 2.3.0 2.3.1 3.0.0 3.1.0
nodeinfo / README.md

README.md in NodeInfo(2) trunk, at README.md

199 lines 7.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 # NodeInfo(2)
2
3 - Contributors: pfefferle
4 - Donate link: https://notiz.blog/donate/
5 - Tags: nodeinfo, fediverse, ostatus, diaspora, activitypub
6 - Requires at least: 6.6
7 - Tested up to: 7.1
8 - Stable tag: 3.1.0
9 - Requires PHP: 7.4
10 - License: MIT
11 - License URI: https://opensource.org/licenses/MIT
12
13 NodeInfo and NodeInfo2 for WordPress!
14
15 ## Description
16
17 [](http://nodeinfo.diaspora.software/NodeInfo](http://nodeinfo.diaspora.software/](http://nodeinfo.diaspora.software/) is an effort to create a standardized way of exposing metadata about a server running one of the distributed social networks. The two key goals are being able to get better insights into the user base of distributed social networking and the ability to build tools that allow users to choose the best fitting software and server for their needs.
18
19 This plugin provides a barebone JSON file with basic "node"-informations. The file can be extended by other WordPress plugins, like [](https://wordpress.org/plugins/ostatus-for-wordpress/OStatus](https://wordpress.org/plugins/ostatus-for-wordpress/](https://wordpress.org/plugins/ostatus-for-wordpress/), [](https://github.com/pfefferle/wordpress-dandelionDiaspora](https://github.com/pfefferle/wordpress-dandelion](https://github.com/pfefferle/wordpress-dandelion) or [](https://wordpress.org/plugins/activitypub/ActivityPub](https://wordpress.org/plugins/activitypub/](https://wordpress.org/plugins/activitypub/).
20
21 ### What information does this plugin share?
22
23 The plugin exposes the following public information about your site:
24
25 * **Software**: WordPress version (major version only for privacy)
26 * **Usage statistics**: Number of users, posts, and comments
27 * **Site info**: Your site name and description
28 * **Protocols**: Which federation protocols your site supports (e.g., ActivityPub)
29 * **Services**: Which external services your site can connect to (e.g., RSS feeds)
30
31 This information helps other servers in the Fediverse discover and interact with your site.
32
33 ### Supported NodeInfo versions
34
35 This plugin supports all major NodeInfo specification versions:
36
37 * **NodeInfo 1.0** and **1.1** - Original specifications
38 * **NodeInfo 2.0**, **2.1**, and **2.2** - Current specifications with extended metadata
39 * **NodeInfo2** - Alternative single-endpoint format
40
41 ### Endpoints
42
43 After activation, the following endpoints become available:
44
45 * `/.well-known/nodeinfo` - Discovery document (start here)
46 * `/wp-json/nodeinfo/2.2` - NodeInfo 2.2 (recommended)
47 * `/wp-json/nodeinfo/2.1` - NodeInfo 2.1
48 * `/wp-json/nodeinfo/2.0` - NodeInfo 2.0
49 * `/wp-json/nodeinfo/1.1` - NodeInfo 1.1
50 * `/wp-json/nodeinfo/1.0` - NodeInfo 1.0
51 * `/.well-known/x-nodeinfo2` - NodeInfo2 format
52
53 ## Frequently Asked Questions
54
55 ### Why do I need this plugin?
56
57 If you want your WordPress site to be part of the Fediverse (decentralized social networks like Mastodon), this plugin helps other servers discover information about your site. It works together with plugins like [](https://wordpress.org/plugins/activitypub/ActivityPub](https://wordpress.org/plugins/activitypub/](https://wordpress.org/plugins/activitypub/) to make your site fully federated.
58
59 ### Is any private information shared?
60
61 No. Only public information about your site is shared, such as your site name, description, and post counts. No personal user data or private content is exposed.
62
63 ### How can I verify it's working?
64
65 Visit `https://yoursite.com/.well-known/nodeinfo` in your browser. You should see a JSON document with links to the NodeInfo endpoints.
66
67 ### Can other plugins extend the NodeInfo data?
68
69 Yes! This plugin is designed to be extensible. Other plugins can use WordPress filters to add their own protocols, services, or metadata. For example, the ActivityPub plugin automatically adds `activitypub` to the supported protocols list.
70
71 ### How do I know if everything is configured correctly?
72
73 Go to **Tools > Site Health** in your WordPress admin. The plugin adds two health checks:
74
75 * **NodeInfo Well-Known Endpoint** - Verifies that `/.well-known/nodeinfo` is accessible
76 * **NodeInfo REST Endpoint** - Verifies that the NodeInfo 2.2 REST endpoint returns valid data
77
78 If either check fails, you'll see recommendations on how to fix the issue.
79
80 ## Changelog
81
82 Project and support maintained on github at [](https://github.com/pfefferle/wordpress-nodeinfopfefferle/wordpress-nodeinfo](https://github.com/pfefferle/wordpress-nodeinfo](https://github.com/pfefferle/wordpress-nodeinfo).
83
84 ### 3.1.0
85
86 * Added singleton-based plugin loading mechanism for better extensibility
87 * Added backwards compatibility handler for deprecated `wellknown_nodeinfo_data` filter
88
89 ### 3.0.0
90
91 * Refactored to filter-based architecture for better extensibility
92 * Added support for NodeInfo 2.2
93 * Added separate integration classes for each NodeInfo version (1.0, 1.1, 2.0, 2.1, 2.2)
94 * Added PSR-4 style autoloader
95 * Updated schemas to match official NodeInfo specifications with enums and constraints
96 * Added `nodeinfo_protocols` filter for plugins to register protocols
97 * Added `software.homepage` field for NodeInfo 2.1 and 2.2
98 * Added Site Health checks to verify endpoints are accessible
99
100 ### 2.3.1
101
102 * mask version number
103
104 ### 2.3.0
105
106 * add nodeName, nodeDescription and nodeIcon to meta array
107
108 ### 2.2.0
109
110 * add MAUs
111
112 ### 2.1.1
113
114 * load plugin on init, to keep up with changes on the ActivityPub side
115
116 ### 2.1.0
117
118 * count only users that can "publish_posts"
119
120 ### 2.0.0
121
122 * removed support for ServiceInfo, as it never caught on
123
124 ### 1.0.8
125
126 * fix link to WordPress repository (props @jeherve)
127 * add generator object to metadata to link to plugin repository
128
129 ### 1.0.7
130
131 * NodeInfo 2.1 protocols field has to be an array, not an object
132
133 ### 1.0.6
134
135 * add autodiscovery link for nodeinfo 2.1
136 * fix some typos/copy&paste issues
137
138 ### 1.0.5
139
140 * fix missing permission_callback issue
141
142 ### 1.0.4
143
144 * fixed whitespace problem
145
146 ### 1.0.3
147
148 * added admin_email to metadata, to be able to "Manage your instance" on https://fediverse.network/manage/
149
150 ### 1.0.2
151
152 * fixed JSON schema (thanks @hrefhref)
153
154 ### 1.0.1
155
156 * use `home_url` insted of `site_url`
157
158 ### 1.0.0
159
160 * initial
161
162 ## Installation
163
164 Follow the normal instructions for [](https://codex.wordpress.org/Managing_Plugins#Installing_Pluginsinstalling WordPress plugins](https://codex.wordpress.org/Managing_Plugins#Installing_Plugins](https://codex.wordpress.org/Managing_Plugins#Installing_Plugins).
165
166 ### Automatic Plugin Installation
167
168 To add a WordPress Plugin using the [](https://codex.wordpress.org/Administration_Screens#Add_New_Pluginsbuilt-in plugin installer](https://codex.wordpress.org/Administration_Screens#Add_New_Plugins](https://codex.wordpress.org/Administration_Screens#Add_New_Plugins):
169
170 1. Go to [](https://codex.wordpress.org/Administration_Screens#PluginsPlugins](https://codex.wordpress.org/Administration_Screens#Plugins](https://codex.wordpress.org/Administration_Screens#Plugins) > [](https://codex.wordpress.org/Plugins_Add_New_ScreenAdd New](https://codex.wordpress.org/Plugins_Add_New_Screen](https://codex.wordpress.org/Plugins_Add_New_Screen).
171 1. Type "`nodeinfo`" into the **Search Plugins** box.
172 1. Find the WordPress Plugin you wish to install.
173 1. Click **Details** for more information about the Plugin and instructions you may wish to print or save to help setup the Plugin.
174 1. Click **Install Now** to install the WordPress Plugin.
175 1. The resulting installation screen will list the installation as successful or note any problems during the install.
176 1. If successful, click **Activate Plugin** to activate it, or **Return to Plugin Installer** for further actions.
177
178 ### Manual Plugin Installation
179
180 There are a few cases when manually installing a WordPress Plugin is appropriate.
181
182 * If you wish to control the placement and the process of installing a WordPress Plugin.
183 * If your server does not permit automatic installation of a WordPress Plugin.
184 * If you want to try the [](https://github.com/pfefferle/wordpress-nodeinfolatest development version](https://github.com/pfefferle/wordpress-nodeinfo](https://github.com/pfefferle/wordpress-nodeinfo).
185
186 Installation of a WordPress Plugin manually requires FTP familiarity and the awareness that you may put your site at risk if you install a WordPress Plugin incompatible with the current version or from an unreliable source.
187
188 Backup your site completely before proceeding.
189
190 To install a WordPress Plugin manually:
191
192 * Download your WordPress Plugin to your desktop.
193 * Download from [](https://wordpress.org/plugins/nodeinfo/the WordPress directory](https://wordpress.org/plugins/nodeinfo/](https://wordpress.org/plugins/nodeinfo/)
194 * Download from [](https://github.com/pfefferle/wordpress-nodeinfo/releasesGitHub](https://github.com/pfefferle/wordpress-nodeinfo/releases](https://github.com/pfefferle/wordpress-nodeinfo/releases)
195 * If downloaded as a zip archive, extract the Plugin folder to your desktop.
196 * With your FTP program, upload the Plugin folder to the `wp-content/plugins` folder in your WordPress directory online.
197 * Go to [](https://wordpress.org/support/article/plugins-add-new-screen/Plugins screen](https://wordpress.org/support/article/plugins-add-new-screen/](https://wordpress.org/support/article/plugins-add-new-screen/) and find the newly uploaded Plugin in the list.
198 * Click **Activate** to activate it.
199