1 #!/usr/bin/webif-page "-U /tmp -u 4096"
3 # add haserl args in double quotes it has very ugly
4 # command line parsing code!
6 .
/usr
/lib
/webif
/webif.sh
7 load_settings
"openvpn"
9 openvpn_cli_pkcs12pass
=${openvpn_cli_pkcs12pass:-$(nvram get openvpn_cli_pkcs12pass)}
10 openvpn_cli_pkcs12pass
=${openvpn_cli_pkcs12pass:+"-@@-"}
12 if empty
"$FORM_submit"; then
13 [ -f /etc
/openvpn
/certificate.p12
] ||
15 [ -f /etc
/openvpn
/shared.key
] ||
17 FORM_openvpn_cli
=${openvpn_cli:-$(nvram get openvpn_cli)}
18 FORM_openvpn_cli_server
=${openvpn_cli_server:-$(nvram get openvpn_cli_server)}
19 FORM_openvpn_cli_proto
=${openvpn_cli_proto:-$(nvram get openvpn_cli_proto)}
20 FORM_openvpn_cli_port
=${openvpn_cli_port:-$(nvram get openvpn_cli_port)}
21 FORM_openvpn_cli_port
=${FORM_openvpn_cli_port:-1194}
22 FORM_openvpn_cli_auth
=${openvpn_cli_auth:-$(nvram get openvpn_cli_auth)}
23 FORM_openvpn_cli_auth
=${FORM_openvpn_cli_auth:-cert)}
24 FORM_openvpn_cli_psk
=${openvpn_cli_psk:-$(nvram get openvpn_cli_psk)}
26 [ -d /etc
/openvpn
] || mkdir
/etc
/openvpn
27 [ -f "$FORM_openvpn_cli_pkcs12file" ] && {
28 cp "$FORM_openvpn_cli_pkcs12file" /etc
/openvpn
/certificate.p12
&&
31 [ -f "$FORM_openvpn_cli_pskfile" ] && {
32 cp "$FORM_openvpn_cli_pskfile" /etc
/openvpn
/shared.key
&&
35 [ "$FORM_openvpn_cli_pkcs12pass" != "-@@-" ] && {
36 [ "$FORM_openvpn_cli_pkcs12pass" != "$openvpn_cli_pkcs12pass" ] && {
37 save_setting openvpn openvpn_cli_pkcs12pass
$FORM_openvpn_cli_pkcs12pass
38 openvpn_cli_pkcs12pass
=${FORM_openvpn_cli_pkcs12pass:+"-@@-"}
42 save_setting openvpn openvpn_cli
$FORM_openvpn_cli
43 save_setting openvpn openvpn_cli_server
$FORM_openvpn_cli_server
44 save_setting openvpn openvpn_cli_proto
$FORM_openvpn_cli_proto
45 save_setting openvpn openvpn_cli_port
$FORM_openvpn_cli_port
46 save_setting openvpn openvpn_cli_auth
$FORM_openvpn_cli_auth
47 save_setting openvpn openvpn_cli_psk
$FORM_openvpn_cli_psk
50 header
"VPN" "OpenVPN" "@TR<<OpenVPN>>" ' onLoad="modechange()" ' "$SCRIPT_NAME"
53 <script type="text/javascript" src="/webif.js "></script>
54 <script type="text/javascript">
59 v = isset('openvpn_cli', '1');
60 set_visible('connection_settings', v);
61 set_visible('authentication', v);
63 v = isset('openvpn_cli_auth', 'psk');
64 set_visible('psk_status', v);
65 set_visible('psk', v);
67 v = isset('openvpn_cli_auth', 'cert');
68 set_visible('certificate_status', v);
69 set_visible('certificate', v);
70 set_visible('pkcs12pass', v);
81 start_form|@TR<<OpenVPN>>
82 field|@TR<<Start VPN Connection>>
83 select|openvpn_cli|$FORM_openvpn_cli
84 option|0|@TR<<Disabled>>
85 option|1|@TR<<Enabled>>
89 start_form|@TR<<Connection Settings>>|connection_settings|hidden
90 field|@TR<<Server Address>>
91 text|openvpn_cli_server|$FORM_openvpn_cli_server
93 select|openvpn_cli_proto|$FORM_openvpn_cli_proto
96 field|@TR<<Server Port (default: 1194)>>
97 text|openvpn_cli_port|$FORM_openvpn_cli_port
98 field|@TR<<Authentication Method>>
100 select|openvpn_cli_auth|$FORM_openvpn_cli_auth
101 option|psk|@TR<<Preshared Key>>
102 option|cert|@TR<<Certificate (PKCS12)>>
106 start_form|@TR<<Authentication>>|authentication|hidden
107 field|@TR<<Preshared Key Status>>|psk_status|hidden
108 $(empty "$NOPSK" || echo 'string|<span style="color:red">@TR<<No Keyfile uploaded yet!>></span>')
109 $(empty "$UPLOAD_PSK" || echo 'string|<span style="color:green">@TR<<Upload Successful>><br/></span>')
110 $(empty "$NOPSK" && echo 'string|@TR<<Found Installed Keyfile>>')
111 field|@TR<<Upload Preshared Key>>|psk|hidden
112 upload|openvpn_cli_pskfile
114 field|@TR<<Certificate Status>>|certificate_status|hidden
115 $(empty "$NOCERT" || echo 'string|<span style="color:red">@TR<<No Certificate uploaded yet!>></span>')
116 $(empty "$UPLOAD_CERT" || echo 'string|<span style="color:green">@TR<<Upload Successful>><br/></span>')
117 $(empty "$NOCERT" && echo 'string|@TR<<Found Installed Certificate.>>')
118 field|@TR<<Upload PKCS12 Certificate>>|certificate|hidden
119 upload|openvpn_cli_pkcs12file
120 field|@TR<<PKCS12 Container Password>>|pkcs12pass|hidden
121 password|openvpn_cli_pkcs12pass|$openvpn_cli_pkcs12pass
129 ##WEBIF:name:VPN:1:OpenVPN