Plume 如何在聯邦網路中運作

Plume 用於聯邦標準的概要,它們是如何實現以及這些標準哪些在Plume是不可用。

為了與其它聯邦軟體以及自身聯合,Plume使用各種協議:

目前,以下幾個方面是能與聯邦互通的:

而這些部分沒有與聯邦互通,但將來可能會有:

WebFinger

WebFinger用來發現遠程設定文件 當你打開一個陌生使用者頁面時 (/@/username@instance.tld),Plume 將向另一個站點發送 WebFinger 請求,在標準/.well-known/webfinger 端點。 Plume 將忽略 /.well-known/host-meta端點,這通常可用於定義另一個 WebFinger 端點,並始終使用標準 URL。

Plume 使用 webfinger crate 來提供 WebFinger 資訊並獲取它們。

HTTP Signatures

Plume 檢查每個傳入的 Activity 是否已使用actor的金鑰對進行簽名。

為此,它使用Signature HTTP header。 有關 header 產生方法的更多細節請參考 HTTP Signatures 規範.

Digest header 也應該存在並用於產生簽名,所以我們也可以驗證請求的主體。

NodeInfo

Plume 在/nodeinfo URL上使用 NodeInfo 公開站點的元數據。

輸出範例

{
  "version": "2.0",
  "software": {
    "name": "Plume",
    "version": "0.2.0"
  },
  "protocols": ["activitypub"],
  "services": {
    "inbound": [],
    "outbound": []
  },
  "openRegistrations": true,
  "usage": {
    "users": {
      "total": 42
    },
    "localPosts": 7878,
    "localComments": 1312
  },
  "metadata": {}
}

ActivityPub

每個使用者在/@/username/inbox都有一個人收件夾,每個站點都有一個共享的收件夾位於/inbox

如果可用,Plume 將使用共享收件夾來傳送活動。

項目表示

支持的活動

Plume 0.2.0 支持以下活動類型。

同意

同意關注請求

這收到時將被忽略,因為 Plume 認為跟隨請求是在任何情況下立即獲得批准,然而,這將在未來改變。

當收到 關注 活動,Plume 將對此做出回應。

宣布

轉發文章,不適用於其它對象。

讓使用者 (actor) 轉發文章 (object).

建立

建立一個新文章或評論

如果 objectArticle:

如果 objectArticle:

刪除

刪除首先使用 Create 活動建立的目標。

object 是一個Tombstone,以及 object.id 是要刪除的對象的 ID(或者文章 ID 或註釋 ID)

關注

收到後,actor 將添加到目標的關注者列表中。

Plume 會立即接受這些活動(請參閱同意)。

對於部落格,除了發回 同意 之外,他們實際上不會做任何其他事情活動:關注部落格尚未實現。

可以用來幫文章按讚

更新

更新文章

復原

取消之前的操作(點讚、轉發或關注)。