Compare commits

..

No commits in common. "537e01864761960878088780b62513fa4ac30489" and "7290e7dca8e78272537772d9d354133498a3a7ec" have entirely different histories.

2 changed files with 1 additions and 61 deletions

View file

@ -1,6 +1,6 @@
# Autoshare
An upcoming project. This will be a single program that fully automates the content sharing process (packing content into archives, creating previews, uploading archives and previews, and creating a post template ready to be copied and pasted).
An upcoming project. This will be a single program that fully automates the content sharing process (packing content into archives, creating previews, uploading archives and previews, and creating a post template ready to be copied and pasted.
It will be written in a mixture of Bash and Python. Tails and Whonix will be supported, with the goal of making the program work natively in Tails without the need to install additional software.

View file

@ -1,60 +0,0 @@
#!/bin/bash
archive_dir="$(dirname "$0")/../archives"
input_file="${1}"
archive_pwd="${2}"
size="$3"
check_dependencies() {
if ! mkdir -p "$archive_dir"; then
echo "ERROR: Unable to create archive directory"
exit 1
fi
if ! command -v 7z 2>&1 >/dev/null; then
echo "ERROR: 7z must be installed"
exit 1
fi
}
check_input() {
if [[ ! -e "${input_file}" ]]; then
echo "ERROR: Input file '${input_file}' does not exist"
exit 2
fi
echo "Archiving file/directory '${input_file}'" >&2
}
set_volumes() {
volumes=
if [[ "$size" =~ ^[1-9][0-9]*$ ]]; then
volumes="-v${size}m"
elif [[ -n "$size" ]]; then
echo "Invalid size $size, must be a number"
exit 2
fi
echo "Volumes set to '$volumes'" >&2
}
generate_name() {
archive="$archive_dir/$(base64 /dev/urandom | tr -dc [:alnum:] | head -c 20).7z"
echo "Generated archive name $archive" >&2
}
create_archive() {
echo "Packing ${input_file} into archive $archive with password ${archive_pwd}"
[[ -n "$volumes" ]] && echo "and volumes of size $size MB"
7z a -mhe=on "-p${archive_pwd}" "$volumes" "$archive" "${input_file}" >&2
}
check_dependencies
check_input
set_volumes
generate_name
create_archive