sudo apt install nginx python3-certbot-nginx -y
sudo wget https://dl.min.io/server/minio/release/linux-amd64/minio
sudo chmod +x ./minio
| sudo apt update | |
| sudo apt install davfs2 -y | |
| sudo adduser $USER davfs2 | |
| sudo mkdir -p /mnt/hetzner | |
| echo "/mnt/hetzner username password" | sudo tee -a /etc/davfs2/secrets | |
| sudo chmod 600 /etc/davfs2/secrets | |
| echo "https://storage-box-url.your-storagebox.de:443 /mnt/hetzner davfs rw,user,noauto 0 0" | sudo tee -a /etc/fstab | |
| mount /mnt/hetzner |
| ## API End Point | |
| server | |
| { | |
| # Listen | |
| listen 80; | |
| listen [::]:80; | |
| listen 443 ssl http2; | |
| listen [::]:443 ssl http2; | |
| # Directory & Server Naming |
| ## Install Server | |
| sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)" --hostname=fqdn.domain.tld --api-port 34567 --keys-port 23456 | |
| ## Uninstall Server | |
| docker rm -f shadowbox watchtower && docker system prune -a |
| server | |
| { | |
| # Listen | |
| listen 80; | |
| listen [::]:80; | |
| listen 443 ssl http2; | |
| listen [::]:443 ssl http2; | |
| # Server Name and Alias | |
| server_name urbackup.example.com; |
| #!/bin/bash | |
| # Set the API endpoint URL and key | |
| ENDPOINT="https://mcow.domain.tld/api/v1/add/mailbox" | |
| API_KEY="XXX-YYY" | |
| # Read the CSV file line by line and create mailbox users | |
| while IFS=',' read -r from_name from_email user_name password; do | |
| # Extract the domain from the user_name field | |
| domain=$(echo "$user_name" | awk -F'@' '{print $2}') |
| #!/bin/bash | |
| # Set your Mailcow API key and endpoint | |
| api_key="xxx-xxx-xxxx" | |
| api_endpoint="https://mcow.example.ltd/api/v1/add/domain" | |
| # Set default domain values | |
| aliases="400" | |
| mailboxes="100" | |
| defquota="1024" |
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens32 -j MASQUERADE; iptables -t nat -A PREROUTING -i ens32 -p tcp --match multiport --dports 1024:65535 -j DNAT --to-destination 10.0.0.10
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens32 -j MASQUERADE; iptables -t nat -D PREROUTING -i ens32 -p tcp --match multiport --dports 1024:65535 -j DNAT --to-destination 10.0.0.10
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens32 -j MASQUERADE; iptables -t nat -A PREROUTING -i ens32 -p tcp -m multiport --dports 1024:65535 -j DNAT --to-destination 10.0.0.10; iptables -t nat -A PREROUTING -i ens32 -p udp -m multiport --dports 1024:65535 -j DNAT --to-destination 10.0.0.10
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens32 -j MASQUERADE; iptables -t nat -D PREROUTING -i ens32 -p tcp -m multiport --dports 1024:65535 -j DNAT --
#!/bin/bash
# Set CloudFlare API credentials
CF_API_EMAIL="YOUR_CLOUDFLARE_EMAIL"
CF_API_KEY="YOUR_CLOUDFLARE_API_KEY"
# Set output file name
OUTPUT_FILE="cloudflare_dns_zones.csv"
Before you start, make sure you have the following information:
CloudFlare API key DNS Zone ID
API should have Zone Read, Write permission.
#!/bin/bash