126 lines
4.0 KiB
Bash
126 lines
4.0 KiB
Bash
#!/usr/bin/bash
|
|
|
|
gcfmount () {
|
|
if [ "$1" == "data" ]; then
|
|
GOCRYPTFS_CONFIG_ARG=~/.keys/gocryptfs/data-cipher/gocryptfs.conf
|
|
GOCRYPTFS_PASSFILE_ARG=~/.keys/gocryptfs/gocryptfs.key
|
|
GOCRYPTFS_VAULT_ARG=~/.${1}
|
|
fi
|
|
|
|
if [ "$1" == "classified" ]; then
|
|
GOCRYPTFS_CONFIG_ARG=~/.keys/gocryptfs/secret-cipher/gocryptfs.conf
|
|
GOCRYPTFS_PASSFILE_ARG=~/.keys/gocryptfs/gocryptfs.key
|
|
GOCRYPTFS_VAULT_ARG=~/Documents/.secret
|
|
fi
|
|
|
|
if [ "$1" == "works-in-progress" ]; then
|
|
GOCRYPTFS_CONFIG_ARG=~/.keys/gocryptfs/wip-cipher/gocryptfs.conf
|
|
GOCRYPTFS_PASSFILE_ARG=~/.keys/gocryptfs/gocryptfs-wip.key
|
|
GOCRYPTFS_VAULT_ARG=~/Portfolio/.WIP
|
|
fi
|
|
|
|
if ! [ -f ~/.mnt/data ]; then
|
|
mkdir -p ~/.mnt/data
|
|
fi
|
|
|
|
if ! [ -f ~/.mnt/works-in-progress ]; then
|
|
mkdir -p ~/.mnt/works-in-progress
|
|
fi
|
|
|
|
if ! [ -f ~/.mnt/classified ]; then
|
|
mkdir -p ~/.mnt/classified
|
|
fi
|
|
|
|
gocryptfs -config "$GOCRYPTFS_CONFIG_ARG" -passfile "$GOCRYPTFS_PASSFILE_ARG" "$GOCRYPTFS_VAULT_ARG" ~/.mnt/"${1}"
|
|
}
|
|
|
|
gcfunmount () {
|
|
GOCRYPTFS_PLAIN_ARG=~/.mnt/${1}
|
|
|
|
fusermount -u "$GOCRYPTFS_PLAIN_ARG"
|
|
}
|
|
|
|
gpgcrypt () {
|
|
if [ -z "$2" ] || [ -z "$1" ]; then
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$1" == "prof-yubi-meth" ]; then
|
|
ENCRYPTION_SUBKEYS=("4B6331BEF3AC0BE7" "0224C38EB9F83CEC")
|
|
elif [ "$1" == "prof-meth" ]; then
|
|
ENCRYPTION_SUBKEYS=("52BF88A647736790" "310C56CDE883C607")
|
|
elif [ "$1" == "pers-meth" ]; then
|
|
ENCRYPTION_SUBKEYS=("3C75E89F4CF28B73" "C588608AC4ECA184")
|
|
elif [ "$1" == "perv-meth" ]; then
|
|
ENCRYPTION_SUBKEYS=("CA4E8224B296365A")
|
|
elif [ "$1" == "perv-yubi-meth" ]; then
|
|
ENCRYPTION_SUBKEYS=("8B0C4AEF8B316FC9")
|
|
fi
|
|
|
|
if [ -z "$3" ]; then
|
|
SUBKEY_ARG_LEN="${#ENCRYPTION_SUBKEYS[@]}"
|
|
if (( SUBKEY_ARG_LEN < 2 )); then
|
|
gpg -a -r "${ENCRYPTION_SUBKEYS[0]}"! -e "$2"
|
|
else
|
|
gpg -a -r "${ENCRYPTION_SUBKEYS[0]}"! -r "${ENCRYPTION_SUBKEYS[1]}"! -e "$2"
|
|
fi
|
|
else
|
|
if (( SUBKEY_ARG_LEN < 2 )); then
|
|
gpg -a -r "${ENCRYPTION_SUBKEYS[0]}"! -o "$3" -e "$2"
|
|
else
|
|
gpg -a -r "${ENCRYPTION_SUBKEYS[0]}"! -r "${ENCRYPTION_SUBKEYS[1]}"! -o "$3" -e "$2"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
znap () {
|
|
DATE_OF_ZFS_SNAPSHOT=$(date '+%Y%m%d%H%M%S')
|
|
|
|
if [ -z "$1" ]; then
|
|
exit 1
|
|
elif [ "$1" == "essential" ]; then
|
|
sudo zfs snapshot "zroot${HOME}@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot${HOME}/.config@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot${HOME}/.var/app@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot${HOME}/.local/share/flatpak@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot/var/lib/nfs@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot/var/lib/NetworkManager@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot/keystore@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot/srv@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot/var/games@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot/var/mail@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot/var/www@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot/usr/local@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot "zroot/var/lib/AccountsService@${DATE_OF_ZFS_SNAPSHOT}"
|
|
sudo zfs snapshot -r "medialib@${DATE_OF_ZFS_SNAPSHOT}"
|
|
zfs list -t snapshot
|
|
# @NOTE: reccommended w option for zfs send
|
|
else
|
|
sudo zfs snapshot "${1}@${DATE_OF_ZFS_SNAPSHOT}"
|
|
zfs list -t snapshot | grep "$1"
|
|
fi
|
|
}
|
|
|
|
zeject () {
|
|
if [ -z "$1" ]; then
|
|
exit 1
|
|
fi
|
|
|
|
sudo zpool export "$1"
|
|
}
|
|
|
|
ffcompress () {
|
|
if [ -z "$2" ]; then
|
|
CONVCODEC="libx265"
|
|
else
|
|
CONVCODEC=$2
|
|
fi
|
|
|
|
ffmpeg -i "$1" -c:v "$CONVCODEC" -preset veryfast "new-${1}"
|
|
rm "$1"
|
|
mv "new-${1}" "$1"
|
|
}
|
|
|
|
z-apt-clean () {
|
|
zfs list -t snapshot | grep 'apt-' | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {}
|
|
} |