|
|
|
@ -1,38 +1,46 @@
|
|
|
|
|
<?php
|
|
|
|
|
/* Functions for Networking */
|
|
|
|
|
|
|
|
|
|
function mask2cidr($mask){
|
|
|
|
|
$long = ip2long($mask);
|
|
|
|
|
$base = ip2long('255.255.255.255');
|
|
|
|
|
return 32-log(($long ^ $base)+1,2);
|
|
|
|
|
function mask2cidr($mask)
|
|
|
|
|
{
|
|
|
|
|
$long = ip2long($mask);
|
|
|
|
|
$base = ip2long('255.255.255.255');
|
|
|
|
|
return 32-log(($long ^ $base)+1, 2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Functions to write ini files */
|
|
|
|
|
|
|
|
|
|
function write_php_ini($array, $file) {
|
|
|
|
|
function write_php_ini($array, $file)
|
|
|
|
|
{
|
|
|
|
|
$res = array();
|
|
|
|
|
foreach($array as $key => $val) {
|
|
|
|
|
if(is_array($val)) {
|
|
|
|
|
foreach ($array as $key => $val) {
|
|
|
|
|
if (is_array($val)) {
|
|
|
|
|
$res[] = "[$key]";
|
|
|
|
|
foreach($val as $skey => $sval) $res[] = "$skey = ".(is_numeric($sval) ? $sval : '"'.$sval.'"');
|
|
|
|
|
foreach ($val as $skey => $sval) {
|
|
|
|
|
$res[] = "$skey = ".(is_numeric($sval) ? $sval : '"'.$sval.'"');
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$res[] = "$key = ".(is_numeric($val) ? $val : '"'.$val.'"');
|
|
|
|
|
}
|
|
|
|
|
else $res[] = "$key = ".(is_numeric($val) ? $val : '"'.$val.'"');
|
|
|
|
|
}
|
|
|
|
|
if(safefilerewrite($file, implode("\r\n", $res))) {
|
|
|
|
|
if (safefilerewrite($file, implode("\r\n", $res))) {
|
|
|
|
|
return true;
|
|
|
|
|
} else {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function safefilerewrite($fileName, $dataToSave) {
|
|
|
|
|
function safefilerewrite($fileName, $dataToSave)
|
|
|
|
|
{
|
|
|
|
|
if ($fp = fopen($fileName, 'w')) {
|
|
|
|
|
$startTime = microtime(TRUE);
|
|
|
|
|
$startTime = microtime(true);
|
|
|
|
|
do {
|
|
|
|
|
$canWrite = flock($fp, LOCK_EX);
|
|
|
|
|
// If lock not obtained sleep for 0 - 100 milliseconds, to avoid collision and CPU load
|
|
|
|
|
if(!$canWrite) usleep(round(rand(0, 100)*1000));
|
|
|
|
|
} while ((!$canWrite)and((microtime(TRUE)-$startTime) < 5));
|
|
|
|
|
if (!$canWrite) {
|
|
|
|
|
usleep(round(rand(0, 100)*1000));
|
|
|
|
|
}
|
|
|
|
|
} while ((!$canWrite)and((microtime(true)-$startTime) < 5));
|
|
|
|
|
|
|
|
|
|
//file was locked so now we can store information
|
|
|
|
|
if ($canWrite) {
|
|
|
|
@ -53,9 +61,11 @@ function safefilerewrite($fileName, $dataToSave) {
|
|
|
|
|
* Add CSRF Token to form
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
function CSRFToken() {
|
|
|
|
|
?>
|
|
|
|
|
<input id="csrf_token" type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token'], ENT_QUOTES);; ?>" />
|
|
|
|
|
function CSRFToken()
|
|
|
|
|
{
|
|
|
|
|
?>
|
|
|
|
|
<input id="csrf_token" type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token'], ENT_QUOTES);
|
|
|
|
|
; ?>" />
|
|
|
|
|
<?php
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -64,20 +74,22 @@ function CSRFToken() {
|
|
|
|
|
* Validate CSRF Token
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
function CSRFValidate() {
|
|
|
|
|
if ( hash_equals($_POST['csrf_token'], $_SESSION['csrf_token']) ) {
|
|
|
|
|
return true;
|
|
|
|
|
} else {
|
|
|
|
|
error_log('CSRF violation');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
function CSRFValidate()
|
|
|
|
|
{
|
|
|
|
|
if (hash_equals($_POST['csrf_token'], $_SESSION['csrf_token'])) {
|
|
|
|
|
return true;
|
|
|
|
|
} else {
|
|
|
|
|
error_log('CSRF violation');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Test whether array is associative
|
|
|
|
|
*/
|
|
|
|
|
function isAssoc($arr) {
|
|
|
|
|
return array_keys($arr) !== range(0, count($arr) - 1);
|
|
|
|
|
function isAssoc($arr)
|
|
|
|
|
{
|
|
|
|
|
return array_keys($arr) !== range(0, count($arr) - 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -89,25 +101,26 @@ function isAssoc($arr) {
|
|
|
|
|
* If $options is an associative array this should be the key
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
function SelectorOptions($name, $options, $selected = null, $id = null) {
|
|
|
|
|
echo '<select class="form-control" name="'.htmlspecialchars($name, ENT_QUOTES).'"';
|
|
|
|
|
if (isset($id)) {
|
|
|
|
|
echo ' id="' . htmlspecialchars($id, ENT_QUOTES) .'"';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
echo '>' , PHP_EOL;
|
|
|
|
|
foreach ( $options as $opt => $label) {
|
|
|
|
|
$select = '';
|
|
|
|
|
$key = isAssoc($options) ? $opt : $label;
|
|
|
|
|
if( $key == $selected ) {
|
|
|
|
|
$select = ' selected="selected"';
|
|
|
|
|
function SelectorOptions($name, $options, $selected = null, $id = null)
|
|
|
|
|
{
|
|
|
|
|
echo '<select class="form-control" name="'.htmlspecialchars($name, ENT_QUOTES).'"';
|
|
|
|
|
if (isset($id)) {
|
|
|
|
|
echo ' id="' . htmlspecialchars($id, ENT_QUOTES) .'"';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
echo '<option value="'.htmlspecialchars($key, ENT_QUOTES).'"'.$select.'>'.
|
|
|
|
|
echo '>' , PHP_EOL;
|
|
|
|
|
foreach ($options as $opt => $label) {
|
|
|
|
|
$select = '';
|
|
|
|
|
$key = isAssoc($options) ? $opt : $label;
|
|
|
|
|
if ($key == $selected) {
|
|
|
|
|
$select = ' selected="selected"';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
echo '<option value="'.htmlspecialchars($key, ENT_QUOTES).'"'.$select.'>'.
|
|
|
|
|
htmlspecialchars($label, ENT_QUOTES).'</option>' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
echo '</select>' , PHP_EOL;
|
|
|
|
|
echo '</select>' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -118,9 +131,10 @@ function SelectorOptions($name, $options, $selected = null, $id = null) {
|
|
|
|
|
* @param string $separator
|
|
|
|
|
* @return $string
|
|
|
|
|
*/
|
|
|
|
|
function GetDistString( $input,$string,$offset,$separator ) {
|
|
|
|
|
$string = substr( $input,strpos( $input,$string )+$offset,strpos( substr( $input,strpos( $input,$string )+$offset ), $separator ) );
|
|
|
|
|
return $string;
|
|
|
|
|
function GetDistString($input, $string, $offset, $separator)
|
|
|
|
|
{
|
|
|
|
|
$string = substr($input, strpos($input, $string)+$offset, strpos(substr($input, strpos($input, $string)+$offset), $separator));
|
|
|
|
|
return $string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -128,16 +142,17 @@ function GetDistString( $input,$string,$offset,$separator ) {
|
|
|
|
|
* @param array $arrConfig
|
|
|
|
|
* @return $config
|
|
|
|
|
*/
|
|
|
|
|
function ParseConfig( $arrConfig ) {
|
|
|
|
|
$config = array();
|
|
|
|
|
foreach( $arrConfig as $line ) {
|
|
|
|
|
$line = trim($line);
|
|
|
|
|
if( $line != "" && $line[0] != "#" ) {
|
|
|
|
|
$arrLine = explode( "=",$line );
|
|
|
|
|
$config[$arrLine[0]] = ( count($arrLine) > 1 ? $arrLine[1] : true );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return $config;
|
|
|
|
|
function ParseConfig($arrConfig)
|
|
|
|
|
{
|
|
|
|
|
$config = array();
|
|
|
|
|
foreach ($arrConfig as $line) {
|
|
|
|
|
$line = trim($line);
|
|
|
|
|
if ($line != "" && $line[0] != "#") {
|
|
|
|
|
$arrLine = explode("=", $line);
|
|
|
|
|
$config[$arrLine[0]] = (count($arrLine) > 1 ? $arrLine[1] : true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return $config;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -145,21 +160,22 @@ function ParseConfig( $arrConfig ) {
|
|
|
|
|
* @param string $freq
|
|
|
|
|
* @return $channel
|
|
|
|
|
*/
|
|
|
|
|
function ConvertToChannel( $freq ) {
|
|
|
|
|
if ($freq >= 2412 && $freq <= 2484) {
|
|
|
|
|
$channel = ($freq - 2407)/5;
|
|
|
|
|
} elseif ($freq >= 4915 && $freq <= 4980) {
|
|
|
|
|
$channel = ($freq - 4910)/5 + 182;
|
|
|
|
|
} elseif ($freq >= 5035 && $freq <= 5865) {
|
|
|
|
|
$channel = ($freq - 5030)/5 + 6;
|
|
|
|
|
} else {
|
|
|
|
|
$channel = -1;
|
|
|
|
|
}
|
|
|
|
|
if ($channel >= 1 && $channel <= 196) {
|
|
|
|
|
return $channel;
|
|
|
|
|
} else {
|
|
|
|
|
return 'Invalid Channel';
|
|
|
|
|
}
|
|
|
|
|
function ConvertToChannel($freq)
|
|
|
|
|
{
|
|
|
|
|
if ($freq >= 2412 && $freq <= 2484) {
|
|
|
|
|
$channel = ($freq - 2407)/5;
|
|
|
|
|
} elseif ($freq >= 4915 && $freq <= 4980) {
|
|
|
|
|
$channel = ($freq - 4910)/5 + 182;
|
|
|
|
|
} elseif ($freq >= 5035 && $freq <= 5865) {
|
|
|
|
|
$channel = ($freq - 5030)/5 + 6;
|
|
|
|
|
} else {
|
|
|
|
|
$channel = -1;
|
|
|
|
|
}
|
|
|
|
|
if ($channel >= 1 && $channel <= 196) {
|
|
|
|
|
return $channel;
|
|
|
|
|
} else {
|
|
|
|
|
return 'Invalid Channel';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -167,65 +183,65 @@ function ConvertToChannel( $freq ) {
|
|
|
|
|
* @param string $security
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
|
|
|
|
function ConvertToSecurity( $security ) {
|
|
|
|
|
$options = array();
|
|
|
|
|
preg_match_all('/\[([^\]]+)\]/s', $security, $matches);
|
|
|
|
|
foreach($matches[1] as $match) {
|
|
|
|
|
if (preg_match('/^(WPA\d?)/', $match, $protocol_match)) {
|
|
|
|
|
$protocol = $protocol_match[1];
|
|
|
|
|
$matchArr = explode('-', $match);
|
|
|
|
|
if (count($matchArr) > 2) {
|
|
|
|
|
$options[] = htmlspecialchars($protocol . ' ('. $matchArr[2] .')', ENT_QUOTES);
|
|
|
|
|
} else {
|
|
|
|
|
$options[] = htmlspecialchars($protocol, ENT_QUOTES);
|
|
|
|
|
}
|
|
|
|
|
function ConvertToSecurity($security)
|
|
|
|
|
{
|
|
|
|
|
$options = array();
|
|
|
|
|
preg_match_all('/\[([^\]]+)\]/s', $security, $matches);
|
|
|
|
|
foreach ($matches[1] as $match) {
|
|
|
|
|
if (preg_match('/^(WPA\d?)/', $match, $protocol_match)) {
|
|
|
|
|
$protocol = $protocol_match[1];
|
|
|
|
|
$matchArr = explode('-', $match);
|
|
|
|
|
if (count($matchArr) > 2) {
|
|
|
|
|
$options[] = htmlspecialchars($protocol . ' ('. $matchArr[2] .')', ENT_QUOTES);
|
|
|
|
|
} else {
|
|
|
|
|
$options[] = htmlspecialchars($protocol, ENT_QUOTES);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (count($options) === 0) {
|
|
|
|
|
// This could also be WEP but wpa_supplicant doesn't have a way to determine
|
|
|
|
|
// this.
|
|
|
|
|
// And you shouldn't be using WEP these days anyway.
|
|
|
|
|
return 'Open';
|
|
|
|
|
} else {
|
|
|
|
|
return implode('<br />', $options);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (count($options) === 0) {
|
|
|
|
|
// This could also be WEP but wpa_supplicant doesn't have a way to determine
|
|
|
|
|
// this.
|
|
|
|
|
// And you shouldn't be using WEP these days anyway.
|
|
|
|
|
return 'Open';
|
|
|
|
|
} else {
|
|
|
|
|
return implode('<br />', $options);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
function DisplayOpenVPNConfig() {
|
|
|
|
|
|
|
|
|
|
exec( 'cat '. RASPI_OPENVPN_CLIENT_CONFIG, $returnClient );
|
|
|
|
|
exec( 'cat '. RASPI_OPENVPN_SERVER_CONFIG, $returnServer );
|
|
|
|
|
exec( 'pidof openvpn | wc -l', $openvpnstatus);
|
|
|
|
|
|
|
|
|
|
if( $openvpnstatus[0] == 0 ) {
|
|
|
|
|
$status = '<div class="alert alert-warning alert-dismissable">OpenVPN is not running
|
|
|
|
|
function DisplayOpenVPNConfig()
|
|
|
|
|
{
|
|
|
|
|
exec('cat '. RASPI_OPENVPN_CLIENT_CONFIG, $returnClient);
|
|
|
|
|
exec('cat '. RASPI_OPENVPN_SERVER_CONFIG, $returnServer);
|
|
|
|
|
exec('pidof openvpn | wc -l', $openvpnstatus);
|
|
|
|
|
|
|
|
|
|
if ($openvpnstatus[0] == 0) {
|
|
|
|
|
$status = '<div class="alert alert-warning alert-dismissable">OpenVPN is not running
|
|
|
|
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>';
|
|
|
|
|
} else {
|
|
|
|
|
$status = '<div class="alert alert-success alert-dismissable">OpenVPN is running
|
|
|
|
|
} else {
|
|
|
|
|
$status = '<div class="alert alert-success alert-dismissable">OpenVPN is running
|
|
|
|
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// parse client settings
|
|
|
|
|
foreach( $returnClient as $a ) {
|
|
|
|
|
if( $a[0] != "#" ) {
|
|
|
|
|
$arrLine = explode( " ",$a) ;
|
|
|
|
|
$arrClientConfig[$arrLine[0]]=$arrLine[1];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// parse server settings
|
|
|
|
|
foreach( $returnServer as $a ) {
|
|
|
|
|
if( $a[0] != "#" ) {
|
|
|
|
|
$arrLine = explode( " ",$a) ;
|
|
|
|
|
$arrServerConfig[$arrLine[0]]=$arrLine[1];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
?>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// parse client settings
|
|
|
|
|
foreach ($returnClient as $a) {
|
|
|
|
|
if ($a[0] != "#") {
|
|
|
|
|
$arrLine = explode(" ", $a) ;
|
|
|
|
|
$arrClientConfig[$arrLine[0]]=$arrLine[1];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// parse server settings
|
|
|
|
|
foreach ($returnServer as $a) {
|
|
|
|
|
if ($a[0] != "#") {
|
|
|
|
|
$arrLine = explode(" ", $a) ;
|
|
|
|
|
$arrServerConfig[$arrLine[0]]=$arrLine[1];
|
|
|
|
|
}
|
|
|
|
|
} ?>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-lg-12">
|
|
|
|
|
<div class="panel panel-primary">
|
|
|
|
@ -305,12 +321,11 @@ function DisplayOpenVPNConfig() {
|
|
|
|
|
</div>
|
|
|
|
|
<input type="submit" class="btn btn-outline btn-primary" name="SaveOpenVPNSettings" value="Save settings" />
|
|
|
|
|
<?php
|
|
|
|
|
if($hostapdstatus[0] == 0) {
|
|
|
|
|
echo '<input type="submit" class="btn btn-success" name="StartOpenVPN" value="Start OpenVPN" />' , PHP_EOL;
|
|
|
|
|
} else {
|
|
|
|
|
echo '<input type="submit" class="btn btn-warning" name="StopOpenVPN" value="Stop OpenVPN" />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
?>
|
|
|
|
|
if ($hostapdstatus[0] == 0) {
|
|
|
|
|
echo '<input type="submit" class="btn btn-success" name="StartOpenVPN" value="Start OpenVPN" />' , PHP_EOL;
|
|
|
|
|
} else {
|
|
|
|
|
echo '<input type="submit" class="btn btn-warning" name="StopOpenVPN" value="Stop OpenVPN" />' , PHP_EOL;
|
|
|
|
|
} ?>
|
|
|
|
|
</form>
|
|
|
|
|
</div><!-- /.panel-body -->
|
|
|
|
|
</div><!-- /.panel-primary -->
|
|
|
|
@ -326,18 +341,17 @@ function DisplayOpenVPNConfig() {
|
|
|
|
|
*/
|
|
|
|
|
/*LOKINET FUNCTIONS ADDED HERE*/
|
|
|
|
|
|
|
|
|
|
function DisplayLokinetConfig(){
|
|
|
|
|
|
|
|
|
|
exec( 'pidof lokinet | wc -l', $lokinetstatus);
|
|
|
|
|
function DisplayLokinetConfig()
|
|
|
|
|
{
|
|
|
|
|
exec('pidof lokinet | wc -l', $lokinetstatus);
|
|
|
|
|
|
|
|
|
|
if( $lokinetstatus[0] == 0 ) {
|
|
|
|
|
$status = '<div class="alert alert-danger alert-dismissable">Lokinet daemon is not running
|
|
|
|
|
if ($lokinetstatus[0] == 0) {
|
|
|
|
|
$status = '<div class="alert alert-danger alert-dismissable">Lokinet daemon is not running
|
|
|
|
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>';
|
|
|
|
|
} else {
|
|
|
|
|
$status = '<div class="alert alert-success alert-dismissable">Lokinet is running
|
|
|
|
|
} else {
|
|
|
|
|
$status = '<div class="alert alert-success alert-dismissable">Lokinet is running
|
|
|
|
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>';
|
|
|
|
|
}
|
|
|
|
|
?>
|
|
|
|
|
} ?>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-lg-12">
|
|
|
|
|
<div class="panel panel-primary">
|
|
|
|
@ -375,20 +389,19 @@ function DisplayLokinetConfig(){
|
|
|
|
|
<h5>Contact Loki user groups for the latest bootstrap file location</h5>
|
|
|
|
|
<input type="submit" class="btn btn-success" name="ApplyLokinetSettings" value="Apply Bootstrap" />
|
|
|
|
|
<?php
|
|
|
|
|
if( $lokinetstatus[0] == 0 ) {
|
|
|
|
|
echo '<input type="submit" class="btn btn-success" name="StartLokinet" value="Start Lokinet Service" />' , PHP_EOL;
|
|
|
|
|
} else {
|
|
|
|
|
echo '<input type="submit" class="btn btn-danger" name="StopLokinet" value="Stop Lokinet Service" />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$filename = '/home/pi/loki-network/lokinet.ini';
|
|
|
|
|
|
|
|
|
|
if ( file_exists($filename)) {
|
|
|
|
|
echo '<input type="submit" class="btn btn-danger" name="ReGenerateLokinet" value="Regenerate Lokinet.ini" />' , PHP_EOL;
|
|
|
|
|
} else {
|
|
|
|
|
echo '<input type="submit" class="btn btn-success" name="GenerateLokinet" value="Generate Lokinet.ini" />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
?>
|
|
|
|
|
if ($lokinetstatus[0] == 0) {
|
|
|
|
|
echo '<input type="submit" class="btn btn-success" name="StartLokinet" value="Start Lokinet Service" />' , PHP_EOL;
|
|
|
|
|
} else {
|
|
|
|
|
echo '<input type="submit" class="btn btn-danger" name="StopLokinet" value="Stop Lokinet Service" />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$filename = '/home/pi/loki-network/lokinet.ini';
|
|
|
|
|
|
|
|
|
|
if (file_exists($filename)) {
|
|
|
|
|
echo '<input type="submit" class="btn btn-danger" name="ReGenerateLokinet" value="Regenerate Lokinet.ini" />' , PHP_EOL;
|
|
|
|
|
} else {
|
|
|
|
|
echo '<input type="submit" class="btn btn-success" name="GenerateLokinet" value="Generate Lokinet.ini" />' , PHP_EOL;
|
|
|
|
|
} ?>
|
|
|
|
|
<h5><strong><?php echo _("Your development support is greatly appreciated: Developer Loki Address"); ?></strong></h5>
|
|
|
|
|
<h5><strong><pre><?php echo _("LK8CGQ17G9R3ys3Xf33wCeViD2B95jgdpjAhcRsjuheJ784dumXn7g3RPAzedWpFq364jJKYL9dkQ8mY66sZG9BiCwrYHPmcZin1VP8Btf"); ?></pre></strong></h5>
|
|
|
|
|
</div>
|
|
|
|
@ -403,15 +416,14 @@ function DisplayLokinetConfig(){
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tab-pane fade" id="youtube">
|
|
|
|
|
<div class="tab-pane fade" id="youtube">
|
|
|
|
|
<div class="container">
|
|
|
|
|
<h2>This is Loki</h2>
|
|
|
|
|
<div class="embed-responsive embed-responsive-16by9">
|
|
|
|
|
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/Lykh-NqkKys"></iframe>
|
|
|
|
|
<h2>This is Loki</h2>
|
|
|
|
|
<div class="embed-responsive embed-responsive-16by9">
|
|
|
|
|
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/Lykh-NqkKys"></iframe>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</form>
|
|
|
|
|
</div><!-- /.tab-content -->
|
|
|
|
|
</div><!-- /.panel-body -->
|
|
|
|
@ -420,35 +432,33 @@ function DisplayLokinetConfig(){
|
|
|
|
|
</div><!-- /.col-lg-12 -->
|
|
|
|
|
</div><!-- /.row -->
|
|
|
|
|
<?php
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
function DisplayTorProxyConfig(){
|
|
|
|
|
function DisplayTorProxyConfig()
|
|
|
|
|
{
|
|
|
|
|
exec('cat '. RASPI_TORPROXY_CONFIG, $return);
|
|
|
|
|
exec('pidof tor | wc -l', $torproxystatus);
|
|
|
|
|
|
|
|
|
|
exec( 'cat '. RASPI_TORPROXY_CONFIG, $return );
|
|
|
|
|
exec( 'pidof tor | wc -l', $torproxystatus);
|
|
|
|
|
|
|
|
|
|
if( $torproxystatus[0] == 0 ) {
|
|
|
|
|
$status = '<div class="alert alert-warning alert-dismissable">TOR is not running
|
|
|
|
|
if ($torproxystatus[0] == 0) {
|
|
|
|
|
$status = '<div class="alert alert-warning alert-dismissable">TOR is not running
|
|
|
|
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>';
|
|
|
|
|
} else {
|
|
|
|
|
$status = '<div class="alert alert-success alert-dismissable">TOR is running
|
|
|
|
|
} else {
|
|
|
|
|
$status = '<div class="alert alert-success alert-dismissable">TOR is running
|
|
|
|
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$arrConfig = array();
|
|
|
|
|
foreach( $return as $a ) {
|
|
|
|
|
if( $a[0] != "#" ) {
|
|
|
|
|
$arrLine = explode( " ",$a) ;
|
|
|
|
|
$arrConfig[$arrLine[0]]=$arrLine[1];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|
|
|
|
|
$arrConfig = array();
|
|
|
|
|
foreach ($return as $a) {
|
|
|
|
|
if ($a[0] != "#") {
|
|
|
|
|
$arrLine = explode(" ", $a) ;
|
|
|
|
|
$arrConfig[$arrLine[0]]=$arrLine[1];
|
|
|
|
|
}
|
|
|
|
|
} ?>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-lg-12">
|
|
|
|
|
<div class="panel panel-primary">
|
|
|
|
@ -549,12 +559,11 @@ function DisplayTorProxyConfig(){
|
|
|
|
|
|
|
|
|
|
<input type="submit" class="btn btn-outline btn-primary" name="SaveTORProxySettings" value="Save settings" />
|
|
|
|
|
<?php
|
|
|
|
|
if( $torproxystatus[0] == 0 ) {
|
|
|
|
|
echo '<input type="submit" class="btn btn-success" name="StartTOR" value="Start TOR" />' , PHP_EOL;
|
|
|
|
|
} else {
|
|
|
|
|
echo '<input type="submit" class="btn btn-warning" name="StopTOR" value="Stop TOR" />' , PHP_EOL;
|
|
|
|
|
};
|
|
|
|
|
?>
|
|
|
|
|
if ($torproxystatus[0] == 0) {
|
|
|
|
|
echo '<input type="submit" class="btn btn-success" name="StartTOR" value="Start TOR" />' , PHP_EOL;
|
|
|
|
|
} else {
|
|
|
|
|
echo '<input type="submit" class="btn btn-warning" name="StopTOR" value="Stop TOR" />' , PHP_EOL;
|
|
|
|
|
}; ?>
|
|
|
|
|
</form>
|
|
|
|
|
</div><!-- /.tab-content -->
|
|
|
|
|
</div><!-- /.panel-body -->
|
|
|
|
@ -569,75 +578,73 @@ function DisplayTorProxyConfig(){
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
function SaveTORAndVPNConfig(){
|
|
|
|
|
if( isset($_POST['SaveOpenVPNSettings']) ) {
|
|
|
|
|
// TODO
|
|
|
|
|
} elseif( isset($_POST['SaveTORProxySettings']) ) {
|
|
|
|
|
// TODO
|
|
|
|
|
} elseif( isset($_POST['StartOpenVPN']) ) {
|
|
|
|
|
echo "Attempting to start openvpn";
|
|
|
|
|
exec( 'sudo /etc/init.d/openvpn start', $return );
|
|
|
|
|
foreach( $return as $line ) {
|
|
|
|
|
echo htmlspecialchars($line, ENT_QUOTES).'<br />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
} elseif( isset($_POST['StopOpenVPN']) ) {
|
|
|
|
|
echo "Attempting to stop openvpn";
|
|
|
|
|
exec( 'sudo /etc/init.d/openvpn stop', $return );
|
|
|
|
|
foreach( $return as $line ) {
|
|
|
|
|
echo htmlspecialchars($line, ENT_QUOTES).'<br />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
} elseif( isset($_POST['StartTOR']) ) {
|
|
|
|
|
echo "Attempting to start TOR";
|
|
|
|
|
exec( 'sudo /etc/init.d/tor start', $return );
|
|
|
|
|
foreach( $return as $line ) {
|
|
|
|
|
echo htmlspecialchars($line, ENT_QUOTES).'<br />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
} elseif( isset($_POST['StopTOR']) ) {
|
|
|
|
|
echo "Attempting to stop TOR";
|
|
|
|
|
exec( 'sudo /etc/init.d/tor stop', $return );
|
|
|
|
|
foreach( $return as $line ) {
|
|
|
|
|
echo htmlspecialchars($line, ENT_QUOTES).'<br />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
} elseif( isset($_POST['StartLokinet']) ) {
|
|
|
|
|
exec( 'sudo /home/pi/loki-network/lokilaunch.sh "start" > /dev/null &', $return);
|
|
|
|
|
?>
|
|
|
|
|
function SaveTORAndVPNConfig()
|
|
|
|
|
{
|
|
|
|
|
if (isset($_POST['SaveOpenVPNSettings'])) {
|
|
|
|
|
// TODO
|
|
|
|
|
} elseif (isset($_POST['SaveTORProxySettings'])) {
|
|
|
|
|
// TODO
|
|
|
|
|
} elseif (isset($_POST['StartOpenVPN'])) {
|
|
|
|
|
echo "Attempting to start openvpn";
|
|
|
|
|
exec('sudo /etc/init.d/openvpn start', $return);
|
|
|
|
|
foreach ($return as $line) {
|
|
|
|
|
echo htmlspecialchars($line, ENT_QUOTES).'<br />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
} elseif (isset($_POST['StopOpenVPN'])) {
|
|
|
|
|
echo "Attempting to stop openvpn";
|
|
|
|
|
exec('sudo /etc/init.d/openvpn stop', $return);
|
|
|
|
|
foreach ($return as $line) {
|
|
|
|
|
echo htmlspecialchars($line, ENT_QUOTES).'<br />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
} elseif (isset($_POST['StartTOR'])) {
|
|
|
|
|
echo "Attempting to start TOR";
|
|
|
|
|
exec('sudo /etc/init.d/tor start', $return);
|
|
|
|
|
foreach ($return as $line) {
|
|
|
|
|
echo htmlspecialchars($line, ENT_QUOTES).'<br />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
} elseif (isset($_POST['StopTOR'])) {
|
|
|
|
|
echo "Attempting to stop TOR";
|
|
|
|
|
exec('sudo /etc/init.d/tor stop', $return);
|
|
|
|
|
foreach ($return as $line) {
|
|
|
|
|
echo htmlspecialchars($line, ENT_QUOTES).'<br />' , PHP_EOL;
|
|
|
|
|
}
|
|
|
|
|
} elseif (isset($_POST['StartLokinet'])) {
|
|
|
|
|
exec('sudo /home/pi/loki-network/lokilaunch.sh "start" > /dev/null &', $return); ?>
|
|
|
|
|
<div class="alert alert-success">
|
|
|
|
|
Starting Lokinet background daemon process.
|
|
|
|
|
</div>
|
|
|
|
|
<?php
|
|
|
|
|
} elseif( isset($_POST['StopLokinet']) ) {
|
|
|
|
|
exec( 'sudo /home/pi/loki-network/lokilaunch.sh "stop" > /dev/null &', $return);
|
|
|
|
|
?>
|
|
|
|
|
} elseif (isset($_POST['StopLokinet'])) {
|
|
|
|
|
exec('sudo /home/pi/loki-network/lokilaunch.sh "stop" > /dev/null &', $return); ?>
|
|
|
|
|
<div class="alert alert-danger">
|
|
|
|
|
Stopping Lokinet background daemon process.
|
|
|
|
|
</div>
|
|
|
|
|
<?php
|
|
|
|
|
} elseif( isset($_POST['GenerateLokinet']) ) {
|
|
|
|
|
?>
|
|
|
|
|
} elseif (isset($_POST['GenerateLokinet'])) {
|
|
|
|
|
?>
|
|
|
|
|
<div class="alert alert-warning">
|
|
|
|
|
Generating Lokinet Configuration
|
|
|
|
|
</div>
|
|
|
|
|
<?php
|
|
|
|
|
$output = shell_exec('sudo /home/pi/loki-network/lokilaunch.sh gen');
|
|
|
|
|
echo "<pre><strong>$output</strong></pre>";
|
|
|
|
|
} elseif( isset($_POST['ReGenerateLokinet']) ) {
|
|
|
|
|
?>
|
|
|
|
|
echo "<pre><strong>$output</strong></pre>";
|
|
|
|
|
} elseif (isset($_POST['ReGenerateLokinet'])) {
|
|
|
|
|
?>
|
|
|
|
|
<div class="alert alert-warning">
|
|
|
|
|
Regenerating Lokinet Configuration
|
|
|
|
|
</div>
|
|
|
|
|
<?php
|
|
|
|
|
$output = shell_exec('sudo /home/pi/loki-network/lokilaunch.sh gen');
|
|
|
|
|
echo "<pre><strong>$output</strong></pre>";
|
|
|
|
|
} elseif( isset($_POST['ApplyLokinetSettings']) ) {
|
|
|
|
|
$bootstrap = $_POST['lokinetbootstrap'];
|
|
|
|
|
?>
|
|
|
|
|
echo "<pre><strong>$output</strong></pre>";
|
|
|
|
|
} elseif (isset($_POST['ApplyLokinetSettings'])) {
|
|
|
|
|
$bootstrap = $_POST['lokinetbootstrap']; ?>
|
|
|
|
|
<div class="alert alert-warning">
|
|
|
|
|
Applying Bootstrap
|
|
|
|
|
</div>
|
|
|
|
|
<?php
|
|
|
|
|
$bootstrap=str_replace("'", "", $bootstrap);
|
|
|
|
|
$output = shell_exec('sudo /home/pi/./loki-network/lokilaunch.sh bootstrap '.$bootstrap.'');
|
|
|
|
|
echo "<pre><strong>$output</strong></pre>";
|
|
|
|
|
}
|
|
|
|
|
$output = shell_exec('sudo /home/pi/./loki-network/lokilaunch.sh bootstrap '.$bootstrap.'');
|
|
|
|
|
echo "<pre><strong>$output</strong></pre>";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
?>
|
|
|
|
|