#!/bin/sh # make sure the file/folder exists and .temp doesn't exist if [ ! -f $@ ]; then echo "file '$@' not found" exit 1 fi echo "setting up" mkdir .temp$$ cp -r $@ .temp$$ cd .temp$$ F="file" echo "tar" tar -cf ${F}.tar $@ F="${F}.tar" echo "gz" gzip -9 ${F} F="${F}.gz" echo "xz" xz -ze9T$(nproc) ${F} F="${F}.xz" echo "lzma" lzma -ze9T$(nproc) ${F} F="${F}.lzma" echo "bz2" bzip2 -z9 ${F} F="${F}.bz2" echo "lz" lzip -9 ${F} F="${F}.lz" echo "cpio" echo ${F} | cpio --quiet -oF ${F}.cpio F="${F}.cpio" echo "zst" zstd -T$(nproc) --ultra -q -22 ${F} F="${F}.zst" echo "lz4" lz4 -q -z -12 --rm ${F} F="${F}.lz4" # not doing rar because there's no free software to create them. # .zip wasn't in the original so i'm doing that instead echo "zip" zip -9 -q ${F}.zip ${F} F="${F}.zip" echo "7z" 7z a -t7z -mx9 ${F}.7z ${F} > /dev/null # 7zip has no quiet option >:( F="${F}.7z" echo "bz3" bzip3 -z --rm -j$(nproc) ${F} F="${F}.bz3" echo "br" brotli -j -q 11 ${F} F="${F}.br" echo "hex" xxd -ps ${F} > ${F}.hex F="${F}.hex" echo "swcr" cat ${F} | sweecrypt encrypt > ${F}.swcr F="${F}.swcr" echo "b64" base64 ${F} > ${F}.b64 F="${F}.b64" echo "b32" base32 ${F} > ${F}.b32 F="${F}.b32" echo "lzo" lzop -9 -q ${F} F="${F}.lzo" echo "squashfs" mksquashfs ${F} ${F}.squashfs -quiet -no-progress F="${F}.squashfs" echo "cleaning up" mv ${F} .. cd .. rm -r .temp$$ echo "done"