Useful-scripts
My collection of useful shell scripts.
Matrix.org
useful scripts when hosting a synapse homeserver for matrix
get_matrix_access_token.sh
args:
- $1 username
- $2 password
- $3 subdomain (synapse.example.org)
returns a matrix access token
create_matrix_account.sh
Usage: ./create_matrix_account.sh <username> <password> <admin:true|false> <matrix server domain> <shared_secret> [displayname]
NetworkManager
NetworkManager related scripts.
These scripts need to be moved in /etc/NetworkManager/dispatcher.d/ and must be executable
90-nft-wg-sh
Automatically toggle DNS leak protection for wireguard connections with nftables.
Adds tcp/udp rules to block outgoing traffic to dns port (53) if the outgoing interface isn't the wireguard connection.
It assumes wireguard connection names start with "wg-"
You can check for DNS leaks with this website
Other random scripts
belter_tension_calculator.sh
script to calculate the tension with the readings from BigTreeTech belter tool in mm, formula from the xlsx on their git.
randint.sh
usage: randint <positive integer>
print in the terminal a random integer x with 0 \leq x \leq \$1
killwine.sh
kill every wine process including processes hanging
webptogif.sh
convert animated .webp at $1 (path) to a gif
convert_md_to_pdf.sh
(need to be used with listings-setup.tex in the same folder, xelatex and pandoc are required)
convert infile.md in the current folder to a pdf file (outfile.pdf) with code blocks in red boxes.
flatten.sh
move all the files in $1 subdirectories to $1.
Careful, this operation is irreversible and manually moving back all the files to where they were supposed to be will be a pain if you flatten your home folder.
backupfirefox.sh
script to backup firefox config directory and restore the latest backup
adapt the hostnames and paths to what you need, not made to be easily configured with environment variables.
Careful, firefox config folder includes all your profiles, including their cookies and localstorage (access tokens of your accounts can be there).