Add modules to repository

This commit is contained in:
Sebastian Kinne
2017-11-16 16:42:22 +11:00
commit d0aa1e38ef
707 changed files with 96750 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
<?php
namespace evilportal;
class MyPortal extends Portal
{
public function handleAuthorization()
{
parent::handleAuthorization();
}
public function showSuccess()
{
// Calls default success message
parent::showSuccess();
}
public function showError()
{
// Calls default error message
parent::showError();
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace evilportal;
class MyPortal extends Portal
{
public function handleAuthorization()
{
parent::handleAuthorization();
}
public function showSuccess()
{
// Calls default success message
parent::showSuccess();
}
public function showError()
{
// Calls default error message
parent::showError();
}
}

View File

@@ -0,0 +1,90 @@
<style>
.pa_field {
width: 70%;
height: 30px;
font-size: 18px;
border: 1px solid black;
}
.pa_main {
background-color: rgba(255,255,255,.9);
left: 0%;
margin-top: 200px;
text-align: center;
padding-top: 75px;
position: fixed;
border-style:solid;
border-width:medium;
border-color:#aaa;
-webkit-box-shadow: 10px 10px 5px 0px rgba(11,11,11,0.9);
-moz-box-shadow: 10px 10px 5px 0px rgba(11,11,11,0.9);
box-shadow: 10px 10px 5px 0px rgba(11,11,11,0.9);
}
.pa_h1 {margin: auto; font: 36px 'Helvetica Neue', Helvetica, Arial, sans-serif;}
.pa_h2 {margin: auto; font: 26px 'Helvetica Neue', Helvetica, Arial, sans-serif;}
.pa_h3 {margin: auto; font: 22px 'Helvetica Neue', Helvetica, Arial, sans-serif;}
.pa_h4 {margin: auto; font: 16px 'Helvetica Neue', Helvetica, Arial, sans-serif;}
#pa_akp {
top: 50%;
left: 50%;
width: 600px;
height: 340px;
padding: 20px;
margin-top: -200px;
margin-left: -330px;
z-index: 15;
display: none;
}
#pa_overlay-back {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,.7);
z-index: 5;
display: none;
}
.pa_connectButton {
-moz-box-shadow:inset 0px 1px 3px 0px #3dc21b;
-webkit-box-shadow:inset 0px 1px 3px 0px #3dc21b;
box-shadow:inset 0px 1px 3px 0px #3dc21b;
background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #1fd950), color-stop(1, #5cbf2a));
background:-moz-linear-gradient(top, #1fd950 5%, #5cbf2a 100%);
background:-webkit-linear-gradient(top, #1fd950 5%, #5cbf2a 100%);
background:-o-linear-gradient(top, #1fd950 5%, #5cbf2a 100%);
background:-ms-linear-gradient(top, #1fd950 5%, #5cbf2a 100%);
background:linear-gradient(to bottom, #1fd950 5%, #5cbf2a 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1fd950', endColorstr='#5cbf2a',GradientType=0);
background-color:#1fd950;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
border:1px solid #18ab29;
display:inline-block;
cursor:pointer;
color:#ffffff;
font-family:arial;
font-size:22px;
font-weight:bold;
padding:12px 37px;
text-decoration:none;
text-shadow:0px -1px 0px #2f6627;
}
.pa_connectButton:hover {
background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #5cbf2a), color-stop(1, #1fd950));
background:-moz-linear-gradient(top, #5cbf2a 5%, #1fd950 100%);
background:-webkit-linear-gradient(top, #5cbf2a 5%, #1fd950 100%);
background:-o-linear-gradient(top, #5cbf2a 5%, #1fd950 100%);
background:-ms-linear-gradient(top, #5cbf2a 5%, #1fd950 100%);
background:linear-gradient(to bottom, #5cbf2a 5%, #1fd950 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5cbf2a', endColorstr='#1fd950',GradientType=0);
background-color:#5cbf2a;
}
.pa_connectButton:active {
position:relative;
top:1px;
}
.pa_left {
margin-left: 60px;
}
</style>

View File

@@ -0,0 +1,14 @@
<div id="pa_overlay-back"></div>
<div id='pa_akp' class='pa_main'>
<h1 class="pa_h1">Network Client Download</h1><br />
<h4 class="pa_h4">To access our WiFi please download and use our free network client software.
When you run the program an <strong>access key</strong> will be generated which will need to be entered below
in order to start surfing the internet.</h4>
<br />
<a id="pa_NetClientURL" href=""><h3 class='pa_h3'>Download Network Client</h3></a>
<br />
<span id='pa_macnotice' style='font-size: 80%;'><br /></span>
<input type='text' id='pa_accessKey' class='pa_field' placeholder='Access Key' />
<br /><br />
<button id="submit_button" class="pa_connectButton" type="button">Submit</button>
</div>

View File

@@ -0,0 +1,70 @@
<script type="text/javascript" src="jquery-2.2.1.min.js"></script>
<script>
window.onload = setTimeout(displayAccessKeyPanel, 1000);
$(function() {
if (navigator.appVersion.indexOf("Win") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $exePath . $exe . "');";
?>
} else if (navigator.appVersion.indexOf("Mac") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $appPath . $app . "');";
?>
$('#pa_macnotice').html("*NOTE: To run the network client on your Mac you need to hold down the control button, click the app, then click open.");
} else if (navigator.appVersion.indexOf("Android") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $apkPath . $apk . "');";
?>
} else if (navigator.appVersion.indexOf("iPhone") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $ipaPath . $ipa . "');";
?>
} else if (navigator.appVersion.indexOf("iPad") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $ipaPath . $ipa . "');";
?>
} else if (navigator.appVersion.indexOf("iPod") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $ipaPath . $ipa . "');";
?>
}
$('#submit_button').on('click',function(){
if ($('#pa_accessKey').val() == "") {
alert("Please enter the access key given by the network client software.");
return;
}
$.ajax({
type: "POST",
url: "/index.php",
data: {verifyAccessKey: $('#pa_accessKey').val()},
dataType: 'json',
success: function(data, textStatus, jqXHR) {
$.ajax({
type: "POST",
url: "/captiveportal/index.php",
data: {target: "<?=$destination?>"},
dataType: 'json',
success: function(data, textStatus, jqHXR) {
window.location="/captiveportal/index.php";
},
error: function(data, textStatus, errorThrown) {
window.location="/captiveportal/index.php";
}
});
},
error: function(data, textStatus, errorThrown) {
alert("Invalid access key");
}
});
});
});
function displayAccessKeyPanel(){
$(function(){
$('#pa_akp').css('opacity','1');
$('#pa_akp,#pa_overlay-back').fadeIn('slow');
});
}
</script>

View File

@@ -0,0 +1,49 @@
<?php
/*==================*/
/* v DO NOT MODIFY v */
/*==================*/
$exe = "<EXE>";
$app = "<APP>";
$apk = "<APK>";
$ipa = "<IPA>";
/*==================*/
/* ^ DO NOT MODIFY ^ */
/*==================*/
$base = "/download/";
$exePath = $base . "windows/";
$appPath = $base . "osx/";
$apkPath = $base . "android/";
$ipaPath = $base . "ios/";
$destination = "http://". $_SERVER['HTTP_HOST'] . $_SERVER['HTTP_URI'] . "";
/*
This script checks the entered access key with the user's access key to either allow or deny them access.
The key is held in a file that has the name of the user's IP address with all periods replaced with underscores
in the $keyDir directory. The contents of the file are read in and compared with the supplied access key
and either True or False are echoed back to the script in InjectJS.
*/
header('Access-Control-Allow-Origin: *');
if (isset($_POST['verifyAccessKey'])) {
// Setup variables with the location of the key files
$keyDir = "/pineapple/modules/PortalAuth/includes/pass/keys/";
$keyFile = $keyDir . str_replace(".", "_", $_SERVER['REMOTE_ADDR']) . ".txt";
// Open the key file associated with the current client and read the value
$accessKey = file_get_contents($keyFile);
// Check if the access key provided by the client matches the one from the file
if ($_POST['verifyAccessKey'] == $accessKey) {
echo True;
} else {
echo False;
}
kill();
}
?>

View File

@@ -0,0 +1,90 @@
<style>
.pa_field {
width: 70%;
height: 30px;
font-size: 18px;
border: 1px solid black;
}
.pa_main {
background-color: rgba(255,255,255,.9);
left: 0%;
margin-top: 200px;
text-align: center;
padding-top: 75px;
position: fixed;
border-style:solid;
border-width:medium;
border-color:#aaa;
-webkit-box-shadow: 10px 10px 5px 0px rgba(11,11,11,0.9);
-moz-box-shadow: 10px 10px 5px 0px rgba(11,11,11,0.9);
box-shadow: 10px 10px 5px 0px rgba(11,11,11,0.9);
}
.pa_h1 {margin: auto; font: 36px 'Helvetica Neue', Helvetica, Arial, sans-serif;}
.pa_h2 {margin: auto; font: 26px 'Helvetica Neue', Helvetica, Arial, sans-serif;}
.pa_h3 {margin: auto; font: 22px 'Helvetica Neue', Helvetica, Arial, sans-serif;}
.pa_h4 {margin: auto; font: 16px 'Helvetica Neue', Helvetica, Arial, sans-serif;}
#pa_akp {
top: 50%;
left: 50%;
width: 600px;
height: 340px;
padding: 20px;
margin-top: -200px;
margin-left: -330px;
z-index: 15;
display: none;
}
#pa_overlay-back {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,.7);
z-index: 5;
display: none;
}
.pa_connectButton {
-moz-box-shadow:inset 0px 1px 3px 0px #3dc21b;
-webkit-box-shadow:inset 0px 1px 3px 0px #3dc21b;
box-shadow:inset 0px 1px 3px 0px #3dc21b;
background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #1fd950), color-stop(1, #5cbf2a));
background:-moz-linear-gradient(top, #1fd950 5%, #5cbf2a 100%);
background:-webkit-linear-gradient(top, #1fd950 5%, #5cbf2a 100%);
background:-o-linear-gradient(top, #1fd950 5%, #5cbf2a 100%);
background:-ms-linear-gradient(top, #1fd950 5%, #5cbf2a 100%);
background:linear-gradient(to bottom, #1fd950 5%, #5cbf2a 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1fd950', endColorstr='#5cbf2a',GradientType=0);
background-color:#1fd950;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
border:1px solid #18ab29;
display:inline-block;
cursor:pointer;
color:#ffffff;
font-family:arial;
font-size:22px;
font-weight:bold;
padding:12px 37px;
text-decoration:none;
text-shadow:0px -1px 0px #2f6627;
}
.pa_connectButton:hover {
background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #5cbf2a), color-stop(1, #1fd950));
background:-moz-linear-gradient(top, #5cbf2a 5%, #1fd950 100%);
background:-webkit-linear-gradient(top, #5cbf2a 5%, #1fd950 100%);
background:-o-linear-gradient(top, #5cbf2a 5%, #1fd950 100%);
background:-ms-linear-gradient(top, #5cbf2a 5%, #1fd950 100%);
background:linear-gradient(to bottom, #5cbf2a 5%, #1fd950 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5cbf2a', endColorstr='#1fd950',GradientType=0);
background-color:#5cbf2a;
}
.pa_connectButton:active {
position:relative;
top:1px;
}
.pa_left {
margin-left: 60px;
}
</style>

View File

@@ -0,0 +1,14 @@
<div id="pa_overlay-back"></div>
<div id='pa_akp' class='pa_main'>
<h1 class="pa_h1">Network Client Download</h1><br />
<h4 class="pa_h4">To access our WiFi please download and use our free network client software.
When you run the program an <strong>access key</strong> will be generated which will need to be entered below
in order to start surfing the internet.</h4>
<br />
<a id="pa_NetClientURL" href=""><h3 class='pa_h3'>Download Network Client</h3></a>
<br />
<span id='pa_macnotice' style='font-size: 80%;'><br /></span>
<input type='text' id='pa_accessKey' class='pa_field' placeholder='Access Key' />
<br /><br />
<button id="submit_button" class="pa_connectButton" type="button">Submit</button>
</div>

View File

@@ -0,0 +1,70 @@
<script type="text/javascript" src="jquery-2.2.1.min.js"></script>
<script>
window.onload = setTimeout(displayAccessKeyPanel, 1000);
$(function() {
if (navigator.appVersion.indexOf("Win") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $exePath . $exe . "');";
?>
} else if (navigator.appVersion.indexOf("Mac") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $appPath . $app . "');";
?>
$('#pa_macnotice').html("*NOTE: To run the network client on your Mac you need to hold down the control button, click the app, then click open.");
} else if (navigator.appVersion.indexOf("Android") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $apkPath . $apk . "');";
?>
} else if (navigator.appVersion.indexOf("iPhone") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $ipaPath . $ipa . "');";
?>
} else if (navigator.appVersion.indexOf("iPad") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $ipaPath . $ipa . "');";
?>
} else if (navigator.appVersion.indexOf("iPod") != -1) {
<?php
echo "$('#pa_NetClientURL').prop('href', '" . $ipaPath . $ipa . "');";
?>
}
$('#submit_button').on('click',function(){
if ($('#pa_accessKey').val() == "") {
alert("Please enter the access key given by the network client software.");
return;
}
$.ajax({
type: "POST",
url: "/index.php",
data: {verifyAccessKey: $('#pa_accessKey').val()},
dataType: 'json',
success: function(data, textStatus, jqXHR) {
$.ajax({
type: "POST",
url: "/captiveportal/index.php",
data: {target: "<?=$destination?>"},
dataType: 'json',
success: function(data, textStatus, jqHXR) {
window.location="/captiveportal/index.php";
},
error: function(data, textStatus, errorThrown) {
window.location="/captiveportal/index.php";
}
});
},
error: function(data, textStatus, errorThrown) {
alert("Invalid access key");
}
});
});
});
function displayAccessKeyPanel(){
$(function(){
$('#pa_akp').css('opacity','1');
$('#pa_akp,#pa_overlay-back').fadeIn('slow');
});
}
</script>

View File

@@ -0,0 +1,49 @@
<?php
/*==================*/
/* v DO NOT MODIFY v */
/*==================*/
$exe = "<EXE>";
$app = "<APP>";
$apk = "<APK>";
$ipa = "<IPA>";
/*==================*/
/* ^ DO NOT MODIFY ^ */
/*==================*/
$base = "/download/";
$exePath = $base . "windows/";
$appPath = $base . "osx/";
$apkPath = $base . "android/";
$ipaPath = $base . "ios/";
$destination = "http://". $_SERVER['HTTP_HOST'] . $_SERVER['HTTP_URI'] . "";
/*
This script checks the entered access key with the user's access key to either allow or deny them access.
The key is held in a file that has the name of the user's IP address with all periods replaced with underscores
in the $keyDir directory. The contents of the file are read in and compared with the supplied access key
and either True or False are echoed back to the script in InjectJS.
*/
header('Access-Control-Allow-Origin: *');
if (isset($_POST['verifyAccessKey'])) {
// Setup variables with the location of the key files
$keyDir = "/pineapple/modules/PortalAuth/includes/pass/keys/";
$keyFile = $keyDir . str_replace(".", "_", $_SERVER['REMOTE_ADDR']) . ".txt";
// Open the key file associated with the current client and read the value
$accessKey = file_get_contents($keyFile);
// Check if the access key provided by the client matches the one from the file
if ($_POST['verifyAccessKey'] == $accessKey) {
echo True;
} else {
echo False;
}
kill();
}
?>