Update functions

pull/44/head
necro-nemsis 2 years ago
parent 7385495bf1
commit 2d3fada462

@ -4,23 +4,25 @@
function mask2cidr($mask) function mask2cidr($mask)
{ {
$long = ip2long($mask); $long = ip2long($mask);
$base = ip2long('255.255.255.255'); $base = ip2long("255.255.255.255");
return 32-log(($long ^ $base)+1, 2); return 32 - log(($long ^ $base) + 1, 2);
} }
/* Functions to write ini files */ /* Functions to write ini files */
function write_php_ini($array, $file) function write_php_ini($array, $file)
{ {
$res = array(); $res = [];
foreach ($array as $key => $val) { foreach ($array as $key => $val) {
if (is_array($val)) { if (is_array($val)) {
$res[] = "[$key]"; $res[] = "[$key]";
foreach ($val as $skey => $sval) { foreach ($val as $skey => $sval) {
$res[] = "$skey = ".(is_numeric($sval) ? $sval : '"'.$sval.'"'); $res[] =
"$skey = " .
(is_numeric($sval) ? $sval : '"' . $sval . '"');
} }
} else { } else {
$res[] = "$key = ".(is_numeric($val) ? $val : '"'.$val.'"'); $res[] = "$key = " . (is_numeric($val) ? $val : '"' . $val . '"');
} }
} }
if (safefilerewrite($file, implode("\r\n", $res))) { if (safefilerewrite($file, implode("\r\n", $res))) {
@ -32,15 +34,15 @@ function write_php_ini($array, $file)
function safefilerewrite($fileName, $dataToSave) function safefilerewrite($fileName, $dataToSave)
{ {
if ($fp = fopen($fileName, 'w')) { if ($fp = fopen($fileName, "w")) {
$startTime = microtime(true); $startTime = microtime(true);
do { do {
$canWrite = flock($fp, LOCK_EX); $canWrite = flock($fp, LOCK_EX);
// If lock not obtained sleep for 0 - 100 milliseconds, to avoid collision and CPU load // If lock not obtained sleep for 0 - 100 milliseconds, to avoid collision and CPU load
if (!$canWrite) { if (!$canWrite) {
usleep(round(rand(0, 100)*1000)); usleep(round(rand(0, 100) * 1000));
} }
} while ((!$canWrite)and((microtime(true)-$startTime) < 5)); } while (!$canWrite and microtime(true) - $startTime < 5);
//file was locked so now we can store information //file was locked so now we can store information
if ($canWrite) { if ($canWrite) {
@ -56,153 +58,172 @@ function safefilerewrite($fileName, $dataToSave)
//Function to get string between used for Mobile.sh //Function to get string between used for Mobile.sh
function get_string_between($string, $start, $end){ function get_string_between($string, $start, $end)
$string = ' ' . $string; {
$string = " " . $string;
$ini = strpos($string, $start); $ini = strpos($string, $start);
if ($ini == 0) return ''; if ($ini == 0) {
return "";
}
$ini += strlen($start); $ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini; $len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len); return substr($string, $ini, $len);
} }
/** /**
* *
* Add CSRF Token to form * Add CSRF Token to form
* *
*/ */
function CSRFToken() function CSRFToken()
{ {
?> ?>
<input id="csrf_token" type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token'], ENT_QUOTES); <input id="csrf_token" type="hidden" name="csrf_token" value="<?php echo htmlspecialchars(
; ?>" /> $_SESSION["csrf_token"],
ENT_QUOTES
); ?>" />
<?php <?php
} }
/** /**
* *
* Validate CSRF Token * Validate CSRF Token
* *
*/ */
function CSRFValidate() function CSRFValidate()
{ {
if (hash_equals($_POST['csrf_token'], $_SESSION['csrf_token'])) { if (hash_equals($_POST["csrf_token"], $_SESSION["csrf_token"])) {
return true; return true;
} else { } else {
error_log('CSRF violation'); error_log("CSRF violation");
return false; return false;
} }
} }
/** /**
* Test whether array is associative * Test whether array is associative
*/ */
function isAssoc($arr) function isAssoc($arr)
{ {
return array_keys($arr) !== range(0, count($arr) - 1); return array_keys($arr) !== range(0, count($arr) - 1);
} }
/** /**
* *
* Display a selector field for a form. Arguments are: * Display a selector field for a form. Arguments are:
* $name: Field name * $name: Field name
* $options: Array of options * $options: Array of options
* $selected: Selected option (optional) * $selected: Selected option (optional)
* If $options is an associative array this should be the key * If $options is an associative array this should be the key
* *
*/ */
function SelectorOptions($name, $options, $selected = null, $id = null) function SelectorOptions($name, $options, $selected = null, $id = null)
{ {
echo '<select class="form-control" name="'.htmlspecialchars($name, ENT_QUOTES).'"'; echo '<select class="form-control" name="' .
htmlspecialchars($name, ENT_QUOTES) .
'"';
if (isset($id)) { if (isset($id)) {
echo ' id="' . htmlspecialchars($id, ENT_QUOTES) .'"'; echo ' id="' . htmlspecialchars($id, ENT_QUOTES) . '"';
} }
echo '>' , PHP_EOL; echo ">", PHP_EOL;
foreach ($options as $opt => $label) { foreach ($options as $opt => $label) {
$select = ''; $select = "";
$key = isAssoc($options) ? $opt : $label; $key = isAssoc($options) ? $opt : $label;
if ($key == $selected) { if ($key == $selected) {
$select = ' selected="selected"'; $select = ' selected="selected"';
} }
echo '<option value="'.htmlspecialchars($key, ENT_QUOTES).'"'.$select.'>'. echo '<option value="' .
htmlspecialchars($label, ENT_QUOTES).'</option>' , PHP_EOL; htmlspecialchars($key, ENT_QUOTES) .
'"' .
$select .
">" .
htmlspecialchars($label, ENT_QUOTES) .
"</option>",
PHP_EOL;
} }
echo '</select>' , PHP_EOL; echo "</select>", PHP_EOL;
} }
/** /**
* *
* @param string $input * @param string $input
* @param string $string * @param string $string
* @param int $offset * @param int $offset
* @param string $separator * @param string $separator
* @return $string * @return $string
*/ */
function GetDistString($input, $string, $offset, $separator) function GetDistString($input, $string, $offset, $separator)
{ {
$string = substr($input, strpos($input, $string)+$offset, strpos(substr($input, strpos($input, $string)+$offset), $separator)); $string = substr(
$input,
strpos($input, $string) + $offset,
strpos(substr($input, strpos($input, $string) + $offset), $separator)
);
return $string; return $string;
} }
/** /**
* *
* @param array $arrConfig * @param array $arrConfig
* @return $config * @return $config
*/ */
function ParseConfig($arrConfig) function ParseConfig($arrConfig)
{ {
$config = array(); $config = [];
foreach ($arrConfig as $line) { foreach ($arrConfig as $line) {
$line = trim($line); $line = trim($line);
if ($line != "" && $line[0] != "#") { if ($line != "" && $line[0] != "#") {
$arrLine = explode("=", $line); $arrLine = explode("=", $line);
$config[$arrLine[0]] = (count($arrLine) > 1 ? $arrLine[1] : true); $config[$arrLine[0]] = count($arrLine) > 1 ? $arrLine[1] : true;
} }
} }
return $config; return $config;
} }
/** /**
* *
* @param string $freq * @param string $freq
* @return $channel * @return $channel
*/ */
function ConvertToChannel($freq) function ConvertToChannel($freq)
{ {
if ($freq >= 2412 && $freq <= 2484) { if ($freq >= 2412 && $freq <= 2484) {
$channel = ($freq - 2407)/5; $channel = ($freq - 2407) / 5;
} elseif ($freq >= 4915 && $freq <= 4980) { } elseif ($freq >= 4915 && $freq <= 4980) {
$channel = ($freq - 4910)/5 + 182; $channel = ($freq - 4910) / 5 + 182;
} elseif ($freq >= 5035 && $freq <= 5865) { } elseif ($freq >= 5035 && $freq <= 5865) {
$channel = ($freq - 5030)/5 + 6; $channel = ($freq - 5030) / 5 + 6;
} else { } else {
$channel = -1; $channel = -1;
} }
if ($channel >= 1 && $channel <= 196) { if ($channel >= 1 && $channel <= 196) {
return $channel; return $channel;
} else { } else {
return 'Invalid Channel'; return "Invalid Channel";
} }
} }
/** /**
* Converts WPA security string to readable format * Converts WPA security string to readable format
* @param string $security * @param string $security
* @return string * @return string
*/ */
function ConvertToSecurity($security) function ConvertToSecurity($security)
{ {
$options = array(); $options = [];
preg_match_all('/\[([^\]]+)\]/s', $security, $matches); preg_match_all("/\[([^\]]+)\]/s", $security, $matches);
foreach ($matches[1] as $match) { foreach ($matches[1] as $match) {
if (preg_match('/^(WPA\d?)/', $match, $protocol_match)) { if (preg_match("/^(WPA\d?)/", $match, $protocol_match)) {
$protocol = $protocol_match[1]; $protocol = $protocol_match[1];
$matchArr = explode('-', $match); $matchArr = explode("-", $match);
if (count($matchArr) > 2) { if (count($matchArr) > 2) {
$options[] = htmlspecialchars($protocol . ' ('. $matchArr[2] .')', ENT_QUOTES); $options[] = htmlspecialchars(
$protocol . " (" . $matchArr[2] . ")",
ENT_QUOTES
);
} else { } else {
$options[] = htmlspecialchars($protocol, ENT_QUOTES); $options[] = htmlspecialchars($protocol, ENT_QUOTES);
} }
@ -213,29 +234,32 @@ function ConvertToSecurity($security)
// This could also be WEP but wpa_supplicant doesn't have a way to determine // This could also be WEP but wpa_supplicant doesn't have a way to determine
// this. // this.
// And you shouldn't be using WEP these days anyway. // And you shouldn't be using WEP these days anyway.
return 'Open'; return "Open";
} else { } else {
return implode('<br />', $options); return implode("<br />", $options);
} }
} }
/** /**
* *
* *
*/ */
/*LOKINET FUNCTIONS ADDED HERE*/ /*LOKINET FUNCTIONS ADDED HERE*/
function DisplayLokinetConfig() function DisplayLokinetConfig()
{ {
exec('pidof lokinet | wc -l', $lokinetstatus); exec("pidof lokinet | wc -l", $lokinetstatus);
if ($lokinetstatus[0] != 0) { if ($lokinetstatus[0] != 0) {
$exitstatus = exec("lokinet-vpn --status"); $exitstatus = exec("lokinet-vpn --status");
} else { } else {
$exitstatus = "no exits"; $exitstatus = "no exits";
} }
$rulestate = exec("ip rule show default | grep lokinet | awk {'print $5'}", $output); $rulestate = exec(
"ip rule show default | grep lokinet | awk {'print $5'}",
$output
);
$lokiversion = exec("dpkg -s lokinet | grep '^Version:'", $output); $lokiversion = exec("dpkg -s lokinet | grep '^Version:'", $output);
?> ?>
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<div class="panel panel-primary"> <div class="panel panel-primary">
@ -246,8 +270,6 @@ function DisplayLokinetConfig()
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li class="active"><a href="#basic" data-toggle="tab">Exit Node Settings</a> <li class="active"><a href="#basic" data-toggle="tab">Exit Node Settings</a>
</li> </li>
<li><a href="#daemon" data-toggle="tab">Daemon Settings</a>
</li>
<li><a href="#Mobile" data-toggle="tab">Mobile APN</a> <li><a href="#Mobile" data-toggle="tab">Mobile APN</a>
</li> </li>
<li><a href="#whois" data-toggle="tab">WHOIS</a> <li><a href="#whois" data-toggle="tab">WHOIS</a>
@ -255,195 +277,122 @@ function DisplayLokinetConfig()
</ul> </ul>
<!-- Tab panes --> <!-- Tab panes -->
<div class="tab-content"> <div class="tab-content">
<p><?php echo $status; ?></p> <p><?php echo $status; ?></p>
<p><?php echo "Current Lokinet $lokiversion"; ?></p> <p><?php echo "Current Lokinet $lokiversion"; ?></p>
<div class="tab-pane fade in active" id="basic"> <div class="tab-pane fade in active" id="basic">
<form role="form" action="?page=save_hostapd_conf" method="POST"> <form role="form" action="?page=save_hostapd_conf" method="POST">
<h5>Enter Exit Node Data to activate:</h5> <h5>Enter Exit Node Data to activate:</h5>
<label for="exitaddress">Exit Address:</label> <label for="exitaddress">Exit Address:</label>
<input type="text" class="form-control" placeholder="enter exit address here" id="exitaddress" name="exitaddress"> <input type="text" class="form-control" placeholder="enter exit address here" id="exitaddress" name="exitaddress">
<label for="exitkey">Exit Key: (optional)</label> <label for="exitkey">Exit Key: (optional)</label>
<input type="text" class="form-control" placeholder="enter exit key here" id="exitkey" name="exitkey"> <input type="text" class="form-control" placeholder="enter exit key here" id="exitkey" name="exitkey">
<br/> <br/>
<?php <?php
if ($exitstatus != "no exits") { if ($exitstatus != "no exits") {
echo '<input type="submit" class="btn btn-danger" name="StopExit" value="Stop Exit" />' , PHP_EOL; echo '<input type="submit" class="btn btn-danger" name="StopExit" value="Stop Exit" />', PHP_EOL;
} else { } else {
echo '<input type="submit" class="btn btn-success" name="StartExit" value="Start Exit" />' , PHP_EOL; echo '<input type="submit" class="btn btn-success" name="StartExit" value="Start Exit" />', PHP_EOL;
} }
if ($lokinetstatus[0] == 0) { if ($lokinetstatus[0] == 0) {
echo '<input type="submit" class="btn btn-success" name="StartDaemon" value="Start Daemon" />' , PHP_EOL; echo '<input type="submit" class="btn btn-success" name="StartDaemon" value="Start Daemon" />', PHP_EOL;
} else { } else {
echo '<input type="submit" class="btn btn-danger" name="StopDaemon" value="Stop Daemon" />' , PHP_EOL; echo '<input type="submit" class="btn btn-danger" name="StopDaemon" value="Stop Daemon" />', PHP_EOL;
} ?><h5><?php echo _("Your development support is greatly appreciated | Loki Address:"); ?></h5> }
<h5><pre><?php echo _("LA8VDcoJgiv2bSiVqyaT6hJ67LXbnQGpf9Uk3zh9ikUKPJUWeYbgsd9gxQ5ptM2hQNSsCaRETQ3GM9FLDe7BGqcm4ve69bh"); ?></pre></h5> ?><h5><?php echo "Your development support is greatly appreciated <br>Independent LabyrinthAP developer TechnicalTumbleweed's OXEN wallet address:"; ?></h5>
</div> <h5><pre><?php echo "LA8VDcoJgiv2bSiVqyaT6hJ67LXbnQGpf9Uk3zh9ikUKPJUWeYbgsd9gxQ5ptM2hQNSsCaRETQ3GM9FLDe7BGqcm4ve69bh"; ?></pre></h5>
</div>
<div class="tab-pane fade" id="Mobile">
<form role="form" action="?page=save_hostapd_conf" method="POST"> <div class="tab-pane fade" id="Mobile">
<h5>Enter mobile provider apn:</h5> <form role="form" action="?page=save_hostapd_conf" method="POST">
<label for="apn">Mobile Provider APN:</label> <h5>Enter mobile provider apn:</h5>
<input type="text" class="form-control" placeholder="enter apn address here" id="apn" name="apn"> <label for="apn">Mobile Provider APN:</label>
<br/> <input type="text" class="form-control" placeholder="enter apn address here" id="apn" name="apn">
<?php <br/>
echo '<input type="submit" class="btn btn-success" name="apnaddress" value="Set APN" />' , PHP_EOL; <?php echo '<input type="submit" class="btn btn-success" name="apnaddress" value="Set APN" />',
?><h5><?php echo _("Your development support is greatly appreciated | Loki Address:"); ?></h5> PHP_EOL; ?><h5><?php echo "Your development support is greatly appreciated <br>Independent LabyrinthAP developer TechnicalTumbleweed's OXEN wallet address:"; ?></h5>
<h5><pre><?php echo _("LA8VDcoJgiv2bSiVqyaT6hJ67LXbnQGpf9Uk3zh9ikUKPJUWeYbgsd9gxQ5ptM2hQNSsCaRETQ3GM9FLDe7BGqcm4ve69bh"); ?></pre></h5> <h5><pre><?php echo "LA8VDcoJgiv2bSiVqyaT6hJ67LXbnQGpf9Uk3zh9ikUKPJUWeYbgsd9gxQ5ptM2hQNSsCaRETQ3GM9FLDe7BGqcm4ve69bh"; ?></pre></h5>
</div> </div>
<div class="tab-pane fade" id="whois"> <div class="tab-pane fade" id="whois">
<form role="form" action="?page=save_hostapd_conf" method="POST"> <form role="form" action="?page=save_hostapd_conf" method="POST">
<h5>Enter .loki Address:</h5> <h5>Enter .loki Address:</h5>
<label for="lokiaddress">Loki Address:</label> <label for="lokiaddress">Loki Address:</label>
<input type="text" class="form-control" placeholder="enter lokinet address here" id="lokiaddress" name="lokiaddress"> <input type="text" class="form-control" placeholder="enter lokinet address here" id="lokiaddress" name="lokiaddress">
<br/> <br/>
<?php <?php echo '<input type="submit" class="btn btn-success" name="checkaddress" value="Submit" />',
echo '<input type="submit" class="btn btn-success" name="checkaddress" value="Submit" />' , PHP_EOL; PHP_EOL; ?><h5><?php echo "Your development support is greatly appreciated <br>Independent LabyrinthAP developer TechnicalTumbleweed's OXEN wallet address:"; ?></h5>
?><h5><?php echo _("Your development support is greatly appreciated | Loki Address:"); ?></h5> <h5><pre><?php echo "LA8VDcoJgiv2bSiVqyaT6hJ67LXbnQGpf9Uk3zh9ikUKPJUWeYbgsd9gxQ5ptM2hQNSsCaRETQ3GM9FLDe7BGqcm4ve69bh"; ?></pre></h5>
<h5><pre><?php echo _("LA8VDcoJgiv2bSiVqyaT6hJ67LXbnQGpf9Uk3zh9ikUKPJUWeYbgsd9gxQ5ptM2hQNSsCaRETQ3GM9FLDe7BGqcm4ve69bh"); ?></pre></h5> </div>
</div> <?php
<div class="tab-pane fade" id="daemon">
<h4>Lokient Daemon</h4>
<div class="row">
<div class="col-lg-12">
<button type="button" class="btn btn-info" data-toggle="collapse" data-target="#instruct">Instructions</button>
<div id="instruct" class="collapse">The 3 buttons below must be armed (red) to connect to Lokinet. If there isn't a current lokinet.ini file found on the system the "Generate.ini" button will be green. The .ini file must be generated prior to connecting to Lokinet by pressing the button which will automatically write the required .ini file. Similarly the absense of a valid bootstrap will be indicated by a green "Bootstrap" button. Applying a bootstrap by pressing the apply button without submitting a valid URL in the textbox area will apply the original default bootstrap in place of one being provided. Stopping the daemon also exits Lokinet. To summarize, if necessary generate the .ini and bootstrap Lokinet then you are able to connect to Lokinet by starting the daemon and letting the network establish itself.
</div>
<div class="row">
<div class="form-group col-lg-12">
<h5>Enter a valid bootstrap url below and apply to overwrite the current bootstrap:</h5>
<label for="lokinetbootstrap">Bootstrap url:</label>
<input type="url" class="form-control" placeholder="https://seed.lokinet.org/lokinet.signed" id="lokinetbootstrap" name="lokinetbootstrap">
<br/>
<?php
$filename = '/var/lib/lokinet/lokinet.ini';
if ($lokinetstatus[0] == 0) {
echo '<input type="submit" class="btn btn-success" name="StartDaemon" value="Start Daemon" />' , PHP_EOL;
} else {
echo '<input type="submit" class="btn btn-danger" name="StopDaemon" value="Stop Daemon" />' , PHP_EOL;
}
if (file_exists($filename)) {
echo '<input type="submit" class="btn btn-danger" name="ReGenerateLokinet" value="Regenerate .ini" />' , PHP_EOL;
} else {
echo '<input type="submit" class="btn btn-success" name="GenerateLokinet" value="Generate .ini" />' , PHP_EOL;
} ?>
<input type="submit" class="btn btn-danger" name="ApplyLokinetSettings" value="Re-Bootstrap" />
<h5><?php echo _("Your development support is greatly appreciated | Loki Address:"); ?></h5>
<h5><pre><?php echo _("LA8VDcoJgiv2bSiVqyaT6hJ67LXbnQGpf9Uk3zh9ikUKPJUWeYbgsd9gxQ5ptM2hQNSsCaRETQ3GM9FLDe7BGqcm4ve69bh"); ?></pre></h5>
</form>
</div>
</div>
</div>
</div>
</div>
</div><!-- /.tab-content -->
</div><!-- /.panel-body -->
<div class="panel-footer">Contact Loki user groups on Session to obtain Exit Access</div>
</div><!-- /.panel-primary -->
</div><!-- /.col-lg-12 -->
</div><!-- /.row -->
<?php
} }
/**
*
*
*/
function ActivateLokinetConfig() function ActivateLokinetConfig()
{ {
/* Lokinet script commands start HERE /* Lokinet script commands start HERE
//// ////
//// LOKINET //// LOKINET
//// ////
//*/ //*/
//START //START
if (isset($_POST['StartDaemon'])) { if (isset($_POST["StartDaemon"])) {
exec('sudo /var/lib/lokinet/lokilaunch.sh start'); exec("sudo /var/lib/lokinet/lokilaunch.sh start");
DisplayLokinetConfig(); DisplayLokinetConfig();
//STOP //STOP
} elseif (isset($_POST['StopDaemon'])) { } elseif (isset($_POST["StopDaemon"])) {
exec ('sudo /var/lib/lokinet/lokilaunch.sh exitdown'); exec("sudo /var/lib/lokinet/lokilaunch.sh exitdown");
exec('sudo /var/lib/lokinet/lokilaunch.sh stop'); exec("sudo /var/lib/lokinet/lokilaunch.sh stop");
DisplayLokinetConfig(); DisplayLokinetConfig();
//START EXIT //START EXIT
} elseif (isset($_POST['StartExit'])) { } elseif (isset($_POST["StartExit"])) {
$exit = $_POST['exitaddress']; $exit = $_POST["exitaddress"];
$token = $_POST['exitkey']; $token = $_POST["exitkey"];
$exit=str_replace("'", "", $exit); $exit = str_replace("'", "", $exit);
$token=str_replace("'", "", $token); $token = str_replace("'", "", $token);
$output = shell_exec("sudo /var/lib/lokinet/lokilaunch.sh exitup '".$exit."' '" .$token."'"); $output = shell_exec(
echo "<pre><strong>$output</strong></pre>"; "sudo /var/lib/lokinet/lokilaunch.sh exitup '" .
?><form method="post"><?php $exit .
echo '<input type="submit" class="btn btn-success" name="Return" value="Return" />' , PHP_EOL; "' '" .
echo "\n"; $token .
?><form><br/><?php "'"
);
//STOP EXIT $exitstatus = exec("lokinet-vpn --status");
} elseif (isset($_POST['StopExit'])) { if ($exitstatus != "no exits") {
exec ('sudo /var/lib/lokinet/lokilaunch.sh exitdown'); ?><div class="alert alert-info"><?php
DisplayLokinetConfig(); echo "Exit Enabled";
?></div><?php
//GENERATE LOKINET.INI } else {
} elseif (isset($_POST['GenerateLokinet'])) { ?><div class="alert alert-danger"><?php
?> echo "WARNING EXIT DID NOT CONNECT";
<div class="alert alert-success"> ?></div><?php
Generating Lokinet Configuration }
</div>
<?php
$output = shell_exec('sudo /var/lib/lokinet/lokilaunch.sh gen');
echo "<pre><strong>$output</strong></pre>";
?><form method="post"><?php
echo '<input type="submit" class="btn btn-success" name="Return" value="Return" />' , PHP_EOL;
echo "\n";
?><form><br/><?php
//REGENERATE LOKINET.INI
} elseif (isset($_POST['ReGenerateLokinet'])) {
?>
<div class="alert alert-success">
Regenerating Lokinet Configuration
</div>
<?php
$output = shell_exec('sudo /var/lib/lokinet/lokilaunch.sh gen');
echo "<pre><strong>$output</strong></pre>";
?><form method="post"><?php
echo '<input type="submit" class="btn btn-success" name="Return" value="Return" />' , PHP_EOL;
echo "\n";
?><form><br/><?php
//APPLY LOKINET-BOOTSTRAP
} elseif (isset($_POST['ApplyLokinetSettings'])) {
$bootstrap = $_POST['lokinetbootstrap'];
$bootstrap=str_replace("'", "", $bootstrap);
$output = shell_exec('sudo /var/lib/lokinet/lokilaunch.sh bootstrap '.$bootstrap.'');
$output = preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $output);
echo "<pre><strong>$output</strong></pre>"; echo "<pre><strong>$output</strong></pre>";
?><form method="post"><?php ?><form method="post"><?php
echo '<input type="submit" class="btn btn-success" name="Return" value="Return" />' , PHP_EOL; echo '<input type="submit" class="btn btn-success" name="Return" value="Return" />', PHP_EOL;
echo "\n"; echo "\n";
?><form><br/><?php ?><form><br/><?php
//WHOIS //STOP EXIT
} elseif (isset($_POST['checkaddress'])) { } elseif (isset($_POST["StopExit"])) {
$address = $_POST['lokiaddress']; exec("sudo /var/lib/lokinet/lokilaunch.sh exitdown");
$output = shell_exec('sudo /var/lib/lokinet/lokilaunch.sh whois '.$address.''); DisplayLokinetConfig();
//WHOIS
} elseif (isset($_POST["checkaddress"])) {
$address = $_POST["lokiaddress"];
$output = shell_exec("sudo /var/lib/lokinet/lokilaunch.sh whois " . $address . "");
echo "<pre><strong>$output</strong></pre>"; echo "<pre><strong>$output</strong></pre>";
?><form method="post"><?php ?><form method="post"><?php
echo '<input type="submit" class="btn btn-success" name="Return" value="Return" />' , PHP_EOL; echo '<input type="submit" class="btn btn-success" name="Return" value="Return" />', PHP_EOL;
echo "\n"; echo "\n";
?><form><br/><?php ?><form><br/><?php
//Mobile //Mobile
} elseif (isset($_POST['apnaddress'])) { } elseif (isset($_POST["apnaddress"])) {
$apnvalue = $_POST['apn']; $apnvalue = $_POST["apn"];
$file = "/var/lib/lokinet/mobile.sh"; $file = "/var/lib/lokinet/mobile.sh";
$input = file_get_contents($file); $input = file_get_contents($file);
$parsed = get_string_between($input, "apn='", "',ip"); $parsed = get_string_between($input, "apn='", "',ip");
@ -451,20 +400,13 @@ function ActivateLokinetConfig()
file_put_contents($file, $output); file_put_contents($file, $output);
echo "<pre><strong>Reboot required to start mobile. Reboot now?</strong></pre>"; echo "<pre><strong>Reboot required to start mobile. Reboot now?</strong></pre>";
?><form method="post"><?php ?><form method="post"><?php
echo '<input type="submit" class="btn btn-success" name="Return" value="Reboot Later" />' , PHP_EOL; echo '<input type="submit" class="btn btn-success" name="Return" value="Reboot Later" />', PHP_EOL;
echo '<input type="submit" class="btn btn-success" name="Reboot" value="Activate Now" />' , PHP_EOL; echo '<input type="submit" class="btn btn-success" name="Reboot" value="Activate Now" />', PHP_EOL;
echo "\n"; echo "\n";
?><form><br/><?php ?><form><br/><?php
} elseif (isset($_POST["Return"])) {
} elseif (isset($_POST['Return'])) { DisplayLokinetConfig();
} elseif (isset($_POST["Reboot"])) {
DisplayLokinetConfig(); shell_exec("sudo reboot now");
}
} elseif (isset($_POST['Reboot'])) {
shell_exec('sudo reboot now');
}
} }

Loading…
Cancel
Save