donaldzou / WGDashboard

Simple dashboard for WireGuard VPN written in Python & Vue.js
https://donaldzou.github.io/WGDashboard-Documentation/
Apache License 2.0
1.63k stars 252 forks source link

AmneziaWG Integration #444

Closed NOXCIS closed 3 weeks ago

NOXCIS commented 3 weeks ago

@donaldzou Will exporting and uploading backups be supported? Yes or No?

donaldzou commented 3 weeks ago

Backup yes :) but not front end export, it is saved under the WireGuard directory in /etc

donaldzou commented 3 weeks ago

U can try it out in the v4.1-dev branch ;) I've implemented already. You can find it under each configuration, click on the 3 dots on the right and click Backup & Restore

Both .conf and a SQL dump will backup. Naming scheme is <config name>_<YYYYMMDDhhmmss>.conf and .sql

NOXCIS commented 3 weeks ago

@donaldzou Tested the dev beach days ago, looks great.

donaldzou commented 3 weeks ago

@NOXCIS Thank u thank u... haven't have chance to test it out myself. But looked over the doc and seems like we can do a symbolic link replace wg to awg and wg-quick to awg-quick?

NOXCIS commented 3 weeks ago

@donaldzou I have a working version at WireGate. Run the dev-docker-compose.yml on the amneziawg branch.

donaldzou commented 3 weeks ago

Hi @NOXCIS , I wasn't able to run the dev docker compose file...will try later.

In this case, do you still think changes to WGDashboard is required to use AWG, or maybe system level configuration is good enough? (i.e symbolic link)

NOXCIS commented 3 weeks ago

@donaldzou

donaldzou commented 3 weeks ago

I see.. in this case, should I leave the support AmneziaWG to WireGate or you wanna merge it into WGDashboard?

NOXCIS commented 3 weeks ago

-Then on WireGate I can ship two base images. One using AmneziaWG and another using WireGuard. With manifest for amd64, arm64, arm/v6/, arm/v7.

  1. Some sort of wrapper function around any "wg set" calls. To restore the address in the file.

  2. Store and retrieve each config interface address from the db instead of the actual .conf after first run or as long as db is present.

This would be ideal scenario.

However, someone else would have to add the Amnezia Build Stage to WG-Dash existing docker image. Due to Wiregate having a conflicting environment setup and the integration of tor transports.

For bare metal setups, a similar shell function to the build stage with the addition of golang for bin compilation on the host should do the trick. Some host would have the ability to use the kernel module but that should be left to sysadmins for decision, build and install.

What do you think is the best option?

NOXCIS commented 3 weeks ago

See