summaryrefslogtreecommitdiffstats
path: root/usr/local/pkg/openvpn.xml
blob: 2ecf24968c4305813c0d07217d95fbe9fbaa6bc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
<packagegui>
	<name>openvpnserver</name>
	<title>OpenVPN: Server</title>
	<include_file>openvpn.inc</include_file>
	<delete_string>An OpenVPN server has been deleted.</delete_string>
	<addedit_string>An OpenVPN server has been created/modified.</addedit_string>
	<tabs>
		<tab>
			<text>Server</text>
			<url>/pkg.php?xml=openvpn.xml</url>
			<active/>
		</tab>
		<tab>
			<text>Client</text>
			<url>/pkg.php?xml=openvpn_cli.xml</url>
		</tab>
		<tab>
			<text>Client-specific configuration</text>
			<url>/pkg.php?xml=openvpn_csc.xml</url>
		</tab>
	</tabs>
	<adddeleteeditpagefields>
		<columnitem>
			<fieldname>disable</fieldname>
			<fielddescr>Disabled</fielddescr>
			<type>checkbox</type>
		</columnitem>
		<columnitem>
			<fieldname>protocol</fieldname>
			<fielddescr>Protocol</fielddescr>
		</columnitem>
		<columnitem>
			<fieldname>addresspool</fieldname>
			<fielddescr>Address pool</fielddescr>
		</columnitem>
		<columnitem>
			<fieldname>description</fieldname>
			<fielddescr>Description</fielddescr>
		</columnitem>
	</adddeleteeditpagefields>
	<fields>
		<field>
			<fieldname>disable</fieldname>
			<fielddescr>Disable this tunnel</fielddescr>
			<description>This allows you to disable this tunnel without removing it from the list.</description>
			<required/>
			<type>checkbox</type>
		</field>
		<field>
			<fieldname>protocol</fieldname>
			<fielddescr>Protocol</fielddescr>
			<description>The protocol to be used for the VPN.</description>
			<required/>
			<type>select</type>
			<options>
				<option>
					<value>TCP</value>
					<name>TCP</name>
				</option>
				<option>
					<value>UDP</value>
					<name>UDP</name>
				</option>
			</options>
			<default_value>UDP</default_value>
		</field>
		<field>
			<fieldname>dynamic_ip</fieldname>
			<fielddescr>Dynamic IP</fielddescr>
			<description>Assume dynamic IPs, so that DHCP clients can connect.</description>
			<type>checkbox</type>
		</field>
		<field>
			<fieldname>local_port</fieldname>
			<fielddescr>Local port</fielddescr>
			<description>The port OpenVPN will listen on. You generally want 1194 here.</description>
			<required/>
			<type>input</type>
			<default_value>1194</default_value>
			<size>5</size>
		</field>
		<field>
			<fieldname>addresspool</fieldname>
			<fielddescr>Address pool</fielddescr>
			<description>This is the address pool to be assigned to the clients. Expressed as a CIDR range (eg. 10.0.8.0/24). If the 'Use static IPs' field isn't set, clients will be assigned addresses from this pool. Otherwise, this will be used to set the local interface's IP.</description>
			<required/>
			<type>input</type>
		</field>
		<field>
			<fieldname>nopool</fieldname>
			<fielddescr>Use static IPs</fielddescr>
			<description>If this option is set, IPs won't be assigned to clients. Instead, the server will use static IPs on its side, and the clients are expected to use this same value in the 'Address pool' field.</description>
			<required/>
			<type>checkbox</type>
		</field>
		<field>
			<fieldname>local_network</fieldname>
			<fielddescr>Local network</fielddescr>
			<description>This is the network that will be accessable from the remote endpoint. Expressed as a CIDR range. You may leave this blank you don't want to add a route to your network through this tunnel in the remote machine. This is generally set to your LAN network.</description>
			<type>input</type>
		</field>
		<field>
			<fieldname>remote_network</fieldname>
			<fielddescr>Remote network</fielddescr>
			<description>This is a network that will be routed through the tunnel, so that a site-to-site VPN can be established without manually changing the routing tables. Expressed as a CIDR range. If this is a site-to-site VPN, enter here the remote LAN here. You may leave this blank if you don't want a site-to-site VPN.</description>
			<type>input</type>
		</field>
		<field>
			<fieldname>client2client</fieldname>
			<fielddescr>Client-to-client VPN</fielddescr>
			<description>If this option is set, clients will be able to talk to each other. Otherwise, they will only be able to talk to the server.</description>
			<required/>
			<type>checkbox</type>
		</field>
		<field>
			<fieldname>crypto</fieldname>
			<fielddescr>Cryptography</fielddescr>
			<description>Here you can choose the cryptography algorithm to be used.</description>
			<required/>
			<type>select</type>
			<default_value>BF-CBC</default_value>
		</field>
		<field>
			<fieldname>auth_method</fieldname>
			<fielddescr>Authentication method</fielddescr>
			<description>The authentication method to be used.</description>
			<required/>
			<type>select</type>
			<options>
				<option>
					<value>shared_key</value>
					<name>Shared key</name>
				</option>	
				<option>
					<value>pki</value>
					<name>PKI (Public Key Infrastructure)</name>
				</option>
			</options>
			<onchange>onAuthMethodChanged()</onchange>
		</field>
		<field>
			<fieldname>shared_key</fieldname>
			<fielddescr>Shared key</fielddescr>
			<description>Paste your shared key here.</description>
			<type>textarea</type>
			<encoding>base64</encoding>
			<rows>8</rows>
			<cols>40</cols>
		</field>
		<field>
			<fieldname>ca_cert</fieldname>
			<fielddescr>CA certificate</fielddescr>
			<description>Paste your CA certificate in X.509 format here.</description>
			<type>textarea</type>
			<encoding>base64</encoding>
			<rows>8</rows>
			<cols>40</cols>
		</field>
		<field>
			<fieldname>server_cert</fieldname>
			<fielddescr>Server certificate</fielddescr>
			<description>Paste your server certificate in X.509 format here.</description>
			<type>textarea</type>
			<encoding>base64</encoding>
			<rows>8</rows>
			<cols>40</cols>
		</field>
		<field>
			<fieldname>server_key</fieldname>
			<fielddescr>Server key</fielddescr>
			<description>Paste your server key in RSA format here.</description>
			<type>textarea</type>
			<encoding>base64</encoding>
			<rows>8</rows>
			<cols>40</cols>
		</field>
		<field>
			<fieldname>dh_params</fieldname>
			<fielddescr>DH parameters</fielddescr>
			<description>Paste your Diffie Hellman parameters in PEM format here.</description>
			<type>textarea</type>
			<encoding>base64</encoding>
			<rows>8</rows>
			<cols>40</cols>
		</field>
		<field>
			<fieldname>crl</fieldname>
			<fielddescr>CRL</fielddescr>
			<description>Paste your certificate revocation list (CRL) in PEM format here (optional).</description>
			<type>textarea</type>
			<encoding>base64</encoding>
			<rows>8</rows>
			<cols>40</cols>
		</field>
		<field>
			<fieldname>use_lzo</fieldname>
			<fielddescr>LZO compression</fielddescr>
			<description>Checking this will compress the packets using the LZO algorithm before sending them.</description>
			<type>checkbox</type>
		</field>
		<field>
			<fieldname>custom_options</fieldname>
			<fielddescr>Custom options</fielddescr>
			<description>You can put your own custom options here, separated by semi-colons (;). They'll be added to the server configuration.</description>
			<type>input</type>
		</field>
		<field>
			<fieldname>description</fieldname>
			<fielddescr>Description</fielddescr>
			<description>You may enter a description here. This is optional and is not parsed.</description>
			<type>input</type>
		</field>
	</fields>
	<custom_php_command_before_form>
		if(!$config['installedpackages']['openvpnserver'][config][0]['protocol'])
			unset($evaledvar);
		openvpn_get_ciphers(&amp;$pkg);
	</custom_php_command_before_form>
	<custom_php_after_head_command>
		openvpn_print_javascript('server');
	</custom_php_after_head_command>
	<custom_php_after_form_command>
		openvpn_print_javascript2();
	</custom_php_after_form_command>
	<custom_php_validation_command>
		openvpn_validate_input('server', $_POST, &amp;$input_errors);
	</custom_php_validation_command>
	<custom_php_resync_config_command>
		openvpn_resync('server', $id);
	</custom_php_resync_config_command>
</packagegui>
OpenPOWER on IntegriCloud