1 defmodule Pleroma.Upload.Filter.AnonymizeFilename do
3 Replaces the original filename with a pre-defined text or randomly generated string.
5 Should be used after `Pleroma.Upload.Filter.Dedupe`.
7 @behaviour Pleroma.Upload.Filter
10 extension = List.last(String.split(upload.name, "."))
11 name = Pleroma.Config.get([__MODULE__, :text], random(extension))
12 {:ok, %Pleroma.Upload{upload | name: name}}
15 defp random(extension) do
18 |> :crypto.strong_rand_bytes()
19 |> Base.url_encode64(padding: false)
21 string <> "." <> extension