Browse Source

client config generating part was rewrited to plugin

feature/refractoring
Paul Rock 7 years ago committed by Chocobozzz
parent
commit
7f64d42fbf
  1. 72
      app/ovpn.php
  2. 23
      public/index.php

72
app/ovpn.php

@ -1,28 +1,44 @@
client <?php
dev <?php echo $vpn_dev . "\n" ?>
proto <?php echo $vpn_proto ?>-client $_ovpn = new EvilFreelancer\OpenVPN();
remote <?php echo $vpn_remote . "\n" ?>
resolv-retry infinite $_ovpn->dev = getenv('VPN_INIF');
cipher AES-256-CBC $_ovpn->proto = getenv('VPN_PROTO');
redirect-gateway $_ovpn->port = getenv('VPN_PORT');
$_ovpn->remote = getenv('VPN_REMOTE');
# Keys $_ovpn->resolvRetry = 'infinite';
ca [inline] $_ovpn->cipher = 'AES-256-CBC';
<?php echo file_get_contents("/etc/openvpn/ca.crt") . "\n" ?> $_ovpn->redirectGateway = true;
tls-auth [inline] 1
<?php echo file_get_contents("/etc/openvpn/ta.key") . "\n" ?> $_ovpn->addCert('ca', getenv('VPN_CONF') . '/ca.crt', true)
->addCert('tls-auth', getenv('VPN_CONF') . '/ta.key', true);
key-direction 1
remote-cert-tls server $_ovpn->keyDirection = 1;
auth-user-pass $_ovpn->remoteCertTls = 'server';
auth-nocache $_ovpn->authUserPass = true;
$_ovpn->authNocache = true;
# Security
nobind $_ovpn->nobind = true;
persist-key $_ovpn->persistKey = true;
persist-tun $_ovpn->persistTun = true;
comp-lzo $_ovpn->compLzo = true;
verb 3 $_ovpn->verb = 3;
# Proxy ? $config = $_ovpn->getClientConfig();
# http-proxy cache.univ.fr 3128
switch ($_POST['configuration_os']) {
case 'gnu_linux':
case 'configuration_os':
$filename = 'client.conf';
break;
default:
$filename = 'client.ovpn';
break;
}
header('Content-Type:text/plain');
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
die("$config");

23
public/index.php

@ -25,27 +25,8 @@ if (isset($_POST['configuration_get'], $_POST['configuration_username'], $_POST[
// Error ? // Error ?
if ($data && passEqual($_POST['configuration_pass'], $data['user_pass'])) { if ($data && passEqual($_POST['configuration_pass'], $data['user_pass'])) {
$vpn_dev = getenv('VPN_INIF'); // Answer with config
$vpn_proto = getenv('VPN_PROTO'); include __DIR__ . "/../app/ovpn.php";
$vpn_remote = getenv('VPN_REMOTE'). ' ' . getenv('VPN_PORT');
switch ($_POST['configuration_os']) {
case 'gnu_linux':
case 'configuration_os':
$filename = 'client.conf';
break;
default:
$filename = 'client.ovpn';
break;
}
header('Content-Type:text/plain');
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
require(dirname(__FILE__) . '/../app/ovpn.php');
die();
} else { } else {
$error = true; $error = true;
} }

Loading…
Cancel
Save