mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-23 00:26:30 +00:00
Add way to disable federation.
This commit is contained in:
parent
e98aeabbde
commit
0e20d5529a
3 changed files with 27 additions and 14 deletions
|
@ -49,7 +49,8 @@ config :pleroma, :instance,
|
|||
name: "Pleroma",
|
||||
email: "example@example.com",
|
||||
limit: 5000,
|
||||
registrations_open: true
|
||||
registrations_open: true,
|
||||
federating: true
|
||||
|
||||
config :pleroma, :media_proxy,
|
||||
enabled: false,
|
||||
|
|
|
@ -7,6 +7,8 @@ defmodule Pleroma.Web.Federator do
|
|||
@websub Application.get_env(:pleroma, :websub)
|
||||
@ostatus Application.get_env(:pleroma, :ostatus)
|
||||
@httpoison Application.get_env(:pleroma, :httpoison)
|
||||
@instance Application.get_env(:pleroma, :instance)
|
||||
@federating Keyword.get(@instance, :federating)
|
||||
@max_jobs 10
|
||||
|
||||
def start_link do
|
||||
|
@ -80,12 +82,14 @@ defmodule Pleroma.Web.Federator do
|
|||
end
|
||||
|
||||
def enqueue(type, payload, priority \\ 1) do
|
||||
if @federating do
|
||||
if Mix.env == :test do
|
||||
handle(type, payload)
|
||||
else
|
||||
GenServer.cast(__MODULE__, {:enqueue, type, payload, priority})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def maybe_start_job(running_jobs, queue) do
|
||||
if (:sets.size(running_jobs) < @max_jobs) && queue != [] do
|
||||
|
|
|
@ -3,6 +3,9 @@ defmodule Pleroma.Web.Router do
|
|||
|
||||
alias Pleroma.{Repo, User, Web.Router}
|
||||
|
||||
@instance Application.get_env(:pleroma, :instance)
|
||||
@federating Keyword.get(@instance, :federating)
|
||||
|
||||
def user_fetcher(username) do
|
||||
{:ok, Repo.get_by(User, %{nickname: username})}
|
||||
end
|
||||
|
@ -228,21 +231,26 @@ defmodule Pleroma.Web.Router do
|
|||
get "/objects/:uuid", OStatus.OStatusController, :object
|
||||
get "/activities/:uuid", OStatus.OStatusController, :activity
|
||||
get "/notice/:id", OStatus.OStatusController, :notice
|
||||
|
||||
get "/users/:nickname/feed", OStatus.OStatusController, :feed
|
||||
get "/users/:nickname", OStatus.OStatusController, :feed_redirect
|
||||
|
||||
if @federating do
|
||||
post "/users/:nickname/salmon", OStatus.OStatusController, :salmon_incoming
|
||||
post "/push/hub/:nickname", Websub.WebsubController, :websub_subscription_request
|
||||
get "/push/subscriptions/:id", Websub.WebsubController, :websub_subscription_confirmation
|
||||
post "/push/subscriptions/:id", Websub.WebsubController, :websub_incoming
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if @federating do
|
||||
scope "/.well-known", Pleroma.Web do
|
||||
pipe_through :well_known
|
||||
|
||||
get "/host-meta", WebFinger.WebFingerController, :host_meta
|
||||
get "/webfinger", WebFinger.WebFingerController, :webfinger
|
||||
end
|
||||
end
|
||||
|
||||
scope "/", Pleroma.Web.MastodonAPI do
|
||||
pipe_through :mastodon_html
|
||||
|
|
Loading…
Reference in a new issue