#!/bin/sh . /usr/lib/libmodcgi.sh [ -r /etc/options.cfg ] && . /etc/options.cfg MYVARS='AUTOSTART DEBUG DEBUG_TIME LOCAL MODE REMOTE PORT PROTO IPV6 TYPE BOX_IP BOX_MASK REMOTE_IP DHCP_RANGE LOCAL_NET REMOTE_NET DHCP_CLIENT MTU AUTH_TYPE CIPHER TLS_AUTH FLOAT KEEPALIVE KEEPALIVE_PING KEEPALIVE_TIMEOUT COMPLZO MAXCLIENTS CLIENT2CLIENT PUSH_DOMAIN PUSH_DNS PUSH_WINS REDIRECT VERBOSE SHAPER UDP_FRAGMENT PULL LOGFILE MGMNT CLIENTS_DEFINED CLIENT_INFO CLIENT_IPS CLIENT_NAMES CLIENT_NETS CLIENT_MASKS CONFIG_NAMES ADDITIONAL OWN_KEYS NO_CERTTYPE TAP2LAN FILES2CP PARAM_1 PARAM_2 PARAM_3' ALLVARS="$MYVARS ENABLED CONFIG_COUNT CONFIG_CHANGED EXPERT" #if which openvpn >/dev/null; then # HASBLOWFISH=$(openvpn --show-ciphers | grep -q BF-CBC && echo true) # HASLZO=$(openvpn --version | grep -q LZO && echo true) #else HASBLOWFISH=$([ "$FREETZ_PACKAGE_OPENVPN_POLARSSL" != y -o "$FREETZ_LIB_libpolarssl_WITH_BLOWFISH" == y ] && echo true) HASLZO=$([ "$FREETZ_PACKAGE_OPENVPN_WITH_LZO" == y ] && echo true) #fi cat << EOF EOF sec_begin '$(lang de:"Bemerkung" en:"Remark")' sec-remark cat << EOF

$(lang de:"Die meisten Textboxen, Checkboxen, Buttons etc. bieten hilfreiche \"MouseOver-Texte\" (mit Maus auf ein Objekt zeigen und halten) an, die beim Vestehen einer Einstellungen nützlich sind!" en:"Most text boxes, check boxes, buttons etc. are equipped with helpful mouseover texts (point to object with mouse and hold) which help understand a particular setting." )

EOF sec_end sec_begin '$(lang de:"Konfigurationsverwaltung" en:"Multiple Configurations")' sec-conf cat << EOF
$(lang de:"Konfiguration wählen/löschen" en:"Select/Delete configuration"):
$(lang de:"Eine neue Konfiguration hinzufügen" en:"Add a new configuration"):
EOF sec_end echo "" sec_begin '$(lang de:"Starttyp" en:"Start type")' # build hidden input fields for var in $ALLVARS; do small=$(echo $var | tr 'A-Z' 'a-z') echo '' done cat << EOF
$(lang de:"\"Ausfürlichkeit\" des Logs" en:"Verbosity of the Log") (Verb-Level): 
$(lang de:"!Stoppen des Dienstes nach einiger Zeit nicht vergessen!
Das Dateisystem läuft sonst schnell über!" en:"!Don\'t forget to stop the daemon after some time!
(To prevent filesystem overflow.)")
$(lang de:"Die Log-Datei wird beim nächsten Start ohne Debug-Mode gelöscht." en:"Log file will be deleted next start w/o debug mode.")
EOF sec_end sec_begin '$(lang de:"Basiseinstellungen" en:"Basic Configuration")' cat << EOF EOF if [ "$FREETZ_TARGET_IPV6_SUPPORT" == "y" ]; then cat << CASEEOF CASEEOF fi cat << EOF
 
 
Port: 
Server $(lang de:"und ggf. Port" en:"and port if needed"): 
$(lang de:"Server (und Port, falls Port ≠ 1194) z.B. \"10.1.2.3\" oder \"ich.dyndns.org 4711\"" en:"Server (and port if port ≠ 1194) e.g. \"10.1.2.3\" or \"me.dyndns.org 123\"")
EOF sec_end sec_begin '$(lang de:"Sicherheit" en:"Security")' cat << EOF $([ ! $HASBLOWFISH ] && echo '')
$(lang de:"Authentifizierungsmethode" en:"Authentification Method"):
$(lang de:"Muss auf Server und Client identisch sein." en:"Must be the same setting on each server and client.")
Cipher: 
$(lang de:"Achtung, Standard-Cipher \"Blowfish\" wird von diesem OpenVPN nicht unterstützt!" en:"Caution! Default cipher \"blowfish\" is not supported by this OpenVPN binary")
EOF sec_end sec_begin '$(lang de:"VPN IP-Adressen und Routing im VPN" en:"VPN IP-Addresses and VPN Routing")' div_ip_settings cat << EOF
$(lang de:"Hier werden die IP-Adressen und das Routing vom VPN konfiguriert." en:"You can configure VPN IP addresses and routing inside the VPN here")
$(lang de:"Lokale IP-Adresse" en:"Local IP-Address"):
$(lang de:"Netzmaske" en:"Netmask"):
Remote IP-$(lang de:"Adresse" en:"address"):
DHCP-Range $(lang de:"für" en:"for") Clients:
Optional: Routing $(lang de:"von IP-Netzen" en:"of IP networks"):
$(lang de:"Entferntes Netz" en:"Remote Network"):
$(lang de:"Lokales Netz" en:"Local network"):

$(lang de:"Clientname" en:"Client name") ($(lang de:"Zertifikat" en:"from certificate")) Client-VPN-IP $(lang de:"Netz bei Client" en:"Network at client") (Syntax: <ip> <subnetmask>)
$(lang de:"Beim Client muss \"pull\" aktiviert sein!" en:"Option \"pull\" must be enabled in client configuration!") ("$(lang de:"Optionen vom Server empfangen" en:"Receive options from server")")
EOF sec_end sec_begin '$(lang de:"Server-Einstellungen (bei Zertifikaten)" en:"Server Configuration (only with certificatess)")' sec-server-conf cat << EOF
Max. Clients:
Push $(lang de:"Optionen" en:"Options")
(optional)
DNS Domain DNS Server WINS Server
EOF sec_end sec_begin '$(lang de:"Weitere Optionen" en:"Further Options")' cat << EOF
$(lang de:"Bandbreitenbegrenzung [Bytes/Sekunde]" en:"Bandwidth shaper [Bytes/second]") (optional):
$(lang de:"Nur an dieser IP-Adresse lauschen" en:"Only listen to this IP-address") (optional):
$(lang de:"Ping Abstand für Keepalive [Sekunden]" en:"Margin between keepalive pings [seconds]"):
Keepalive Timeout $(lang de:"[Sekunden]" en:"[seconds]"):
MTU [Bytes] (optional):
$(lang de:"UDP Pakete fragmentieren (nur bei Problemen)" en:"Fragment UDP packets (to solve problems)"):
$(lang de:"Zusatzparameter (mit \";\" getrennt), z.B. \"par1 xy ; par2 ab ; par3\"" en:"Additional parameters (separated by \";\"), e.g. \"par1 xy ; par2 ab ; par3\""):
$(lang de:"Dateien, die ins chroot kopiert werden sollen (mit \";\" trennen)" en:"Files to copy into chroot environment (separate by \";\")"):
EOF sec_end