Commit Graph

48 Commits

Author SHA1 Message Date
hwdsl2
4de37a141b Improve IP check
- Use two different services for getting the server's public IP.
  This improves reliability in case one of them is unavailable.
- Cleanup
2022-09-20 23:26:51 -05:00
hwdsl2
0ce6897321 Improve user input
- On servers with multiple IPv4 addresses, check if one of them
  matches the server's public IP. If so, select that IP and skip
  the IP selection question.
- If the server is behind NAT, try to find its public IP and
  ask the user only if the IP cannot be found.
- Cleanup
2022-09-20 01:29:41 -05:00
hwdsl2
919ca4be78 Improve client DNS
- Allow specifying custom DNS server(s) for VPN clients.
- Use Google Public DNS as the default option.
- Cleanup
2022-09-20 00:01:31 -05:00
hwdsl2
ff5b9e81c0 Cleanup 2022-09-19 22:54:00 -05:00
hwdsl2
36b8cb278d Improve client removal
- When removing a client, also remove previously generated client
  config file for the client.
- Cleanup
2022-09-10 00:10:08 -05:00
hwdsl2
04922c83cc Improve setup
- When uninstalling the VPN, disable IP forwarding.
2022-09-09 08:53:55 -05:00
hwdsl2
b3053b048d Optimize sysctl settings
- Improve VPN performance by optimizing sysctl settings, such as tuning
  TCP buffer sizes and enabling the TCP BBR congestion control algorithm
  on supported systems (kernel versions 4.20 and newer).
- References:
  https://cloud.google.com/blog/products/networking/tcp-bbr-congestion-control-comes-to-gcp-your-internet-just-got-faster
  https://github.com/google/bbr/blob/master/Documentation/bbr-quick-start.md
  https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/bbr.md
2022-09-08 23:34:53 -05:00
hwdsl2
899b772354 Improve user input
- When adding or removing a client, abort and exit if the user
  enters an empty client name or client number.
2022-09-02 23:42:09 -05:00
hwdsl2
e60bb933c7 Improve client config
- When running the script using "sudo", export client configuration
  to the user's home directory instead of /root.
2022-09-02 22:42:55 -05:00
hwdsl2
d9e121e0f0 Add support for CentOS 9
- Merge upstream change Nyr/wireguard-install commit 5c53ebd,
  with enhancements.
- Add support for version 9 of CentOS Stream, AlmaLinux and
  Rocky Linux.
2022-08-21 22:58:20 -05:00
hwdsl2
505958b307 Fix resolv.conf detection
- Apply upstream change Nyr/wireguard-install commit 98f45f8.
- Some systems have other DNS servers along with 127.0.0.53 in /etc/resolv.conf.
2022-08-21 22:46:55 -05:00
hwdsl2
8d8c9a7f13 Update nftables check
- The check for nftables is only needed during initial install.
2022-06-04 23:29:31 -05:00
hwdsl2
b84fd70d86 Improve script reliability
- Retry 'apt-get update' and exit on package install errors.
2022-06-02 08:58:37 -05:00
hwdsl2
d4efa1f06e Improve script output
- Improve script output to only show useful information to the user
  and hide unneeded output.
2022-05-28 00:43:07 -05:00
hwdsl2
2077a5c9fb Cleanup 2022-05-27 15:57:52 -05:00
hwdsl2
647de1d218 Remove container support
- Remove container support from the installer. This is not needed in
  common use cases and involved downloading a BoringTun binary.
2022-05-22 22:48:49 -05:00
hwdsl2
8517a098b5 Update nftables check 2022-05-22 22:31:04 -05:00
hwdsl2
7519c48b3f Cleanup 2022-05-21 13:08:37 -05:00
hwdsl2
f75a9210b9 Improve script output
- Improve script output to only show useful information to the user
  and hide unneeded output.
