#!/bin/bash

#----- ADD DEFGUARD REPO -----#
apt update -y
apt install -y ca-certificates curl 
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://apt.defguard.net/defguard.asc -o /etc/apt/keyrings/defguard.asc
chmod a+r /etc/apt/keyrings/defguard.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/defguard.asc] https://apt.defguard.net/ trixie release-2.0" | tee /etc/apt/sources.list.d/defguard.list
apt update -y

#----- INSTALL / CONFIG POSTGRESQL -----#
apt install postgresql postgresql-contrib -y
sudo -u postgres psql -c "CREATE USER defguard WITH PASSWORD 'defguard';"
sudo -u postgres psql -c "CREATE DATABASE defguard ENCODING UTF8 OWNER defguard;"

#----- INSTALL / CONFIG DEFGUARD -----#
apt install defguard defguard-proxy defguard-gateway -y
echo 'cert_dir = "/etc/defguard/certs-gateway"' | tee -a /etc/defguard/gateway.toml
echo 'cert_dir = "/etc/defguard/certs-edge"' | tee -a /etc/defguard/proxy.toml
systemctl restart defguard defguard-proxy defguard-gateway

#----- INSTALL IPTABLES / FORWARDING -----#
iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp6s18 -j MASQUERADE
iptables-save | tee /etc/iptables/rules.v4
echo "net.ipv4.ip_forward=1" | tee -a /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | sudo debconf-set-selections
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | sudo debconf-set-selections
apt install iptables-persistent -y