Commit Graph

73 Commits

Author SHA1 Message Date
Stanislas 842361bc6e Update supported versions 2021-11-12 17:33:29 +01:00
Anatolii Cherednichenko 616e123e6f
Added support for Oracle Linux 8 (#269)
https://www.wireguard.com/install/#oracle-linux-8-uek6-tools
2021-11-12 17:31:39 +01:00
Ravinou e05e633014
Better IPv4 detection (#278)
On some systems like Hetzner VM cloud i have a Point-to-Point interface so i have a peer address on the same line as my public IPv4 (look at peer here : https://linux.die.net/man/8/ip )

An example of `ip a` with peer is : 
```
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 96:00:00:a2:88:c2 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet XX.XX.XX.XX peer XX.XX.XX.XX/32 brd XX.XX.XX.XX scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9400:ff:fea2:88c2/64 scope link 
       valid_lft forever preferred_lft forever
```

With a peer, the output of the command line 74 is : `XX.XX.XX.XX peer XX.XX.XX.XX`

I just modify this line with awk to print only the first field which is always the IPv4.
I think it's correct and it's work like a charm when there is a peer or not now. But tell me if it's not good for you :)

Thanks for your work !
2021-10-15 18:13:06 +02:00
Andréi Pampukha 5f4c2f8a38
Fix installation on Raspbian systems (#271)
Co-authored-by: Andrei Pampukha <andrei.pampukha@citynetwork.eu>
Co-authored-by: Stanislas <stanislas.lange@pm.me>
2021-10-03 14:59:40 +02:00
Mikodev 574cc06b31
Add support for Debian 11 Bullseye (#262) 2021-08-22 11:34:08 +02:00
Filipe Melo 9bce7d6e82
Add hot reloading (#181) 2021-04-27 22:44:29 +02:00
enolp b7855925e6
Remove unneeded packages on Arch Linux (#225) 2021-04-27 22:40:13 +02:00
Stanislas Lange 5c41fa0ab5
Be very explicit when WireGuard is not running 2021-03-18 14:31:30 +01:00
Stanislas Lange bd37d606f1
Improve IP parsing (fix #204) 2021-03-18 14:03:25 +01:00
Stanislas 9fae7ad587
Fix HOME_DIR check (#194)
Fix #189
2021-03-10 22:14:50 +01:00
Patrick M 21b5e56eea
Fix unnecessary reinstall of packages (#172) 2021-01-02 00:41:13 +01:00
glenn wolfe 88ae1c0d0f
Update AdGuard default public DNS addresses (#162)
- Since September 2020, AdGuard public DNS servers have moved to new
  address. See here - https://adguard.com/en/blog/adguard-dns-new-addresses.html
2020-12-08 10:54:17 +01:00
Julian Gaal af935850cd
Forbid interface names exceeding 15 chars in length (#157) 2020-11-24 15:33:39 +01:00
randomshell a1b1ac2ece
Add confirmation before removing WireGuard (#156) 2020-11-14 01:47:36 +01:00
Stefan A 664b6dca17
Add forwarding eth0 -> wg0 (#132)
If the FORWARD chain policy defaults to DENY, it must explicitly allow traffic from the external to the wg interface.
To solve this, the patch just adds
 iptables -A FORWARD -i ${SERVER_PUB_NIC} -o ${SERVER_WG_NIC} -j ACCEPT;
2020-10-10 15:50:42 +02:00
Stanislas Lange ddbaca7fbb
centos: update installation process
From https://www.wireguard.com/install/. Using kmod instead of dkms. Seems to work without reboot now.

Close #118 #111 #147
2020-10-10 15:49:18 +02:00
Farzin Monsef 487aa4feda
arch: Install LTS kernel headers when running LTS kernel (#135) 2020-10-10 14:42:19 +02:00
xiagw 8cdb0c5968
remove duplicate if -d /etc/debian_version (#136) 2020-09-21 09:01:12 +02: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