Some stuff
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
**Warning: work in progress**
|
**Warning: work in progress**
|
||||||
|
**Warning: currently, there is no checking on input parameters**
|
||||||
|
|
||||||
VPN Client app for [YunoHost](http://yunohost.org/).
|
VPN Client app for [YunoHost](http://yunohost.org/).
|
||||||
|
|
||||||
@@ -11,13 +12,12 @@ VPN Client app for [YunoHost](http://yunohost.org/).
|
|||||||
* Useful to easily move your server anywhere.
|
* Useful to easily move your server anywhere.
|
||||||
* With the [Hotspot app for YunoHost](https://github.com/jvaubourg/hotspot_ynh), you can broadcast your VPN access by Wifi for using a clean internet connection (depending on your VPN provider) on your laptop (or those of your friends) without have to configure it.
|
* With the [Hotspot app for YunoHost](https://github.com/jvaubourg/hotspot_ynh), you can broadcast your VPN access by Wifi for using a clean internet connection (depending on your VPN provider) on your laptop (or those of your friends) without have to configure it.
|
||||||
|
|
||||||
Small computers like [Olimex](https://www.olimex.com) or [Raspberry PI](http://www.raspberrypi.org/) boxes and an USB Wifi dongle like [this one](https://www.olimex.com/Products/USB-Modules/MOD-WIFI-R5370-ANT/) are perfect for a nomade access with low power consumption.
|
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
* IPv6 compliant (with a delegated prefix)
|
|
||||||
* Port selection, with UDP or TCP
|
* Port selection, with UDP or TCP
|
||||||
* Use native IPv6 if available for creating the tunnel
|
* Authentication based on certificates (and an optional login)
|
||||||
|
* IPv6 compliant (with a delegated prefix)
|
||||||
* Set an IPv6 from your delegated prefix (*prefix::1*) on the server, to use for the AAAA records
|
* Set an IPv6 from your delegated prefix (*prefix::1*) on the server, to use for the AAAA records
|
||||||
|
* Use native IPv6 if available for creating the tunnel
|
||||||
* The internet provider can be a 3/4G connection with tethering
|
* The internet provider can be a 3/4G connection with tethering
|
||||||
* Web interface ([screenshot](https://raw.githubusercontent.com/jvaubourg/vpnclient_ynh/master/screenshot.png))
|
* Web interface ([screenshot](https://raw.githubusercontent.com/jvaubourg/vpnclient_ynh/master/screenshot.png))
|
||||||
|
|||||||
@@ -22,9 +22,6 @@ fi
|
|||||||
# Install packages
|
# Install packages
|
||||||
sudo apt-get --assume-yes --force-yes install openvpn php5-fpm
|
sudo apt-get --assume-yes --force-yes install openvpn php5-fpm
|
||||||
|
|
||||||
# Install extra packages
|
|
||||||
sudo apt-get --assume-yes --force-yes install sipcalc
|
|
||||||
|
|
||||||
# Save arguments
|
# Save arguments
|
||||||
sudo yunohost app setting vpnclient server_name -v "${server_name}"
|
sudo yunohost app setting vpnclient server_name -v "${server_name}"
|
||||||
sudo yunohost app setting vpnclient server_port -v 1194
|
sudo yunohost app setting vpnclient server_port -v 1194
|
||||||
|
|||||||
@@ -37,6 +37,5 @@ fi
|
|||||||
# Remove packets
|
# Remove packets
|
||||||
# The yunohost policy is currently to not uninstall packets (dependency problems)
|
# The yunohost policy is currently to not uninstall packets (dependency problems)
|
||||||
## sudo apt-get --assume-yes --force-yes remove openvpn php5-fpm
|
## sudo apt-get --assume-yes --force-yes remove openvpn php5-fpm
|
||||||
## sudo apt-get --assume-yes --force-yes remove sipcalc
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -8,8 +8,11 @@ function moulinette_set($var, $value) {
|
|||||||
return exec("sudo yunohost app setting vpnclient ".escapeshellarg($var)." -v ".escapeshellarg($value));
|
return exec("sudo yunohost app setting vpnclient ".escapeshellarg($var)." -v ".escapeshellarg($value));
|
||||||
}
|
}
|
||||||
|
|
||||||
function restart_service() {
|
function stop_service() {
|
||||||
exec('sudo service ynh-vpnclient stop');
|
exec('sudo service ynh-vpnclient stop');
|
||||||
|
}
|
||||||
|
|
||||||
|
function start_service() {
|
||||||
exec('sudo service ynh-vpnclient start', $output, $retcode);
|
exec('sudo service ynh-vpnclient start', $output, $retcode);
|
||||||
|
|
||||||
return $retcode;
|
return $retcode;
|
||||||
@@ -32,6 +35,8 @@ dispatch('/', function() {
|
|||||||
dispatch_put('/settings', function() {
|
dispatch_put('/settings', function() {
|
||||||
$ip6_net = empty($_POST['ip6_net']) ? 'none' : $_POST['ip6_net'];
|
$ip6_net = empty($_POST['ip6_net']) ? 'none' : $_POST['ip6_net'];
|
||||||
|
|
||||||
|
stop_service();
|
||||||
|
|
||||||
moulinette_set('server_name', $_POST['server_name']);
|
moulinette_set('server_name', $_POST['server_name']);
|
||||||
moulinette_set('server_port', $_POST['server_port']);
|
moulinette_set('server_port', $_POST['server_port']);
|
||||||
moulinette_set('server_proto', $_POST['server_proto']);
|
moulinette_set('server_proto', $_POST['server_proto']);
|
||||||
@@ -59,7 +64,7 @@ dispatch_put('/settings', function() {
|
|||||||
move_uploaded_file($_FILES['crt_server_ca']['tmp_name'], '/etc/openvpn/keys/ca-server.crt');
|
move_uploaded_file($_FILES['crt_server_ca']['tmp_name'], '/etc/openvpn/keys/ca-server.crt');
|
||||||
}
|
}
|
||||||
|
|
||||||
$retcode = restart_service();
|
$retcode = start_service();
|
||||||
|
|
||||||
if($retcode == 0) {
|
if($retcode == 0) {
|
||||||
flash('success', T_('Configuration updated and service successfully reloaded'));
|
flash('success', T_('Configuration updated and service successfully reloaded'));
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="ip6_net" class="col-sm-3 control-label"><?= T_('Delegated prefix') ?></label>
|
<label for="ip6_net" class="col-sm-3 control-label"><?= T_('Delegated prefix') ?></label>
|
||||||
<div class="col-sm-9">
|
<div class="col-sm-9">
|
||||||
<input type="text" data-toggle="tooltip" data-title="<?= T_('Leave empty if your internet provider is a dirty provider that does not give you a delegated prefix') ?>" class="form-control" name="ip6_net" id="ip6_net" placeholder="2001:db8:42::" value="<?= $ip6_net ?>" />
|
<input type="text" data-toggle="tooltip" data-title="<?= T_('Leave empty if your Internet Service Provider does not give you a delegated prefix') ?>" class="form-control" name="ip6_net" id="ip6_net" placeholder="2001:db8:42::" value="<?= $ip6_net ?>" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user