Merge remote-tracking branch 'origin/develop' into shigusegubu
* origin/develop: (145 commits) CHANGELOG.md: Remove wrong entries from Unreleased(patch) Only run one attachment cleanup job per node Just validate command is in PATH; forking a shell is wasteful Linting. Pbkdf2: Use it everywhere. Password -> Password.Pbkdf2 Linting Password: Replace Pbkdf2 with Password. Password: Add password module COPYING: Bump copyright to 2021 Bump Copyright to 2021 Pagination: Don't be dos'd by random parameters. Simplify. We will always have a result from Upload.base_url/0, so just add it to the list Fix regression in MediaProxy.local?/0 and appending the Upload.base_url to whitelisted domains ChatMessages: Fix pagination headers. Formatting .formatter.exs: Format optional migrations Add development section Apply 4 suggestion(s) to 2 file(s) Move construction of S3 base URL with optional namespace and bucket to Upload.base_url/0 ...
This commit is contained in:
commit
697397e2b8
923 changed files with 3051 additions and 2114 deletions
|
|
@ -47,7 +47,6 @@ use Mix.Config
|
|||
config :pleroma, ecto_repos: [Pleroma.Repo]
|
||||
|
||||
config :pleroma, Pleroma.Repo,
|
||||
types: Pleroma.PostgresTypes,
|
||||
telemetry_event: [Pleroma.Repo.Instrumenter],
|
||||
migration_lock: nil
|
||||
|
||||
|
|
@ -64,14 +63,6 @@ config :pleroma, Pleroma.Upload,
|
|||
filters: [Pleroma.Upload.Filter.Dedupe],
|
||||
link_name: false,
|
||||
proxy_remote: false,
|
||||
proxy_opts: [
|
||||
redirect_on_failure: false,
|
||||
max_body_length: 25 * 1_048_576,
|
||||
http: [
|
||||
follow_redirect: true,
|
||||
pool: :upload
|
||||
]
|
||||
],
|
||||
filename_display_max_length: 30,
|
||||
default_description: :filename
|
||||
|
||||
|
|
@ -565,7 +556,7 @@ config :pleroma, Oban,
|
|||
scheduled_activities: 10,
|
||||
background: 5,
|
||||
remote_fetcher: 2,
|
||||
attachments_cleanup: 5,
|
||||
attachments_cleanup: 1,
|
||||
new_users_digest: 1,
|
||||
mute_expire: 5
|
||||
],
|
||||
|
|
@ -662,7 +653,7 @@ config :pleroma, :email_notifications,
|
|||
}
|
||||
|
||||
config :pleroma, :oauth2,
|
||||
token_expires_in: 3600 * 24 * 30,
|
||||
token_expires_in: 3600 * 24 * 365 * 100,
|
||||
issue_new_refresh_token: true,
|
||||
clean_expired_tokens: false
|
||||
|
||||
|
|
|
|||
|
|
@ -101,74 +101,10 @@ config :pleroma, :config_description, [
|
|||
%{
|
||||
key: :proxy_remote,
|
||||
type: :boolean,
|
||||
description:
|
||||
"If enabled, requests to media stored using a remote uploader will be proxied instead of being redirected"
|
||||
},
|
||||
%{
|
||||
key: :proxy_opts,
|
||||
label: "Proxy Options",
|
||||
type: :keyword,
|
||||
description: "Options for Pleroma.ReverseProxy",
|
||||
suggestions: [
|
||||
redirect_on_failure: false,
|
||||
max_body_length: 25 * 1_048_576,
|
||||
http: [
|
||||
follow_redirect: true,
|
||||
pool: :media
|
||||
]
|
||||
],
|
||||
children: [
|
||||
%{
|
||||
key: :redirect_on_failure,
|
||||
type: :boolean,
|
||||
description:
|
||||
"Redirects the client to the real remote URL if there's any HTTP errors. " <>
|
||||
"Any error during body processing will not be redirected as the response is chunked."
|
||||
},
|
||||
%{
|
||||
key: :max_body_length,
|
||||
type: :integer,
|
||||
description:
|
||||
"Limits the content length to be approximately the " <>
|
||||
"specified length. It is validated with the `content-length` header and also verified when proxying."
|
||||
},
|
||||
%{
|
||||
key: :http,
|
||||
label: "HTTP",
|
||||
type: :keyword,
|
||||
description: "HTTP options",
|
||||
children: [
|
||||
%{
|
||||
key: :adapter,
|
||||
type: :keyword,
|
||||
description: "Adapter specific options",
|
||||
children: [
|
||||
%{
|
||||
key: :ssl_options,
|
||||
type: :keyword,
|
||||
label: "SSL Options",
|
||||
description: "SSL options for HTTP adapter",
|
||||
children: [
|
||||
%{
|
||||
key: :versions,
|
||||
type: {:list, :atom},
|
||||
description: "List of TLS versions to use",
|
||||
suggestions: [:tlsv1, ":tlsv1.1", ":tlsv1.2"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
%{
|
||||
key: :proxy_url,
|
||||
label: "Proxy URL",
|
||||
type: [:string, :tuple],
|
||||
description: "Proxy URL",
|
||||
suggestions: ["127.0.0.1:8123", {:socks5, :localhost, 9050}]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
description: """
|
||||
Proxy requests to the remote uploader.\n
|
||||
Useful if media upload endpoint is not internet accessible.
|
||||
"""
|
||||
},
|
||||
%{
|
||||
key: :filename_display_max_length,
|
||||
|
|
@ -1550,7 +1486,7 @@ config :pleroma, :config_description, [
|
|||
%{
|
||||
key: :enabled,
|
||||
type: :boolean,
|
||||
description: "Enables proxying of remote media to the instance's proxy"
|
||||
description: "Enables proxying of remote media via the instance's proxy"
|
||||
},
|
||||
%{
|
||||
key: :base_url,
|
||||
|
|
@ -1587,80 +1523,41 @@ config :pleroma, :config_description, [
|
|||
},
|
||||
%{
|
||||
key: :proxy_opts,
|
||||
label: "Proxy Options",
|
||||
label: "Advanced MediaProxy Options",
|
||||
type: :keyword,
|
||||
description: "Options for Pleroma.ReverseProxy",
|
||||
description: "Internal Pleroma.ReverseProxy settings",
|
||||
suggestions: [
|
||||
redirect_on_failure: false,
|
||||
max_body_length: 25 * 1_048_576,
|
||||
max_read_duration: 30_000,
|
||||
http: [
|
||||
follow_redirect: true,
|
||||
pool: :media
|
||||
]
|
||||
max_read_duration: 30_000
|
||||
],
|
||||
children: [
|
||||
%{
|
||||
key: :redirect_on_failure,
|
||||
type: :boolean,
|
||||
description:
|
||||
"Redirects the client to the real remote URL if there's any HTTP errors. " <>
|
||||
"Any error during body processing will not be redirected as the response is chunked."
|
||||
description: """
|
||||
Redirects the client to the origin server upon encountering HTTP errors.\n
|
||||
Note that files larger than Max Body Length will trigger an error. (e.g., Peertube videos)\n\n
|
||||
**WARNING:** This setting will allow larger files to be accessed, but exposes the\n
|
||||
IP addresses of your users to the other servers, bypassing the MediaProxy.
|
||||
"""
|
||||
},
|
||||
%{
|
||||
key: :max_body_length,
|
||||
type: :integer,
|
||||
description:
|
||||
"Limits the content length to be approximately the " <>
|
||||
"specified length. It is validated with the `content-length` header and also verified when proxying."
|
||||
description: "Maximum file size allowed through the Pleroma MediaProxy cache."
|
||||
},
|
||||
%{
|
||||
key: :max_read_duration,
|
||||
type: :integer,
|
||||
description: "Timeout (in milliseconds) of GET request to remote URI."
|
||||
},
|
||||
%{
|
||||
key: :http,
|
||||
label: "HTTP",
|
||||
type: :keyword,
|
||||
description: "HTTP options",
|
||||
children: [
|
||||
%{
|
||||
key: :adapter,
|
||||
type: :keyword,
|
||||
description: "Adapter specific options",
|
||||
children: [
|
||||
%{
|
||||
key: :ssl_options,
|
||||
type: :keyword,
|
||||
label: "SSL Options",
|
||||
description: "SSL options for HTTP adapter",
|
||||
children: [
|
||||
%{
|
||||
key: :versions,
|
||||
type: {:list, :atom},
|
||||
description: "List of TLS version to use",
|
||||
suggestions: [:tlsv1, ":tlsv1.1", ":tlsv1.2"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
%{
|
||||
key: :proxy_url,
|
||||
label: "Proxy URL",
|
||||
type: [:string, :tuple],
|
||||
description: "Proxy URL",
|
||||
suggestions: ["127.0.0.1:8123", {:socks5, :localhost, 9050}]
|
||||
}
|
||||
]
|
||||
description: "Timeout (in milliseconds) of GET request to the remote URI."
|
||||
}
|
||||
]
|
||||
},
|
||||
%{
|
||||
key: :whitelist,
|
||||
type: {:list, :string},
|
||||
description: "List of hosts with scheme to bypass the mediaproxy",
|
||||
description: "List of hosts with scheme to bypass the MediaProxy",
|
||||
suggestions: ["http://example.com"]
|
||||
}
|
||||
]
|
||||
|
|
@ -1953,14 +1850,8 @@ config :pleroma, :config_description, [
|
|||
group: :pleroma,
|
||||
key: Oban,
|
||||
type: :group,
|
||||
description: """
|
||||
[Oban](https://github.com/sorentwo/oban) asynchronous job processor configuration.
|
||||
|
||||
Note: if you are running PostgreSQL in [`silent_mode`](https://postgresqlco.nf/en/doc/param/silent_mode?version=9.1),
|
||||
it's advised to set [`log_destination`](https://postgresqlco.nf/en/doc/param/log_destination?version=9.1) to `syslog`,
|
||||
otherwise `postmaster.log` file may grow because of "you don't own a lock of type ShareLock" warnings
|
||||
(see https://github.com/sorentwo/oban/issues/52).
|
||||
""",
|
||||
description:
|
||||
"[Oban](https://github.com/sorentwo/oban) asynchronous job processor configuration.",
|
||||
children: [
|
||||
%{
|
||||
key: :log,
|
||||
|
|
|
|||
|
|
@ -1,2 +1,4 @@
|
|||
firefox, /emoji/Firefox.gif, Gif,Fun
|
||||
blank, /emoji/blank.png, Fun
|
||||
dinosaur, /emoji/dino walking.gif, Gif
|
||||
external_emoji, https://example.com/emoji.png
|
||||
|
|
|
|||
|
|
@ -47,10 +47,13 @@ config :pleroma, Pleroma.Repo,
|
|||
password: "postgres",
|
||||
database: "pleroma_test",
|
||||
hostname: System.get_env("DB_HOST") || "localhost",
|
||||
pool: Ecto.Adapters.SQL.Sandbox
|
||||
pool: Ecto.Adapters.SQL.Sandbox,
|
||||
pool_size: 50
|
||||
|
||||
config :pleroma, :dangerzone, override_repo_pool_size: true
|
||||
|
||||
# Reduce hash rounds for testing
|
||||
config :pbkdf2_elixir, rounds: 1
|
||||
config :pleroma, :password, iterations: 1
|
||||
|
||||
config :tesla, adapter: Tesla.Mock
|
||||
|
||||
|
|
@ -121,6 +124,20 @@ config :tzdata, :autoupdate, :disabled
|
|||
|
||||
config :pleroma, :mrf, policies: []
|
||||
|
||||
config :pleroma, :pipeline,
|
||||
object_validator: Pleroma.Web.ActivityPub.ObjectValidatorMock,
|
||||
mrf: Pleroma.Web.ActivityPub.MRFMock,
|
||||
activity_pub: Pleroma.Web.ActivityPub.ActivityPubMock,
|
||||
side_effects: Pleroma.Web.ActivityPub.SideEffectsMock,
|
||||
federator: Pleroma.Web.FederatorMock,
|
||||
config: Pleroma.ConfigMock
|
||||
|
||||
config :pleroma, :cachex, provider: Pleroma.CachexMock
|
||||
|
||||
config :pleroma, :side_effects,
|
||||
ap_streamer: Pleroma.Web.ActivityPub.ActivityPubMock,
|
||||
logger: Pleroma.LoggerMock
|
||||
|
||||
if File.exists?("./config/test.secret.exs") do
|
||||
import_config "test.secret.exs"
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue