|
|
@ -33,7 +33,10 @@ defmodule Mix.Tasks.Pleroma.Instance do
|
|
|
|
uploads_dir: :string,
|
|
|
|
uploads_dir: :string,
|
|
|
|
static_dir: :string,
|
|
|
|
static_dir: :string,
|
|
|
|
listen_ip: :string,
|
|
|
|
listen_ip: :string,
|
|
|
|
listen_port: :string
|
|
|
|
listen_port: :string,
|
|
|
|
|
|
|
|
strip_uploads: :string,
|
|
|
|
|
|
|
|
anonymize_uploads: :string,
|
|
|
|
|
|
|
|
dedupe_uploads: :string
|
|
|
|
],
|
|
|
|
],
|
|
|
|
aliases: [
|
|
|
|
aliases: [
|
|
|
|
o: :output,
|
|
|
|
o: :output,
|
|
|
@ -158,6 +161,30 @@ defmodule Mix.Tasks.Pleroma.Instance do
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|> Path.expand()
|
|
|
|
|> Path.expand()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
strip_uploads =
|
|
|
|
|
|
|
|
get_option(
|
|
|
|
|
|
|
|
options,
|
|
|
|
|
|
|
|
:strip_uploads,
|
|
|
|
|
|
|
|
"Do you want to strip location (GPS) data from uploaded images? (y/n)",
|
|
|
|
|
|
|
|
"y"
|
|
|
|
|
|
|
|
) === "y"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
anonymize_uploads =
|
|
|
|
|
|
|
|
get_option(
|
|
|
|
|
|
|
|
options,
|
|
|
|
|
|
|
|
:anonymize_uploads,
|
|
|
|
|
|
|
|
"Do you want to anonymize the filenames of uploads? (y/n)",
|
|
|
|
|
|
|
|
"n"
|
|
|
|
|
|
|
|
) === "y"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dedupe_uploads =
|
|
|
|
|
|
|
|
get_option(
|
|
|
|
|
|
|
|
options,
|
|
|
|
|
|
|
|
:dedupe_uploads,
|
|
|
|
|
|
|
|
"Do you want to deduplicate uploaded files? (y/n)",
|
|
|
|
|
|
|
|
"n"
|
|
|
|
|
|
|
|
) === "y"
|
|
|
|
|
|
|
|
|
|
|
|
Config.put([:instance, :static_dir], static_dir)
|
|
|
|
Config.put([:instance, :static_dir], static_dir)
|
|
|
|
|
|
|
|
|
|
|
|
secret = :crypto.strong_rand_bytes(64) |> Base.encode64() |> binary_part(0, 64)
|
|
|
|
secret = :crypto.strong_rand_bytes(64) |> Base.encode64() |> binary_part(0, 64)
|
|
|
@ -188,7 +215,13 @@ defmodule Mix.Tasks.Pleroma.Instance do
|
|
|
|
uploads_dir: uploads_dir,
|
|
|
|
uploads_dir: uploads_dir,
|
|
|
|
rum_enabled: rum_enabled,
|
|
|
|
rum_enabled: rum_enabled,
|
|
|
|
listen_ip: listen_ip,
|
|
|
|
listen_ip: listen_ip,
|
|
|
|
listen_port: listen_port
|
|
|
|
listen_port: listen_port,
|
|
|
|
|
|
|
|
upload_filters:
|
|
|
|
|
|
|
|
upload_filters(%{
|
|
|
|
|
|
|
|
strip: strip_uploads,
|
|
|
|
|
|
|
|
anonymize: anonymize_uploads,
|
|
|
|
|
|
|
|
dedupe: dedupe_uploads
|
|
|
|
|
|
|
|
})
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
result_psql =
|
|
|
|
result_psql =
|
|
|
@ -247,4 +280,31 @@ defmodule Mix.Tasks.Pleroma.Instance do
|
|
|
|
File.write(robots_txt_path, robots_txt)
|
|
|
|
File.write(robots_txt_path, robots_txt)
|
|
|
|
shell_info("Writing #{robots_txt_path}.")
|
|
|
|
shell_info("Writing #{robots_txt_path}.")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
defp upload_filters(filters) when is_map(filters) do
|
|
|
|
|
|
|
|
enabled_filters =
|
|
|
|
|
|
|
|
if filters.strip do
|
|
|
|
|
|
|
|
[Pleroma.Upload.Filter.ExifTool]
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
[]
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enabled_filters =
|
|
|
|
|
|
|
|
if filters.anonymize do
|
|
|
|
|
|
|
|
enabled_filters ++ [Pleroma.Upload.Filter.AnonymizeFilename]
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
enabled_filters
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enabled_filters =
|
|
|
|
|
|
|
|
if filters.dedupe do
|
|
|
|
|
|
|
|
enabled_filters ++ [Pleroma.Upload.Filter.Dedupe]
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
enabled_filters
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enabled_filters
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
defp upload_filters(_), do: []
|
|
|
|
end
|
|
|
|
end
|
|
|
|