Commit Graph

71 Commits

Author SHA1 Message Date
hwdsl2
395bb0fdef Cleanup 2023-09-03 01:39:19 -05:00
hwdsl2
1847266603 Cleanup 2023-08-15 00:04:39 -05:00
Zhang Xin
7dc3c79000
Add support for openSUSE (#7) 2023-08-14 23:46:56 -05:00
hwdsl2
407cb93532 Check folder exists
- Add a check to make sure /etc/wireguard exists
  after "apt-get install".
- Ref: #13
2023-03-29 23:05:30 -05:00
hwdsl2
cae80eb023 Update docs 2023-01-04 19:46:14 -06:00
hwdsl2
ef22ff6e0e Improve sysctl settings
- For enabling TCP BBR congestion control, add a check to make sure
  tcp_congestion_control exists.
2022-11-20 15:05:30 -06:00
hwdsl2
0ed60bc874 Fix for CentOS 8
- Fix an issue with the kmod-wireguard package on CentOS 8 Stream.
2022-11-17 09:21:21 -06:00
hwdsl2
f50b376c2b Bugfix
- Fixed an issue with IPTables rules not persisting after a reboot,
  if both IPsec VPN and WireGuard are installed on the same server.
  We restart the wg-iptables.service in /etc/rc.local to make sure
  the rules are added.
  Ref: #2
2022-11-17 08:54:45 -06:00
hwdsl2
efa2f56ac2 Improve setup
- Refactor setup script into functions for better readability and
  easier maintenance.
2022-11-01 01:23:27 -05:00
hwdsl2
aae852e9d1 Improve sysctl settings 2022-10-31 01:31:29 -05:00
hwdsl2
6747ce9517 Cleanup 2022-10-28 08:59:14 -05:00
hwdsl2
41c5cfb522 Cleanup 2022-10-09 16:17:37 -05:00
hwdsl2
10a1c7dfe1 Improve IP check
- Install iproute (for the "ip" command) in the unlikely cases that
  it is not already installed.
- Abort and exit if server IP cannot be detected.
- Cleanup
2022-10-04 23:51:37 -05:00
hwdsl2
d069673874 Add header 2022-10-03 21:25:40 -05:00
hwdsl2
679e833609 Cleanup 2022-10-01 23:58:08 -05:00
hwdsl2
e27426da48 Add usage 2022-10-01 23:31:08 -05:00
hwdsl2
9e4fced00b Cleanup 2022-10-01 23:28:19 -05:00
hwdsl2
02e3ddd89d Improve reliability
- Wrap the script in a function to guard against partial download.
2022-10-01 15:02:42 -05:00
hwdsl2
8b973fb110 Support auto install
- Support automatic install using default options. To do this,
  users can add the argument "--auto" when running the script.
- Cleanup
2022-10-01 14:55:32 -05:00
hwdsl2
3e57822d27 Improve listing clients
- When listing existing clients, show total and improve output.
2022-09-26 22:11:58 -05:00
hwdsl2
6f163241b3 Add list clients option
- Add an option to list existing clients.
2022-09-25 22:46:35 -05:00
hwdsl2
51b1b44093 Cleanup 2022-09-24 20:54:01 -05:00
hwdsl2
10d45a7040 Improve user input
- On servers with multiple IPv4, use the IP address on the default
  route, instead of asking the user to select.
2022-09-22 00:19:38 -05:00
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