瀏覽代碼

add allow_followersonly and allow_direct options for configuring mrf_rejectnonpublic

tags/v0.9.9
squidboi 6 年之前
父節點
當前提交
07f0cfa53f
沒有發現已知的金鑰在資料庫的簽署中 GPG Key ID: 18925A9B65D2457
共有 2 個文件被更改,包括 27 次插入3 次删除
  1. +4
    -0
      config/config.exs
  2. +23
    -3
      lib/pleroma/web/activity_pub/mrf/reject_non_public.ex

+ 4
- 0
config/config.exs 查看文件

@@ -59,6 +59,10 @@ config :pleroma, :instance,

config :pleroma, :activitypub, accept_blocks: true

config :pleroma, :mrf_rejectnonpublic,
allow_followersonly: false,
allow_direct: false

config :pleroma, :mrf_simple,
media_removal: [],
media_nsfw: [],


+ 23
- 3
lib/pleroma/web/activity_pub/mrf/reject_non_public.ex 查看文件

@@ -2,6 +2,10 @@ defmodule Pleroma.Web.ActivityPub.MRF.RejectNonPublic do
alias Pleroma.User
@behaviour Pleroma.Web.ActivityPub.MRF

@mrf_rejectnonpublic Application.get_env(:pleroma, :mrf_rejectnonpublic)
@allow_followersonly Keyword.get(@mrf_rejectnonpublic, :allow_followersonly)
@allow_direct Keyword.get(@mrf_rejectnonpublic, :allow_direct)

@impl true
def filter(object) do
if object["type"] == "Create" do
@@ -18,9 +22,25 @@ defmodule Pleroma.Web.ActivityPub.MRF.RejectNonPublic do
end

case visibility do
"public" -> {:ok, object}
"unlisted" -> {:ok, object}
_ -> {:reject, nil}
"public" ->
{:ok, object}

"unlisted" ->
{:ok, object}

"followers" ->
with true <- @allow_followersonly do
{:ok, object}
else
_e -> {:reject, nil}
end

"direct" ->
with true <- @allow_direct do
{:ok, object}
else
_e -> {:reject, nil}
end
end
else
{:ok, object}


Loading…
取消
儲存