hwdsl2 / wireguard-install

WireGuard VPN server installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora, openSUSE and Raspberry Pi OS
MIT License
1.15k stars 267 forks source link

Better bash integration for custom installing #36

Closed zden2ksobotka closed 4 months ago

zden2ksobotka commented 5 months ago

Describe the enhancement request

Hello, I found your script and I think it's amazing. I would like to recommend it, in our hosting as an installation script to install VPN to our clients. In that context, I wanted to ask if you are considering extend the vpn script to control it in bash command line. Something like:

INSTALL: bash wireguard.sh --install --name vpn.server.tld --port 58920 --dns 8.8.8.8

USAGE:

bash wireguard.sh --add-client username
bash wireguard.sh --remove-client username
bash wireguard.sh --lists-client
bash wireguard.sh --show-client-qr username
bash wireguard.sh --show-client-qr username --export-path <path>.png

REMOVE: bash wireguard.sh --uninstall

hwdsl2 commented 5 months ago

@zden2ksobotka Hello! First, thank you for your support through GitHub Sponsors! The feature you mentioned is not currently available, but I think it could be a valuable addition to the script. Unfortunately, I have been busy recently, so while I plan to look into this, I can't make any guarantees on when this feature will be available.

In the meantime, you can use Bash "here documents" to specify the parameters during installation or user management. Please refer to the section Installation in the README, and expand "Advanced: Auto install using custom options" to see details.

hwdsl2 commented 4 months ago

@zden2ksobotka I have made improvements to both the WireGuard script and the OpenVPN script to support command-line options for managing VPN clients and removing WireGuard/OpenVPN. You can find usage information for the current versions of the scripts in the "Installation" sections in the README of the two projects.

Currently, the install process for WireGuard/OpenVPN does not yet support command-line options. This is more complicated and can be added in a future improvement. For now, please continue to use the Bash "here documents" method to specify the parameters during custom installation.

zden2ksobotka commented 4 months ago

Hello @hwdsl2, Thank you for the improvements that has been added to the script. Great, I appreciate it.

hwdsl2 commented 3 months ago

@zden2ksobotka I have added support for command-line install options for both the WireGuard and OpenVPN scripts. See the project README documentation for usage information. These options may change in future versions of the scripts. Example:

bash wireguard.sh --auto --serveraddr example.com --port 58920 --clientname client1 --dns1 1.1.1.1 --dns2 1.0.0.1