c6f6dd98df6ebed9b7ae49cc89b6e1d6bbf02776
WGDashboard for AmneziaWG
A bit of crap code has been added to the original panel to adapt it to work with the obfuscated version of WireGuard.
Installation instructions
Tested only with Ubuntu 22.04
Install AmneziaWG kernel module
- Upgrade your system to latest packages including latest available kernel by running
apt-get full-upgradeAfter kernel upgrade reboot is required. - Ensure that you have source repositories configured for APT - edit /etc/apt/sources.list and make sure that there is at least one line starting with deb-src is present and uncommented.
- Install pre-requisites - run
sudo apt install -y software-properties-common python3-launchpadlib gnupg2 linux-headers-$(uname -r) - reboot
sudo add-apt-repository ppa:amnezia/ppasudo apt-get install -y amneziawg- Create simlinks from awg and awg-quick to wg and wg-quick
ln -s /usr/bin/awg /usr/bin/wg
ln -s /usr/bin/awg-quick /usr/bin/wg-quick
- reboot
Install WGDashboard
- Install pip
apt -y install python3-pip - Install pre-requisites
pip install gunicorn ifcfg flask flask_qrcode icmplib - Clone and install WGDashboard
cd / git clone https://github.com/mozaroc/WGDashboard.git wgdashboardcd /wgdashboard/srcchmod u+x wgd.sh./wgd.sh install- Configure awg server interface
cd /wgdashboard chmod u+x awg-gen-config.sh./awg-gen-config.sh- Create wg-dash systemd unit
cat << EOF | sudo tee "/etc/systemd/system/wg-dash.service"
[Unit]
After=syslog.target network-online.target
ConditionPathIsDirectory=/etc/wireguard
[Service]
Type=forking
User=root
Group=root
PIDFile=/wgdashboard/src/gunicron.pid
WorkingDirectory=/wgdashboard/src
ExecStart=/usr/bin/env gunicorn --access-logfile /wgdashboard/src/log/access.log --error-logfile /wgdashboard/src/log/error.log 'dashboard:run_dashboard()' --pid /wgdashboard/src/gunicron.pid
PrivateTmp=true
Restart=no
[Install]
WantedBy=multi-user.target
EOF
Configure firewall
- Allow panel port(see app_port in /wgdashboard/src/wg-dashboard.ini)
ufw allow 10085/tcp - Allow awg server port (see ListenPort in /etc/amnezia/amneziawg/wg0.conf)
ufw allow 52853/udp - Enable routing edit /etc/ufw/sysctl.conf uncomment three lines:
net/ipv4/ip_forward=1
net/ipv6/conf/default/forwarding=1
net/ipv6/conf/all/forwarding=1
-
Set default policy for forwarding edit /etc/default/ufw set - DEFAULT_FORWARD_POLICY="ACCEPT"
-
Add NAT rules for awg clients edit /etc/ufw/after.rules add all lines to the start of document:
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 10.90.90.0/24 -o eth0 -j MASQUERADE
# don't delete the 'COMMIT' line or these nat table rules won't
# be processed
COMMIT
restart firewall
ufw allow 22/tcp
ufw disable
ufw enable
start awg interface
awg-quick up wg0
start WGDashboard
systemctl daemon-reload
systemctl enable wg-dash --now
Languages
JavaScript
31.8%
Python
29.8%
HTML
27.2%
CSS
4.9%
Shell
3.4%
Other
2.9%