diff --git a/changelog.d/rich-media-user-agent.add b/changelog.d/rich-media-user-agent.add new file mode 100644 index 000000000..5c1e2b134 --- /dev/null +++ b/changelog.d/rich-media-user-agent.add @@ -0,0 +1 @@ +Allow setting custom user-agent for fetching rich media content diff --git a/config/description.exs b/config/description.exs index c61a344e8..a34cf7d94 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2131,6 +2131,11 @@ config :pleroma, :config_description, [ description: "Amount of milliseconds after which the HTTP request is forcibly terminated.", suggestions: [5_000] + }, + %{ + key: :user_agent, + type: :string, + description: "Custom User-Agent header to be used when fetching rich media content." } ] }, diff --git a/lib/pleroma/web/rich_media/helpers.ex b/lib/pleroma/web/rich_media/helpers.ex index d4be97957..963076510 100644 --- a/lib/pleroma/web/rich_media/helpers.ex +++ b/lib/pleroma/web/rich_media/helpers.ex @@ -126,6 +126,11 @@ defmodule Pleroma.Web.RichMedia.Helpers do end defp req_headers do - [{"user-agent", Pleroma.Application.user_agent() <> "; Bot"}] + user_agent = Config.get([:rich_media, :user_agent], :default) + + case user_agent do + :default -> [{"user-agent", Pleroma.Application.user_agent() <> "; Bot"}] + custom -> [{"user-agent", custom}] + end end end