From e9982c521b187136fd197d11a1e5d9b022da5e38 Mon Sep 17 00:00:00 2001 From: href Date: Fri, 30 Nov 2018 19:33:34 +0100 Subject: Upload filter: anonymize filename It replaces the original filename with a randomly generated string. --- lib/pleroma/upload/filter/anonymize_filename.ex | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lib/pleroma/upload/filter/anonymize_filename.ex (limited to 'lib') diff --git a/lib/pleroma/upload/filter/anonymize_filename.ex b/lib/pleroma/upload/filter/anonymize_filename.ex new file mode 100644 index 000000000..a83e764e5 --- /dev/null +++ b/lib/pleroma/upload/filter/anonymize_filename.ex @@ -0,0 +1,10 @@ +defmodule Pleroma.Upload.Filter.AnonymizeFilename do + @moduledoc "Replaces the original filename with a randomly generated string." + @behaviour Pleroma.Upload.Filter + + def filter(upload) do + extension = List.last(String.split(upload.name, ".")) + string = Base.url_encode64(:crypto.strong_rand_bytes(10), padding: false) + {:ok, %Pleroma.Upload{upload | name: string <> "." <> extension}} + end +end -- cgit v1.2.3