|  |  |  | @ -17,29 +17,46 @@ msg_info "Installing Dependencies" | 
			
		
	
		
			
				
					|  |  |  |  | $STD apt-get install -y curl | 
			
		
	
		
			
				
					|  |  |  |  | $STD apt-get install -y sudo | 
			
		
	
		
			
				
					|  |  |  |  | $STD apt-get install -y mc | 
			
		
	
		
			
				
					|  |  |  |  | $STD apt-get install -y gunicorn | 
			
		
	
		
			
				
					|  |  |  |  | $STD apt-get install -y git | 
			
		
	
		
			
				
					|  |  |  |  | msg_ok "Installed Dependencies" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | msg_info "Installing WireGuard (using pivpn.io)" | 
			
		
	
		
			
				
					|  |  |  |  | OPTIONS_PATH='/options.conf' | 
			
		
	
		
			
				
					|  |  |  |  | cat >$OPTIONS_PATH <<EOF | 
			
		
	
		
			
				
					|  |  |  |  | IPv4dev=eth0 | 
			
		
	
		
			
				
					|  |  |  |  | install_user=root | 
			
		
	
		
			
				
					|  |  |  |  | VPN=wireguard | 
			
		
	
		
			
				
					|  |  |  |  | pivpnNET=$(printf "10.%d.%d.0" $((RANDOM % 256)) $((RANDOM % 256))) | 
			
		
	
		
			
				
					|  |  |  |  | subnetClass=24 | 
			
		
	
		
			
				
					|  |  |  |  | ALLOWED_IPS="0.0.0.0/0, ::0/0" | 
			
		
	
		
			
				
					|  |  |  |  | pivpnMTU=1420 | 
			
		
	
		
			
				
					|  |  |  |  | pivpnPORT=51820 | 
			
		
	
		
			
				
					|  |  |  |  | pivpnDNS1=1.1.1.1 | 
			
		
	
		
			
				
					|  |  |  |  | pivpnDNS2=8.8.8.8 | 
			
		
	
		
			
				
					|  |  |  |  | pivpnHOST= | 
			
		
	
		
			
				
					|  |  |  |  | pivpnPERSISTENTKEEPALIVE=25 | 
			
		
	
		
			
				
					|  |  |  |  | UNATTUPG=1 | 
			
		
	
		
			
				
					|  |  |  |  | EOF | 
			
		
	
		
			
				
					|  |  |  |  | $STD bash <(curl -fsSL https://install.pivpn.io) --unattended options.conf | 
			
		
	
		
			
				
					|  |  |  |  | msg_info "Installing WireGuard" | 
			
		
	
		
			
				
					|  |  |  |  | $STD apt-get install -y wireguard wireguard-tools net-tools iptables | 
			
		
	
		
			
				
					|  |  |  |  | msg_ok "Installed WireGuard" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | msg_info "Installing WGDashboard" | 
			
		
	
		
			
				
					|  |  |  |  | git clone -q https://github.com/donaldzou/WGDashboard.git /etc/wgdashboard | 
			
		
	
		
			
				
					|  |  |  |  | cd /etc/wgdashboard/src | 
			
		
	
		
			
				
					|  |  |  |  | chmod u+x wgd.sh | 
			
		
	
		
			
				
					|  |  |  |  | $STD ./wgd.sh install | 
			
		
	
		
			
				
					|  |  |  |  | echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf | 
			
		
	
		
			
				
					|  |  |  |  | $STD sysctl -p /etc/sysctl.conf | 
			
		
	
		
			
				
					|  |  |  |  | msg_ok "Installed WGDashboard" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | msg_info "Creating Service" | 
			
		
	
		
			
				
					|  |  |  |  | cat <<EOF >/etc/systemd/system/wg-dashboard.service | 
			
		
	
		
			
				
					|  |  |  |  | [Unit] | 
			
		
	
		
			
				
					|  |  |  |  | After=syslog.target network-online.target | 
			
		
	
		
			
				
					|  |  |  |  | Wants=wg-quick.target | 
			
		
	
		
			
				
					|  |  |  |  | ConditionPathIsDirectory=/etc/wireguard | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | [Service] | 
			
		
	
		
			
				
					|  |  |  |  | Type=forking | 
			
		
	
		
			
				
					|  |  |  |  | PIDFile=/etc/wgdashboard/src/gunicorn.pid | 
			
		
	
		
			
				
					|  |  |  |  | WorkingDirectory=/etc/wgdashboard/src | 
			
		
	
		
			
				
					|  |  |  |  | ExecStart=/etc/wgdashboard/src/wgd.sh start | 
			
		
	
		
			
				
					|  |  |  |  | ExecStop=/etc/wgdashboard/src/wgd.sh stop | 
			
		
	
		
			
				
					|  |  |  |  | ExecReload=/etc/wgdashboard/src/wgd.sh restart | 
			
		
	
		
			
				
					|  |  |  |  | TimeoutSec=120 | 
			
		
	
		
			
				
					|  |  |  |  | PrivateTmp=yes | 
			
		
	
		
			
				
					|  |  |  |  | Restart=always | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | [Install] | 
			
		
	
		
			
				
					|  |  |  |  | WantedBy=multi-user.target | 
			
		
	
		
			
				
					|  |  |  |  | EOF | 
			
		
	
		
			
				
					|  |  |  |  | systemctl enable -q --now wg-dashboard.service | 
			
		
	
		
			
				
					|  |  |  |  | msg_ok "Created Service" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | motd_ssh | 
			
		
	
		
			
				
					|  |  |  |  | customize | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |