Commit Graph

209 Commits

Author SHA1 Message Date
hwdsl2
1cbae2309c Update to easy-rsa 3.2.1 2024-09-13 22:28:36 -05:00
hwdsl2
d79c48eb0d Improve script input
- Add a new option "--listenaddr" for specifying the IPv4 address
  that OpenVPN should listen on for requests. This can be useful
  in certain cases. If not specified, the script tries to auto
  detect the IPv4 address OpenVPN should listen on.
- Other minor improvements
2024-08-06 21:33:00 -05:00
hwdsl2
4b302ebc52 Improve script input
- Users can now specify either a DNS name (FQDN) or an IPv4 address
  for the "--serveraddr" parameter.
- Fixed an issue when users specify a DNS name as the OpenVPN server
  address. Instead of using the provided DNS name as the OpenVPN
  "listen on" address, we should instead detect the server's local
  IPv4 address and use that. Otherwise, the OpenVPN server could
  fail to start in certain cases.
- Other minor improvements
2024-08-04 21:23:19 -05:00
hwdsl2
d7e17145d1 Update OS support
- Remove CentOS 7, which reached EOL on June 30, 2024.
2024-07-28 15:47:59 -05:00
hwdsl2
283b79c898 Add install options
- NEW: Users can now optionally specify install options when
  running the script to install OpenVPN. These new options include:
  '--serveraddr', '--proto', '--port', '--clientname',
  '--dns1' and '--dns2'. Refer to the usage information which
  will be added to the project documentation, or run the script
  with the '-h' option to view.
- Other minor improvements
2024-07-28 14:49:26 -05:00
hwdsl2
e058f5e3d8 Add command line options
- Add support for command-line options for managing OpenVPN
  clients and removing OpenVPN.
2024-06-23 14:58:07 -05:00
hwdsl2
70ea744f66 Improve VPN script
- Refactor the script into Bash functions for improved organization
  and readability.
2024-06-22 17:18:09 -05:00
hwdsl2
f4b053d673 Improve VPN script
- Refactor the script into Bash functions for improved organization
  and readability.
2024-06-16 22:21:37 -05:00
hwdsl2
fafb5b9e49 Update OS support 2024-06-06 21:58:30 -05:00
hwdsl2
e8d9043e92 Update to easy-rsa 3.2.0 2024-06-06 21:34:09 -05:00
hwdsl2
c9f12a48f6 Cleanup 2024-01-08 22:22:50 -06:00
hwdsl2
d75eb29e74 Update to easy-rsa 3.1.7 2023-10-19 23:56:33 -05:00
hwdsl2
77b87f41b2 Cleanup 2023-10-19 23:51:02 -05:00
hwdsl2
44b8cbacb0 Cleanup 2023-09-12 01:48:27 -05:00
hwdsl2
a207d315f2 Add support for DNS names
- NEW: Add support for using DNS names (e.g. vpn.example.com) as
  the OpenVPN server's address. Users can now select this option
  during interactive install (sudo bash openvpn.sh).
- Example use case: With this new feature, when using a DNS name as
  the server address, users can take a snapshot of the server and
  restore it to a new server with a different IP, then update the
  DNS name to point to the new IP. After that, they can expect the
  VPN to continue to work.
2023-09-11 22:11:20 -05:00
hwdsl2
3e538a7110 Cleanup 2023-09-03 01:38:55 -05:00
hwdsl2
ee3c3dd3d8 Add support for openSUSE 2023-09-03 01:32:41 -05:00
hwdsl2
2537d32d96 Improve IPv6 handling
- When the server does not have a public IPv6 address, push the
  "block-ipv6" option to the client to help prevent IPv6 leaks
  on dual-stacked clients. This option is supported in OpenVPN
  client versions 2.5.x and newer.
  Ref: https://build.openvpn.net/man/openvpn-2.6/openvpn.8.html
- Closes #13. Thanks @do02fw for the suggestion.
2023-07-11 00:35:50 -05:00
hwdsl2
c3eb5b8344 Improve VPN ciphers
- Switch to the faster AES-128-GCM cipher and SHA256.
  Thanks @do02fw for the suggestion in #12.
