scripts/uninstall.sh
* SC2154: <VarName> is referenced but not assigned.
* Disabled warnings for mentioned errors as they are sourced externaly and may vary
scripts/self_check.sh
* Fixes SC1090: ShellCheck can't follow non-constant source. Use a directive to specify location.
* SC2154: <VarName> is referenced but not assigned.
* Disabled warnings for the mentioned errors as they are sourced externaly and may vary
* Introduction to Github discussions
* Added pivpn room at matrix.org
* Changed titles format from -- to ##
* (tried) to make readme a bit more clear in regards opening
issues and bug reports
debconf-apt-progress is a tool to show a whiptail based dialog with progress bar for apt package installs, but it is some downsides:
- It aborts whenever apt or debconf halt for an interactive input, hence this would need to be prevented carefully, e.g. via "DEBIAN_FRONTEND=noninteractive" and "--force-confdef/old/new/miss", while it is questionable whether PiVPN should mute such configuration inputs for users.
- It even aborts when such interactive input is not actually required in some cases, but triggered by some other debconf load internals: pivpn#1360
Most importantly, aside of the visually probably appealing progress bar, debconf-apt-progress has not any upsides but reduces transparency of what is actually done, and the installer has a fallback already.
This commit removes the debconf-apt-progress usage in favour of the fallback: direct apt-get usage.
Signed-off-by: MichaIng <micha@dietpi.com>
There is only a single wget call in the installer, at the beginning of a pipe where curl may be the more natural choice. Since curl is a dependency already, this commit replaces the only wget call with curl and hence removes wget from installer dependencies.
Additionally, all curl calls get additional flags:
-s: The "silent" flag is now consequently used to suppress all processing output. It is not necessarily required when the STDOUT is a pipe or command substitution, but it does not hurt.
-S: Even when the curl output is piped, it may be helpful to have errors visible via STDERR, for debugging and being transparent about actual connection/download errors. This flag preserves error messages but does not send them to STDOUT, hence the data processed in the pipe or command substitution is not affected.
-f: There are cases where webservers return a 40x HTML document which is then printed to STDOUT by curl, like a 20x document, and hence unintentionally processed by the end of the pipe or command substitution. Usually this just cases a syntax error, but in theory it can have any unintended or even dangerous effect. The "fail" flag assures that 40x responses are printed as shortened error messages to STDERR and nothing is output to STDOUT. It should be hence seen as mandatory flag whenever curl is called to not print something to console but the output is processed.
-L: wget follows redirects automatically, curl requires the "-L" flag for this. For the wget => curl migration it is hence added to not change the behaviour.
Signed-off-by: MichaIng <micha@dietpi.com>
Changed LatesteUpdate.md to CHANGELOG.md
README.md
* Added status page badge
* Changed websites links text and position
* Replaced banner with pivpn banner
rsyslog and/or logrotate may not be installed on the system, in which case creating the configurations may fail. As rsyslog and logrotate may be installed later on, it makes sense to pre-create those directories so that then OpenVPN logs are handled as expected.
Also, if the rsyslog service is not installed or not active, it should not and does not need to be restarted. Since there is not `-e` flag, ` || true` has not effect, but also, when using that flag it makes sense to exit if for some reason the running service couldn't be restarted, which may then be caused by the added configuration.
Signed-off-by: MichaIng <micha@dietpi.com>
- When NOT providing a custom MTU, 1420 is used for both clients and server.
Using such value for clients can break WireGuard connections on some networks,
so iOS and Android clients have logic in place to select a proper MTU value
when not specified. Now "pivpnMTU" with only be used to set the MTU value for
the PiVPN installation but not for profile creation.
- Raspbian images have been shipping with kernel 5.10.17 since March 4.
This kernel version has the WireGuard module built in which means we
don't need to check if the user has updated, neither to install the
module via DKMS.
fixes for Issue #1306, qrcode now defaults to ansiutf8,
added flag -a256 or --ansi256 if their fonts are having trouble
Shellcheck compliance #1233 for qrcodeCONF.sh,
LIST array is now created with mapfile instead
quoted multiple variables.
fixes for Issue #1307, User creation won't allow user creation with name
starting with "-", qrcodeCONF.sh won't accept wrong options or users starting with "-"
and exit with error code 1