Files
Useful-scripts/README.md
T
2026-03-25 15:07:08 +01:00

62 lines
2.6 KiB
Markdown

# 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](https://www.dnsleaktest.com/)
## Other random scripts
### belter_tension_calculator.sh
script to calculate the tension with the readings from [BigTreeTech belter tool](https://bttwiki.com/belter.html) in mm, formula from the xlsx on their [git](https://github.com/bigtreetech/Belter-belt-tension-Tool).
### 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
### image_compress.sh
Usage: `./image_compress.sh <input> <output.jpg> <target size>`
Compress an image until it's below a specified target size. Output format is JPEG, regardless of the input format.
The target size can be without unit (default to bytes). Or in B, KB or MB, for bytes, kilo bytes and mega bytes (not case sensitive).
(requires ImageMagick)
### 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).