2023-07-04 22:48:23 -05:00
hwdsl2
40b26321e7 Update to easy-rsa 3.1.5 2023-06-15 00:12:32 -05:00
hwdsl2
53c9a34b4b Update OS check 2023-06-15 00:11:56 -05:00
hwdsl2
3667015a89 Update to easy-rsa 3.1.4 2023-05-25 22:52:40 -05:00
hwdsl2
8e60af5fc2 Update OS check
- Update OS check to detect Amazon Linux 2023, which is not currently
  supported for use with this project.
2023-05-21 22:21:31 -05:00
hwdsl2
55edd78836 Update to easy-rsa v3.1.2 2023-01-27 05:30:49 -06:00
hwdsl2
d63e46e671 Update docs 2023-01-04 19:47:57 -06:00
hwdsl2
f05bf31083 Improve sysctl settings
- For enabling TCP BBR congestion control, add a check to make sure
  tcp_congestion_control exists.
2022-11-20 15:05:02 -06:00
hwdsl2
d394509c7e Bugfix
- Fixed an issue with IPTables rules not persisting after a reboot,
  if both IPsec VPN and OpenVPN are installed on the same server.
  We restart the openvpn-iptables.service in /etc/rc.local to make
  sure the rules are added.
  Ref: https://github.com/hwdsl2/wireguard-install/issues/2
2022-11-17 08:50:54 -06:00
hwdsl2
824d59772e Improve setup
- Refactor setup script into functions for better readability and
  easier maintenance.
2022-11-01 01:19:16 -05:00
hwdsl2
6bdb4cc635 Improve sysctl settings 2022-10-31 01:30:18 -05:00
hwdsl2
6c1d25897f Cleanup 2022-10-28 08:59:09 -05:00
hwdsl2
c1e9ebd446 Update to easy-rsa v3.1.1
- Apply upstream change Nyr/openvpn-install commit f943387,
  with enhancements.
- --no-install-recommends is now required for Debian.
- Cleanup
2022-10-13 22:46:16 -05:00
hwdsl2
b9c2ff1719 Change "block-outside-dns" placement
- Apply upstream change Nyr/openvpn-install commit f2c44de.
- This is mainly to work around a bug in Viscosity for macOS.
2022-10-13 22:35:22 -05:00
hwdsl2
dab8eaebcf Cleanup 2022-10-09 16:16:34 -05:00
hwdsl2
d189d735e3 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:50:06 -05:00
hwdsl2
e47b7c5030 Add header 2022-10-03 21:25:09 -05:00
hwdsl2
20e9a5af75 Cleanup 2022-10-01 23:58:30 -05:00
hwdsl2
b07d70376e Add usage 2022-10-01 23:30:55 -05:00
hwdsl2
0e2fd697a6 Cleanup 2022-10-01 23:27:52 -05:00
hwdsl2
bd1c572861 Improve reliability
- Wrap the script in a function to guard against partial download.
2022-10-01 15:01:25 -05:00
hwdsl2
01865085c6 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:50:01 -05:00
hwdsl2
1b20eadf22 Improve listing clients
- When listing existing clients, show total and improve output.
2022-09-26 22:08:59 -05:00
hwdsl2
ada0f9f853 Add list clients option
- Add an option to list existing clients.
2022-09-25 22:45:22 -05:00
hwdsl2
068dd9bb8e Cleanup 2022-09-24 20:53:28 -05:00
hwdsl2
390bb904ae 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:17:19 -05:00
hwdsl2
bce57f9608 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:22:43 -05:00
hwdsl2
ff40c115d1 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:28:42 -05:00
hwdsl2
ef33b06a44 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:06:09 -05:00
hwdsl2
f4f7119ae6 Cleanup 2022-09-19 21:40:46 -05:00
hwdsl2
6cbbca398a Improve client revocation
- When revoking a client, remove previously generated client config
  file for the client.
- Cleanup
2022-09-10 00:11:04 -05:00
hwdsl2
efbe7739d3 Improve setup
- When uninstalling the VPN, disable IP forwarding.
2022-09-09 08:53:03 -05:00