Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
[akkoma] / lib / pleroma / web / media_proxy / media_proxy_controller.ex
index 12d4401faf2eac7734f276fa6d7a69337bc9dc7a..0f4575e2f20d0782ade5a3183074ab57d491efd5 100644 (file)
@@ -12,6 +12,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
 
   def remote(conn, %{"sig" => sig64, "url" => url64}) do
     with {_, true} <- {:enabled, MediaProxy.enabled?()},
+         {_, false} <- {:in_banned_urls, MediaProxy.in_banned_urls(url)},
          {:ok, url} <- MediaProxy.decode_url(sig64, url64),
          :ok <- MediaProxy.verify_request_path_and_url(conn, url) do
       proxy_opts = Config.get([:media_proxy, :proxy_opts], [])
@@ -20,6 +21,9 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
       {:enabled, false} ->
         send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404))
 
+      {:in_banned_urls, true} ->
+        send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404))
+
       {:error, :invalid_signature} ->
         send_resp(conn, 403, Plug.Conn.Status.reason_phrase(403))