GNU socialでNodeInfoを有効にする

GNU socialのIssueで気になるものが．

NodeInfo (#317) · Issues · gnu.io / gnu-social · GitLab

インスタンス情報を確認できるエンドポイントがあると便利だよねってIssueでそれを実現する以下のプラグインが紹介されていました．

chimo/gs-nodeinfo: Nodeinfo plugin for GNU social

これがなくても以下で補足されているようですが，もっと簡単に情報を提供できそうです．

gnusocial.matoken.org – GNUSocial — The Fediverse Network

入れてみました．

$ git clone https://github.com/chimo/gs-nodeinfo
$ sudo -u www-data rsync -avn --exclude="gs-nodeinfo/.git/" ./gs-nodeinfo /var/www/gnusocial.matoken.org/plugins/
$ sudo -u www-data rsync -av --exclude="gs-nodeinfo/.git/" ./gs-nodeinfo /var/www/gnusocial.matoken.org/plugins/
$ sudo mv /var/www/gnusocial.matoken.org/plugins/gs-nodeinfo /var/www/gnusocial.matoken.org/plugins/Nodeinfo
$ echo 'addPlugin('Nodeinfo');' | sudo tee -a /var/www/gnusocial.matoken.org/config.php
addPlugin(Nodeinfo);

とりあえず動かしてみます．

$ w3m -dump https://gnusocial.matoken.org/.well-known/nodeinfo
{"links":[{"rel":"http:\/\/nodeinfo.diaspora.software\/ns\/schema\/2.0","href":"https:\/\/gnusocial.matoken.org\/nodeinfo\/2.0"}]}

見にくいのでjqに食わせてみます．

$ w3m -dump https://gnusocial.matoken.org/.well-known/nodeinfo|jq
{
"links": [
{
"rel": "http://nodeinfo.diaspora.software/ns/schema/2.0",
"href": "https://gnusocial.matoken.org/nodeinfo/2.0"
}
]
}

詳細情報も．こちらは10秒くらい掛かります．

$ w3m -dump https://gnusocial.matoken.org/nodeinfo/2.0|jq
{
"version": "2.0",
"software": {
"name": "gnusocial",
"version": "1.2.0-beta5"
},
"protocols": [
"ostatus"
],
"services": {
"inbound": [
"atom1.0",
"rss2.0",
"gnusocial"
],
"outbound": [
"atom1.0",
"rss2.0",
"twitter",
"gnusocial"
]
},
"openRegistrations": false,
"usage": {
"users": {
"total": 5,
"activeHalfyear": 2,
"activeMonth": 1
},
"localPosts": 3448,
"localComments": 427
},
"metadata": {}
}

使われるかわからないけどとりあえず．