Twitter が崩壊するかどうかはまだわかりませんが、いくつかの兆候が示されています。いずれにせよ、私はMastodonへの投資を続けています。先週、Twitter と Mastodon の間で自分のコンテンツ 紹介しました。 を同期する方法を 今週、自分のドメインに自分のプロファイル ページにリダイレクトする Mastodon ハンドルを設定しました。どのようにそれを達成したか、またまだ抱えている問題について説明したいと思います。 マストドン 101 Mastodon は、中央集権型ではないという点で Twitter とは異なります。これは、独立して実行され、接続された Mastodon サーバーのフェデレーション、 です。正確に言うと、Fediverse は Mastodon ノード以上のものですが、そこまでは行きません。 つまり Fediverse Mastodon アカウントを作成する際の最初の問題は、正しいインスタンスを選択することです。私が最初に選んだのは でしたが、当時は新しいアカウントを閉鎖していました。理由もなく に目を向けましたが、それは提案リストにあり、フランス語でした。 mastodon.social mastodon.top いつでも してフォロワーを維持できるため、サーバーの選択はそれほど重要ではありません.元のサーバーにコンテンツを残す (そして失う) ことに注意してください。いずれの場合も、プロファイルはサーバーによって名前空間が割り当てられます。したがって、ハンドルが変わります。 アカウントを別のインスタンスに移動 現在、私は です。しかし、将来的には で友達に参加したり、自分の を立ち上げたりするのでしょうか?どちらの場合も、ハンドルのサフィックスを変更する必要があります。 @frankel@mastodon.top foojay.social frankel.social それでも、私は自分のハンドルを多くのサイトで公開しており、移行時に更新を忘れたくありません。したがって、ハンドル 。 は不変でなければなりません マストドンのノードは Fediverse という名前のネットワークに属していると前述しました。 Fediverse ノードは、 プロトコルを介して接続できます。 Mastodon ノードは を使用します。その下で、ActivityPub は WebFinger に依存してハンドルの正しい位置を見つけます。 いくつかの異なる ActivityPub ウェブフィンガー Mastodon は を に変換する必要があります。翻訳は、ドメインに関係なく、すべての Mastodon インスタンスで発生する必要があります。このプロセスは、RFC 7033 と れる に基づいています。 @frankel@mastodon.top https://mastodon.top/web/@frankel も呼ば WebFinger 仕様 で説明されている WebFinger は、特定のサーバー上の URI のみを指定 定義する仕様です。これにより、リソースの正確な場所を事前に知らなくても、誰でもリソースの場所を調べることができます。たとえば、電子メールまたは電話番号で。このルックアップはエンドポイント に向けられ、 クエリ パラメータがルックアップとともに渡されます。 Mastodon で使用されるリソース URI は、 で説明されている URI であり、特定のドメインでホストされているプロファイルのユーザー名が含まれます。 RFC 7033 して、リソースへのリンクを解決する方法を /.well-known/webfinger resource RFC 7565 acct: -- WebFinger とは何ですか? なぜ使用するのですか? 上記によると、私のプロフィールを検索するときのクエリは次のとおりです: .ログインしている Mastodon インスタンスに移動し、私のハンドルを検索し、好みのブラウザーの開発者ツールを介してトラフィックを監視することで確認できます。 https://mastodon.top/.well-known/webfinger?resource=acct:frankel@mastodon.top 応答は次のとおりです。 { "subject":"acct:frankel@mastodon.top", "aliases":[ "https://mastodon.top/@frankel", #1 "https://mastodon.top/users/frankel" #1 ], "links":[ { "rel":"http://webfinger.net/rel/profile-page", #2 "type":"text/html", "href":"https://mastodon.top/@frankel" }, { "rel":"self", "type":"application/activity+json", "href":"https://mastodon.top/users/frankel" }, { "rel":"http://ostatus.org/schema/1.0/subscribe", "template":"https://mastodon.top/authorize_interaction?uri={uri}" } ] } プロフィールへのURL マストドン用 rel 不変のマストドンハンドル カスタム ドメインで同じクエリに対して同じ応答を返すと、うまくいくはずです。それが私がしたことです: .これは静的ページであり、アカウントは私だけなので、クエリ パラメーターは必要ありません: . https://blog.frankel.ch/.well-known/webfinger?resource=acct:me@frankel.ch https://blog.frankel.ch/.well-known/webfinger これにより、 (または任意のハンドル ) を使用して を検索すると、期待どおりの結果が返されます。 @me@frankel.ch @frankel.ch https://mastodon.top の他のインスタンスを確認しましたが、機能しません。理由は簡単です。ログインしているインスタンスで検索すると、XHR は です。そうでない場合は です。 https://mastodon.social/ など https://mastodon.top/api/v2/search?q=@me@frankel.ch&resolve=true&limit=5 https://mastodon.top/api/v2/search?q=@me@frankel.ch&resolve=false&limit=5 結論: 認証されていない場合にのみ、同じインスタンスのハンドルを照会できます。 ドキュメントでは、 が の場合、クエリは WebFinger を使用しようとしないことが確認されています。 resolve false resolve ブール。 WebFinger ルックアップを試みますか?デフォルトは false です。 -- 検索を実行します 結論 Mastodon と WebFinger の背後にある理論は興味深いものです。不変のマストドン ハンドル を設定することができました。これは、潜在的なフォロワーと通信できるハンドルです。別のサーバーに移動すると、新しい座標で を更新します。 @me@frankel.ch webfinger 私のドメインで唯一の Mastodon ユーザーであるため、このトリックが機能します。複数ある場合は、 パラメータに応じて異なる ID を返すために、静的ページを超えて移動する必要があります。残りは同じままです。 acct: さらに進むには: REST の栄光への歩み JSON ハイパーテキスト アプリケーション言語 RFC 8288 - Web リンク HTTP ステータス コードの選択 — 難しくするのはやめましょう 2022 年 12 月 18 日に で最初に公開された A Java Geek Unsplashの による写真 Shashank Rana