Commit Graph

63 Commits

Author SHA1 Message Date
randomshell
be360d410b Allow headless user revokation by CLIENT_NAME 2020-08-23 09:59:27 +00:00
randomshell
8a97759803 Exit if the client IP is in use 2020-08-23 09:39:16 +00:00
randomshell
812ea87ca9 Merge client's IPv4 and IPv6 questions
The host bit would surely be the same for both IPv4 and IPv6.
2020-08-23 09:37:28 +00:00
randomshell
9d600fce15 Suggest the host bit of IPv4 when asking for the host bit of IPv6
The host bit would surely be the same for both IPv4 and IPv6.
2020-08-23 09:22:11 +00:00
randomshell
9a68ffa88b Exit if the client exists 2020-08-22 20:54:27 +00:00
randomshell
a193f5ad78 Allow a default IPv6 NIC
Missed to commit in the refactor PR
2020-08-22 20:35:36 +00:00
randomshell
b94cc63601 Allow custom IP and NIC in headless mode
The default route shouldn't be forced
2020-08-22 20:25:19 +00:00
randomshell
fce88a38c5 Add headless support 2020-08-22 20:23:09 +00:00
Aleksander
2125b67cd7
Updated client name input restrictions and hint 2020-08-05 21:16:03 +03:00
randomshell
d7523dc30e Fix reboot message 2020-08-04 10:50:59 +00:00
Stanislas Lange
2848ceefa5
Remove PPA removal for Ubuntu
An oversight from https://github.com/angristan/wireguard-install/pull/109
2020-08-04 12:20:27 +02:00
Stanislas Lange
2363b36735
Shellcheck: move excludes to action env 2020-08-03 17:47:31 +02:00
Stanislas Lange
f147518050
Ubuntu: remove PPA, use native packages
Fix #108
2020-08-03 17:06:03 +02:00
Stanislas Lange
4138ada539
Format with shfmt 2020-08-03 16:26:29 +02:00
randomshell
1923aa17e6
Add clientRevoke() and improve addClient() (#94)
Added `clientRevoke()` based on openvpn-install repo, fixes #4 

Some other changes were required for this to work:
- client names aren't random anymore
- client names are saved above the `[Peer]` block of the server configuration file to keep track of them
- checks added for existing IPv4, IPv6 and client name. I used `until` to ask the user again if this is the case to not make him loose its work if, for example, the client name and IPv4 inserted are unique but not the IPv6.
  - using `until` instead of `exit` isn't idempotent but it's more user friendly. This will be a future goal.
- default options should be safe to use so the suggestion for the client IP is automatically incremented. The subnet of `SERVER_WG_IPV` is hard-coded inside `CLIENT_WG_IPV` for obvious reasons
2020-08-03 16:24:43 +02:00
Navratan Gupta
40cc13b1f4
Add uninstall feature (#88)
Fix #2 

Co-authored-by: Stanislas Lange <stanislas.lange@pm.me>
Co-authored-by: randomshell <randshell@protonmail.com>
2020-07-31 15:53:05 +02:00
Stanislas Lange
31bee45429
Format with shfmt 2020-07-31 15:02:26 +02:00
randomshell
5f82b76bc0
Refactor script (#92)
- cleaned some minor code
- use IPv6 if IPv4 isn't available
- add input validations, fixes #86 .
  - assign secondary DNS to primary DNS value if it's empty. Fixes #68 
- use `$SERVER_WG_IPV4` and `$SERVER_WG_IPV6` when suggesting the client IP
- save user DNS to `params` file and apply it to all clients, removing support for customizing DNS for individual clients. If this is a problem we can add again the code to allow customization but maybe use the sourced DNS as a suggestion for clients that need a different one
- add shellcheck ignores, needed for IDE that have shellcheck support
- escaped variables to `"${var}"` style
- updated README to reflect changes
- fixed the kernel mismatch issue on CentOS by updating the kernel https://github.com/angristan/wireguard-install/issues/95#issuecomment-653696198. Fedora might need this change too
- Use `firewall-cmd` only if `firewalld` is running. Fixes #95 
- Fix the client's subnet mask. Fixes #87 
- Save the client configuration in the correct `$HOME`. Fixes #96 

Co-authored-by: Chris Lewicki <chris@lewicki.dev>
Co-authored-by: Stanislas <angristan@pm.me>
2020-07-31 14:59:20 +02:00
Stanislas
c9b01e8d62
Merge pull request #106 from angristan/debian-backports
Fix Debian installation: use backports
2020-07-30 11:33:43 +02:00
Stanislas Lange
6e518633f3
Fix Debian installation: use backports
And limit to Debian 10. Fix #101
2020-07-29 12:24:22 +02:00
Ian
dfd7736a7d
Add colon 2020-07-27 11:54:06 +02:00
randomshell
e04fa5356d
Change check for previously installed wireguard 2020-06-26 18:38:29 +00:00
Deface
7c6da8df0e
Arch: do not install wireguard-arch (#84) 2020-06-14 16:24:12 +02:00
Stanislas Lange
efa9e5031a style(script) format with shfmt 2020-04-28 15:03:21 +02:00
Stanislas Lange
5b1ec52ac2 chore(args): rename add_client to add-client 2020-04-28 15:02:30 +02:00
Stanislas Lange
89258ba91d Mitigate Debian packaging issue
bc is missing as dependency: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=956869

fix #70
2020-04-26 12:54:16 +02:00
Jelle Dekker
071466eccd
Generate unique pre-shared key for each client (#69) 2020-04-22 21:50:49 +02:00
Stanislas
f0891e7235
Add support for adding multiple clients (#58)
This commit puts the client creation logic into a function.
By running the script followed by `add_client`, the user will be asked a
few questions and a new peer will be added.
Removing client is **not** supported.
The client files have random names.

Fix for https://github.com/angristan/wireguard-install/issues/3
2020-04-08 14:09:22 +02:00
Stanislas Lange
7c2e299a02
Add missing colons to setup questions
Signed-off-by: Stanislas Lange <angristan@pm.me>
2020-04-03 18:33:36 +02:00
randomshell
3b342e531c
Prompt with random port during setup (#64) 2020-04-03 18:16:59 +02:00
Stanislas Lange
8130dc7b70 Fix shellcheck 2020-03-21 21:53:06 +01:00
Andrew Prokhorenkov
a810f727dd
Use native WireGuard in Fedora >= 32 + support firewalld (#55) 2020-03-21 21:47:23 +01:00
Stanislas Lange
f3fd5346c0 Fix shellcheck 2020-03-21 15:44:32 +01:00
Stanislas Lange
bf3cccb8fd Add warning on Fedora/CentOS when WG is not running because of kernel versions mismatch
cf https://github.com/angristan/wireguard-install/issues/30
2020-03-21 15:42:14 +01:00
angristan
b9da4d03cd Install packages non-interactively 2020-02-15 16:21:45 +01:00
angristan
3b2fb57231 Rename variable 2020-02-15 16:16:05 +01:00
angristan
46bd2cec69 Show client conf as QR Code after install
Fix #49
2020-02-11 23:46:27 +01:00
angristan
ac1fb87a4c Install software-properties-common on Ubuntu to add PPA
Fix #48
2020-01-12 12:31:32 +01:00
Shyam Jos
721d16e979
added missing package - resolvconf
without resolvconf package, systemd unit file will fail in Debian 10 and ubuntu 18.04 or higher versions
see error below 

```
Oct 17 12:11:39 Asus-VivoBook wg-quick[25620]: [#] ip link add wg0 type wireguard
Oct 17 12:11:39 Asus-VivoBook wg-quick[25620]: [#] wg setconf wg0 /dev/fd/63
Oct 17 12:11:39 Asus-VivoBook wg-quick[25620]: [#] ip -4 address add 10.9.0.3/24 dev wg0
Oct 17 12:11:39 Asus-VivoBook wg-quick[25620]: [#] ip link set mtu 1420 up dev wg0
Oct 17 12:11:39 Asus-VivoBook wg-quick[25620]: [#] resolvconf -a wg0 -m 0 -x
Oct 17 12:11:39 Asus-VivoBook wg-quick[25620]: /usr/bin/wg-quick: line 31: resolvconf: command not found
Oct 17 12:11:39 Asus-VivoBook wg-quick[25620]: [#] ip link delete dev wg0
Oct 17 12:11:39 Asus-VivoBook systemd[1]: wg-quick@wg0.service: Main process exited
```
more info here : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930735
2019-10-19 23:12:01 +05:30
angristan
b1ab139fef Arch Linux: install wireguard-arch kernel module
Fix #33
2019-08-24 19:08:31 +02:00
Stanislas
6fc7c44a87
Merge pull request #26 from outis151/patch-1
Fix compatibility issues with UFW Firewall
2019-08-08 23:14:03 +02:00
angristan
44ef24620e Prevent word splitting
Make CI happy (shellcheck - SC2046)
2019-08-08 23:02:50 +02:00
angristan
3d664036f0 Make sure iptables is installed
Fix #28
2019-08-08 23:01:12 +02:00
angristan
70ed237ffc Make sure kernel headers are installed
Fix #24. On Fedora/CentOS, kernel-headers is a dependency
2019-08-08 22:56:53 +02:00
outis151
dc3fb15a8a
Fix compatibility issues with UFW Firewall
This fixed no tunnel connectivity issue for me using UFW
2019-07-20 19:08:48 +03:00
Luca Lacerda
7bda5435e6
Update names and default selection 2019-06-08 03:40:24 -03:00
Luca Lacerda
25f93b8b9d
Merge branch 'master' into master 2019-06-08 03:36:54 -03:00
Luca Albuquerque
a09de9c57a Update confirmation 2019-06-05 13:19:01 -03:00
Leopere
bb2861390e Detect rather than ask IP Version 2019-06-05 11:04:52 -04:00
Luca Albuquerque
8c9c13e582 Update names 2019-06-04 20:36:53 -03:00