From f30687d0591cd275afa40b7748f0ac92d6da80ce Mon Sep 17 00:00:00 2001 From: Master Date: Sat, 22 Mar 2025 19:01:40 +0000 Subject: [PATCH] Add generate-client.sh script --- generate-client.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 generate-client.sh diff --git a/generate-client.sh b/generate-client.sh new file mode 100755 index 0000000..09aea9c --- /dev/null +++ b/generate-client.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# Check if running as root +if [ "$EUID" -ne 0 ]; then + echo "Please run as root" + exit 1 +fi + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +CLIENT_NAME=$1 +cd /etc/openvpn/server/easy-rsa + +# Generate client certificate and key +./easyrsa gen-req $CLIENT_NAME nopass +./easyrsa sign-req client $CLIENT_NAME + +# Make sure client directory exists +mkdir -p /etc/openvpn/client + +# Create client configuration +cat > /etc/openvpn/client/$CLIENT_NAME.ovpn << EOL +client +dev tun +proto udp +remote $(curl -s ifconfig.me) 1194 +resolv-retry infinite +nobind +persist-key +persist-tun +remote-cert-tls server +cipher AES-256-GCM +data-ciphers AES-256-GCM:AES-256-CBC:AES-128-GCM:CHACHA20-POLY1305 +block-outside-dns +verb 3 +dhcp-option DNS 1.1.1.1 +dhcp-option DNS 1.0.0.1 + +$(cat /etc/openvpn/server/ca.crt) + + +$(cat /etc/openvpn/server/easy-rsa/pki/issued/$CLIENT_NAME.crt) + + +$(cat /etc/openvpn/server/easy-rsa/pki/private/$CLIENT_NAME.key) + +EOL + +echo "Client configuration created: /etc/openvpn/client/$CLIENT_NAME.ovpn" \ No newline at end of file