Commit Graph

49 Commits

Author SHA1 Message Date
Mark Felder 37d79b76bb Use the configured http client options for mediaproxy 2024-05-27 11:26:21 -04:00
Mark Felder b666710574 Pleroma.Web.MediaProxy.MediaProxyController: dialyzer errors
lib/pleroma/web/media_proxy/media_proxy_controller.ex:55:no_return
Function handle_preview/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:59:call
The function call will not succeed.

Pleroma.HTTP.request(<<72, 69, 65, 68>>, _media_proxy_url :: any(), [], [], [{:pool, :media}])

will never return since the success typing is:
(
  :delete | :get | :head | :options | :patch | :post | :put | :trace,
  binary(),
  any(),
  [{binary(), binary()}],
  Keyword.t()
) :: any()

and the contract is
(
  method(),
  Pleroma.HTTP.Request.url(),
  String.t(),
  Pleroma.HTTP.Request.headers(),
  :elixir.keyword()
) :: {:ok, Tesla.Env.t()} | {:error, any()}

________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:95:unused_fun
Function handle_preview/3 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:111:unused_fun
Function handle_png_preview/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:134:unused_fun
Function handle_jpeg_preview/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:152:unused_fun
Function handle_video_preview/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:164:unused_fun
Function drop_static_param_and_redirect/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:173:unused_fun
Function fallback_on_preview_error/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:177:unused_fun
Function put_preview_response_headers/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:177:unused_fun
Function put_preview_response_headers/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:187:unused_fun
Function thumbnail_max_dimensions/0 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:196:unused_fun
Function min_content_length_for_preview/0 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:200:unused_fun
Function media_preview_proxy_config/0 will never be called.
2024-01-29 18:50:50 -05:00
Mark Felder fadcd7f1a9 Revert MediaProxy Host header validation
Something is going wrong here even though the tests are correct.
2023-06-07 09:19:22 -04:00
Mark Felder b3c3bd99c3 Switch from serving a 400 to a 302 2023-05-30 16:56:09 -04:00
Mark Felder 843fcca5b4 Validate Host header matches expected value before allowing access to MediaProxy 2023-05-29 13:59:51 -04:00
Mark Felder 38bcf6b19e MediaProxyController: Apply CSP sandbox 2023-05-26 12:34:01 -04:00
lain e853cfe7c3 Revert "Merge branch 'copyright-bump' into 'develop'"
This reverts merge request !3825
2023-01-02 20:38:50 +00:00
marcin mikołajczak 10886eeaa2 Bump copyright year
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-01-01 12:13:06 +01:00
Mark Felder cbdc13b767 Fix Varnish 7 support by ensuring Media Preview Proxy fetches headers with a capitalized HEAD verb 2022-08-10 17:09:58 -04:00
Sean King 17aa3644be
Copyright bump for 2022 2022-02-25 23:11:42 -07:00
Haelwenn (lanodan) Monnier c4439c630f
Bump Copyright to 2021
grep -rl '# Copyright © .* Pleroma' * | xargs sed -i 's;Copyright © .* Pleroma .*;Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>;'
2021-01-13 07:49:50 +01:00
Ivan Tashkinov 7cdbd91d83 [#2497] Configurability of :min_content_length (preview proxy). Refactoring, documentation, tests. 2020-09-17 17:13:40 +03:00
Ivan Tashkinov a781f41f96 [#2497] Media preview proxy: misc. improvements (`static` param support, dynamic fifo pipe path), refactoring. 2020-09-16 22:30:42 +03:00
Ivan Tashkinov cd234a5321 [#2497] Media preview proxy: preview bypass for small images
(basing on Content-Length and Content-Type).
2020-09-12 11:20:41 +03:00
Ivan Tashkinov 32831f371f [#2497] Media preview proxy: redirecting to media proxy url in case of preview error or unsupported content type. 2020-09-12 10:33:42 +03:00
Ivan Tashkinov 4d18a50f3c [#2497] Formatting fix. 2020-09-10 21:54:26 +03:00
Ivan Tashkinov dc4e06e199 [#2497] Removed support for thumbnail_max_* params for media preview proxy
(per https://git.pleroma.social/pleroma/pleroma/-/merge_requests/2497#note_70771)
2020-09-10 21:28:07 +03:00
Ivan Tashkinov 68a74d6659 [#2497] Added missing alias, removed legacy `:adapter` option specification for HTTP.get/_. 2020-09-09 19:30:42 +03:00
Ivan Tashkinov f170d47130 [#2497] Adjusted media proxy preview invalidation. Allowed client-side caching for media preview. Adjusted prewarmer to fetch only proxiable URIs.
Removed :preview pool in favor of existing :media one. Misc. refactoring.
2020-09-05 20:19:09 +03:00
Ivan Tashkinov c3b02341bf [#2497] Made media preview proxy fall back to media proxy instead of to source url. Adjusted tests. Refactoring. 2020-09-05 16:16:35 +03:00
Mark Felder d1e1057e22 Merge branch 'media-preview-proxy' of git.pleroma.social:pleroma/pleroma into feld-media-preview-proxy 2020-09-03 14:48:43 -05:00
Mark Felder 6141eb94ab Fetch preview requests through the MediaProxy. Separate connection options are not needed.
Use a separate pool for preview requests
2020-09-03 14:42:11 -05:00
Ivan Tashkinov 60c925380d [#2497] Added support for enforcing output format for media proxy preview, used for avatar_static & header_static (AccountView). 2020-09-03 20:13:29 +03:00
Ivan Tashkinov 6ce28c4091 [#2497] Fix for png media proxy preview response headers (content-type & content-disposition). 2020-09-01 21:21:58 +03:00
Ivan Tashkinov 0a839d51a7 [#2497] Added Cache-Control response header for media proxy preview endpoint. 2020-08-31 13:08:50 +03:00
Mark Felder 2d2af75777 Support PNG previews to preserve alpha channels 2020-08-30 09:17:24 -05:00
Mark Felder 5b4d483f52 Add a note about the avatars and banners situation 2020-08-27 17:28:21 -05:00
Mark Felder ef9d12fcc5 Attempt at supporting video thumbnails via ffmpeg 2020-08-27 12:31:55 -05:00
Mark Felder 157ecf4022 Follow redirects.
I think we should be using some global adapter options here, though.
2020-08-27 11:46:56 -05:00
Mark Felder eead2276e7 Ensure GIFs are redirected to the original or they become static. 2020-08-26 16:18:11 -05:00
Mark Felder ddbddc08fc Redirects for videos right now 2020-08-25 17:31:55 -05:00
Mark Felder 899ea2da3e Switch to imagemagick, only support videos 2020-08-25 17:18:22 -05:00
Ivan Tashkinov aa0a5ffb48 [#2497] Media preview proxy: added `quality` config setting, adjusted width/height defaults. 2020-08-21 08:59:08 +03:00
Ivan Tashkinov 02ad1cd8e9 [#2497] Media preview proxy: added Content-Disposition header with filename to response. 2020-08-20 09:58:50 +03:00
Ivan Tashkinov 4ee15e991e [#2497] Media preview proxy config refactoring & documentation. 2020-08-19 21:36:26 +03:00
Ivan Tashkinov da116d81fb [#2497] Added video preview proxy. Switched from exexec to Port. 2020-08-18 18:23:27 +03:00
Ivan Tashkinov 9faa632037 [#2497] Fixed merge issue. 2020-07-05 19:02:43 +03:00
Ivan Tashkinov 61180ab6f4 Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
# Conflicts:
#	config/config.exs
#	lib/pleroma/web/media_proxy/media_proxy.ex
#	lib/pleroma/web/media_proxy/media_proxy_controller.ex
2020-07-02 16:36:54 +03:00
Mark Felder 2731ea1334 Change references from "deleted_urls" to "banned_urls" as nothing is handled via media deletions anymore; all actions are manual operations by an admin to ban the url 2020-06-17 13:13:55 -05:00
Maksim Pechnikov 2e8a236cef fix invalidates media url's 2020-06-14 21:02:57 +03:00
Ivan Tashkinov 610343edb3 [#2497] Image preview proxy: image resize & background color fix with ffmpeg -filter_complex. 2020-05-21 17:35:42 +03:00
Ivan Tashkinov 1871a5ddb4 [#2497] Image preview proxy: implemented ffmpeg-based resizing, removed eimp & mogrify-based resizing. 2020-05-20 20:26:43 +03:00
Ivan Tashkinov f1f588fd52 [#2497] Added support for :eimp for image resizing. 2020-05-14 20:18:31 +03:00
Ivan Tashkinov 1b23acf164 [#2497] Media preview proxy for images: fixes, tweaks, refactoring, tests adjustments. 2020-05-11 23:21:53 +03:00
Ivan Tashkinov bbdad85568 Initial implementation of image preview proxy. Media proxy tests refactoring. 2020-05-08 23:06:47 +03:00
Ivan Tashkinov f685cbd309 Automatic checks of authentication / instance publicity. Definition of missing OAuth scopes in AdminAPIController. Refactoring. 2020-04-21 16:29:19 +03:00
Mark Felder 05da5f5cca Update Copyrights 2020-03-03 16:44:49 -06:00
Sachin Joshi 1d906ffa82 Merge branch 'develop' into match-file-name
# Conflicts:
#	lib/pleroma/web/media_proxy/media_proxy_controller.ex
2019-07-15 21:30:56 +05:45
Maksim fa17879c20 added tests for Web.MediaProxy 2019-07-14 21:01:32 +00:00