Pleromaインスタンス一覧を作った

概要

Pleromaインスタンス一覧

背景

マストドンのインスタンス一覧が乱立しているのに対して、Pleromaのインスタンス一覧はほとんど知られていない。Pleroma公式ウェブサイトに掲載されているインスタンスは実質2件 (他にフロントエンドのみPleromaのインスタンスが1件) である。マストポータルはインスタンスを登録するときGNU social、マストドン、Pleromaから実装を選択できるが、Pleromaのインスタンスのみを検索する方法が見当たらない。マストドン日本語ウィキのPleromaの記事には7件のインスタンスが記載されている。

提案手法

そこで、Pleromaのインスタンスの一覧を自動的に生成する方法を提案する。すでに、Peers APIを用いてインスタンス一覧を自動的に生成する手法が知られている。このインスタンス一覧にはマストドンとPleromaのインスタンスが含まれるため、Pleromaのインスタンスのみを抽出して表示すればよい。

インスタンスがPleromaであるかどうかを判断するために /api/pleroma/emoji を用いる。Pleromaのみに存在するAPIのうち、GETメソッドかつ認証不要でアクセスできることから、このAPIを選択した。このAPIにアクセスしたときJSONを返すインスタンスはPleromaであると判断する。稀に、すべてのパスに対してHTML形式のメッセージを返すウェブサイトが存在する () ので、これを避けるため、応答がJSON形式であることを確認する必要がある。

実際にPleromaのインスタンス一覧 (API) を作成したところ、20件のインスタンスを収集することが出来た。

制限

今回の実装では、掲載されるインスタンスはPeers APIを提供しているものに限られる。これは、2018年1月15日以降にdevelopブランチのコードを取り入れていることが必要である。

感想

APIを提供しないインスタンス一覧は何をやってもだめ。

広告

投稿者: Hakaba Hitoyo

墓場一夜