diff --git a/customscripts/MOTHERFUCKIN_INSTALL_FUCKIN_KASM_BITCH.sh b/customscripts/MOTHERFUCKIN_INSTALL_FUCKIN_KASM_BITCH.sh new file mode 100644 index 0000000..3166b59 --- /dev/null +++ b/customscripts/MOTHERFUCKIN_INSTALL_FUCKIN_KASM_BITCH.sh @@ -0,0 +1,58 @@ +#!/bin/bash +domain=kasm.h.acker.is +local_port=8443 +swap_size_gib=6 +sudo apt update +sudo apt dist-upgrade -y +sudo fallocate -l ${swap_size_gib}g /mnt/${swap_size_gib}GiB.swap +sudo chmod 600 /mnt/${swap_size_gib}GiB.swap +sudo mkswap /mnt/${swap_size_gib}GiB.swap +sudo swapon /mnt/${swap_size_gib}GiB.swap +echo "/mnt/${swap_size_gib}GiB.swap swap swap defaults 0 0" | sudo tee -a /etc/fstab +cd /tmp +curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.19.0-latest.tar.gz +tar -xf kasm_release*.tar.gz +sudo bash kasm_release/install.sh -L $local_port +sudo apt update +sudo apt install nginx certbot python3-certbot-nginx -y +sudo certbot certonly --nginx -d $domain +sudo cat << 'EOF' > /etc/nginx/sites-available/$domain +server { + listen 443 ssl; + server_name $domain; + ssl_certificate /etc/letsencrypt/live/$domain/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/$domain/privkey.pem; + location / { + # WebSocket Support + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + # Host and X headers + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # Should match the listening port of this proxy + proxy_set_header X-Forwarded-Port 443; + + # Connectivity Options + proxy_http_version 1.1; + proxy_read_timeout 1800s; + proxy_send_timeout 1800s; + proxy_connect_timeout 1800s; + proxy_buffering off; + + # Allow large requests to support file uploads to sessions + client_max_body_size 10M; + + # Proxy to Kasm Workspaces running locally on $local_port using ssl + proxy_pass https://127.0.0.1:$local_port; + } +} +EOF +sudo ln -s /etc/nginx/sites-available/$domain /etc/nginx/sites-enabled/$domain +sudo nginx -t +sudo systemctl restart nginx +sudo docker restart kasm_api +sudo shutdown -r +7