#!/bin/sh WAYVNC_CONFIG_PATH=/etc/wayvnc generate_rsa_key() { echo "Generating RSA key..." KEY_FILE="$WAYVNC_CONFIG_PATH/rsa_key.pem" ssh-keygen -m pem -f "$KEY_FILE" -t rsa -N "" >/dev/null rm -f "$KEY_FILE.pub" chown root:vnc "$KEY_FILE" chmod 640 "$KEY_FILE" echo "Done" } generate_tls_creds() { echo "Generating TLS Credentials..." KEY_FILE="$WAYVNC_CONFIG_PATH/tls_key.pem" CERT_FILE="$WAYVNC_CONFIG_PATH/tls_cert.pem" HOSTNAME=$(cat /etc/hostname) openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:secp384r1 \ -sha384 -days 3650 -nodes -keyout "$KEY_FILE" \ -out "$CERT_FILE" -subj /CN=$HOSTNAME \ -addext subjectAltName=DNS:localhost,DNS:$HOSTNAME,DNS:$HOSTNAME.local 2>/dev/null chown root:vnc "$KEY_FILE" "$CERT_FILE" chmod 640 "$KEY_FILE" "$CERT_FILE" echo "Done" } test -e "$WAYVNC_CONFIG_PATH" || mkdir -p "$WAYVNC_CONFIG_PATH" test -e "$WAYVNC_CONFIG_PATH/rsa_key.pem" || generate_rsa_key test -e "$WAYVNC_CONFIG_PATH/tls_key.pem" -a \ -e "$WAYVNC_CONFIG_PATH/tls_cert.pem" || generate_tls_creds