2022-05-20 08:47:41 -05:00
hwdsl2
b79880f219 Add check for nftables 2022-05-19 23:59:26 -05:00
hwdsl2
a209594d6f Remove clear screen 2022-05-19 23:58:16 -05:00
hwdsl2
d11f8ccd03 Update license header 2022-05-19 23:51:41 -05:00
IRN-Kawakaze
2a6df4daf0 Fix: Remove an existing client.
"Remove an existing client" may mistakenly remove multiple clients.
For example: remove client "test" will also remove client "test1".
2022-01-30 17:35:57 +08:00
Nyr
f2f0d3d3ac Fix boringtun path
/usr/local/sbin is not included in the cron $PATH, so the absolute path needs to be used when running the boringtun binary.
2021-11-24 18:01:34 +01:00
Nyr
3dfcebc225 Fix boringtun-upgrade test 2021-09-03 17:37:05 +02:00
Nyr
b0ccd4d0bc Add support for AlmaLinux and Rocky Linux
An unrelated fix to avoid one harmless warning during removal is also included.
2021-09-03 17:31:07 +02:00
Nyr
9210290c19 Add support for Debian 11 2021-09-03 12:04:22 +02:00
Nyr
2a065111b1 Check for wget or curl
Fix #37
2021-08-16 20:22:06 +02:00
Nyr
514a93411f Increase priority of wireguard-forward.conf
Bugfix for some third party images. More information here:
https://github.com/Nyr/openvpn-install/issues/848

Thanks @trivvz
2021-06-19 14:00:12 +02:00
trantuanminh1754
c2248950b6
Update AdGuard DNS IP
AdGuard changed their DNS IP recently: https://adguard.com/en/blog/adguard-dns-new-addresses.html
2020-09-29 17:37:52 -04:00
Nyr
8a55761005 Use official Ubuntu packages
The PPA is no longer needed to set up WireGuard in Ubuntu 18.04:
https://lists.zx2c4.com/pipermail/wireguard/2020-August/005737.html
2020-09-02 12:45:40 +02:00
Nyr
3fb598f794 Fix #10
-N is an illegal option for read in sh.
2020-07-18 18:47:49 +02:00
Nyr
03cf6ddf2e resolv.conf parsing optimizations 2020-05-29 14:16:10 +02:00
Nyr
42bee2ae2f egrep IP regex optimizations
Thanks @sorcun
2020-05-29 14:15:39 +02:00
Nyr
3a2ba591ba Bugfix
Variables which can be empty, shouldn't be quoted in this situation.
2020-05-25 17:25:50 +02:00
Nyr
aa04ca5dcf Add Quad9 DNS servers 2020-05-21 22:36:47 +02:00
Nyr
962862c332 Small style changes 2020-05-21 19:18:29 +02:00
Nyr
a6426a138e Improve client configuration annexation
The old approach did break BoringTun due to a bug (in BoringTun).
2020-05-21 15:04:54 +02:00
Nyr
6669ffab32 Grammar improvements 2020-05-20 23:36:47 +02:00
Nyr
4b664b7e47 Detect OpenVZ 6 2020-05-20 12:04:26 +02:00
Nyr
8b0b1a086b Check for sbin in $PATH 2020-05-19 17:03:03 +02:00
Nyr
55bdb64030 Fixes #5 2020-05-19 14:29:32 +02:00
Nyr
ff0cdfa17f Add support for containers
Containers are supported via the BoringTun user space tool.

Additional small changes:
- NAT fixed
- Do not force bc dependency for Debian any longer (#2)
2020-05-18 19:07:31 +02:00
Nyr
137b08a8fb Fix ip6tables path 2020-05-05 16:47:52 +02:00
Nyr
f52d8f48ff Fix #2
Install bd for Debian to address upstream bug.

Thanks @sentabi for the report.
2020-05-02 18:58:44 +02:00
Nyr
6b94ff0912 Improved firewall installation logic
New logic makes way more sense:
- If either firewalld or iptables are present, use whatever we have
- If not, install firewalld in CentOS/Fedora and iptables in Debian/Ubuntu
2020-05-01 17:52:40 +02:00
Nyr
eaa24c9b99 Check for gnupg availability
The gnupg package is not available by default in some Ubuntu 18.04 images. Check for it and install if required.
2020-04-30 22:55:24 +02:00
Nyr
941f27bd2f First commit 2020-04-30 20:26:38 +02:00