6 changed files with 283 additions and 34 deletions
Unified View
Diff Options
-
1src/portal-srv/index.js
-
BINsrv/webapp/portal/clouds.jpg
-
BINsrv/webapp/portal/din-regular.ttf
-
170srv/webapp/portal/index.html
-
BINsrv/webapp/portal/logos.png
-
146srv/webapp/portal/ready.html
@ -1,15 +1,155 @@ |
|||||
<!DOCTYPE html> |
|
||||
<html lang="en"> |
|
||||
<head> |
|
||||
<meta charset="UTF-8"> |
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge"> |
|
||||
<title>Portal Captif</title> |
|
||||
</head> |
|
||||
<body> |
|
||||
<h1>Hello World</h1> |
|
||||
<form action="/ready.html"> |
|
||||
<button type="submit">OKAY!!!</button> |
|
||||
</form> |
|
||||
</body> |
|
||||
</html> |
|
||||
|
<html> |
||||
|
<head> |
||||
|
<title>PXCom Authentication</title> |
||||
|
<meta http-equiv="Cache-control" content="no-cache"> |
||||
|
<meta http-equiv="Pragma" content="no-cache"> |
||||
|
<meta http-equiv="Expires" content="-1"> |
||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
|
||||
|
<style type="text/css"> |
||||
|
form { |
||||
|
margin: 0; |
||||
|
} |
||||
|
a { |
||||
|
text-decoration: none !important; |
||||
|
color: black !important; |
||||
|
} |
||||
|
@font-face { |
||||
|
font-family: "Din"; |
||||
|
src: url('din-regular.ttf'); |
||||
|
} |
||||
|
.main { |
||||
|
font-family:Din; |
||||
|
height: 100%; |
||||
|
width: 100%; |
||||
|
background-color: #002857; |
||||
|
} |
||||
|
.message { |
||||
|
height: 40%; |
||||
|
line-height:100%; |
||||
|
background-image: url('clouds.jpg'); |
||||
|
background-position: center; |
||||
|
background-size: cover; |
||||
|
vertical-align: middle; |
||||
|
text-align: center; |
||||
|
color: white; |
||||
|
font-size: 200%; |
||||
|
position: relative; |
||||
|
} |
||||
|
.message > * { |
||||
|
width: 100%; |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 0; |
||||
|
transform: translateY(-50%); |
||||
|
} |
||||
|
.connect { |
||||
|
height: 40%; |
||||
|
padding: 20px; |
||||
|
box-sizing: border-box; |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
.connectButton { |
||||
|
width: 100%; |
||||
|
text-align: center; |
||||
|
background-color:white; |
||||
|
color:black; |
||||
|
cursor: pointer; |
||||
|
|
||||
|
height: 40%; |
||||
|
line-height:100%; |
||||
|
vertical-align: middle; |
||||
|
text-align: center; |
||||
|
font-size: 100%; |
||||
|
position: relative; |
||||
|
} |
||||
|
.connectButton > * { |
||||
|
width: 100%; |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 0; |
||||
|
transform: translateY(-50%); |
||||
|
} |
||||
|
.powered { |
||||
|
height: 5%; |
||||
|
width:100%; |
||||
|
vertical-align: middle; |
||||
|
text-align: center; |
||||
|
color: white; |
||||
|
} |
||||
|
.logos { |
||||
|
height: 15%; |
||||
|
width: 100%; |
||||
|
text-align: center; |
||||
|
} |
||||
|
.logos > * { |
||||
|
max-width: 80%; |
||||
|
max-height: 100%; |
||||
|
} |
||||
|
</style> |
||||
|
|
||||
|
</head> |
||||
|
|
||||
|
<body style="background-color: white" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" > |
||||
|
<FORM> |
||||
|
<INPUT TYPE="hidden" NAME="buttonClicked" SIZE="16" MAXLENGTH="15" VALUE="0"> |
||||
|
<INPUT TYPE="hidden" NAME="err_flag" SIZE="16" MAXLENGTH="15" VALUE="0"> |
||||
|
<INPUT TYPE="hidden" NAME="err_msg" SIZE="32" MAXLENGTH="31" VALUE=""> |
||||
|
<INPUT TYPE="hidden" NAME="info_flag" SIZE="16" MAXLENGTH="15" VALUE="0"> |
||||
|
<INPUT TYPE="hidden" NAME="info_msg" SIZE="32" MAXLENGTH="31" VALUE=""> |
||||
|
<INPUT TYPE="hidden" NAME="redirect_url" SIZE="255" MAXLENGTH="255" VALUE=""> |
||||
|
<INPUT TYPE="hidden" NAME="network_name" SIZE="64" MAXLENGTH="64" VALUE="Guest Network"> |
||||
|
|
||||
|
<div class="main"> |
||||
|
<div class="message"><span>We connect you simply!</span></div> |
||||
|
<div class="connect"> |
||||
|
<div class="connectButton" onclick="submitAction();"> |
||||
|
<span>Connect</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="powered">Powered by</div> |
||||
|
<div class="logos"> |
||||
|
<img src="logos.png" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</FORM> |
||||
|
</body> |
||||
|
</html> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
var K_NB_TRY = 4 |
||||
|
var K_HOME_URL = 'http://eca.aero' |
||||
|
var K_VALIDATE_URL = 'http://192.168.8.102:8889/validate' |
||||
|
|
||||
|
function submitAction () { |
||||
|
sendValidate(0) |
||||
|
} |
||||
|
|
||||
|
function goToHome () { |
||||
|
window.location = K_HOME_URL |
||||
|
} |
||||
|
|
||||
|
function sendValidate (pNbTry) { |
||||
|
var xhttp = new XMLHttpRequest() |
||||
|
xhttp.onreadystatechange = function (event) { |
||||
|
if (this.readyState === XMLHttpRequest.DONE) { |
||||
|
console.log("Response: %d (%s)", this.status, this.statusText) |
||||
|
if (this.status < 400 || pNbTry >= K_NB_TRY) { |
||||
|
goToHome() |
||||
|
} else { |
||||
|
setTimeout(function () { |
||||
|
pNbTry++ |
||||
|
sendValidate(pNbTry) |
||||
|
}, 200) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
xhttp.open('GET', K_VALIDATE_URL) |
||||
|
xhttp.send(null) |
||||
|
} |
||||
|
|
||||
|
|
||||
|
</script> |
||||
@ -1,25 +1,135 @@ |
|||||
<!DOCTYPE html> |
|
||||
<html lang="en"> |
|
||||
<head> |
|
||||
<meta charset="UTF-8"> |
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge"> |
|
||||
<title>Portal Captif</title> |
|
||||
</head> |
|
||||
<body> |
|
||||
<h1>Ready to navigate!</h1> |
|
||||
<a href="http://eca.aero" target="_blank">Go!!!</a> |
|
||||
</body> |
|
||||
|
<html> |
||||
|
<head> |
||||
|
<title>PXCom Authentication</title> |
||||
|
<meta http-equiv="Cache-control" content="no-cache"> |
||||
|
<meta http-equiv="Pragma" content="no-cache"> |
||||
|
<meta http-equiv="Expires" content="-1"> |
||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
|
||||
|
<style type="text/css"> |
||||
|
form { |
||||
|
margin: 0; |
||||
|
} |
||||
|
a { |
||||
|
text-decoration: none !important; |
||||
|
color: black !important; |
||||
|
} |
||||
|
@font-face { |
||||
|
font-family: "Din"; |
||||
|
src: url('din-regular.ttf'); |
||||
|
} |
||||
|
.main { |
||||
|
font-family:Din; |
||||
|
height: 100%; |
||||
|
width: 100%; |
||||
|
background-color: #002857; |
||||
|
} |
||||
|
.message { |
||||
|
height: 40%; |
||||
|
line-height:100%; |
||||
|
background-image: url('clouds.jpg'); |
||||
|
background-position: center; |
||||
|
background-size: cover; |
||||
|
vertical-align: middle; |
||||
|
text-align: center; |
||||
|
color: white; |
||||
|
font-size: 200%; |
||||
|
position: relative; |
||||
|
} |
||||
|
.message > * { |
||||
|
width: 100%; |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 0; |
||||
|
transform: translateY(-50%); |
||||
|
} |
||||
|
.connect { |
||||
|
height: 40%; |
||||
|
padding: 20px; |
||||
|
box-sizing: border-box; |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
.connectButton { |
||||
|
width: 100%; |
||||
|
text-align: center; |
||||
|
background-color:white; |
||||
|
color:black; |
||||
|
|
||||
|
height: 40%; |
||||
|
line-height:100%; |
||||
|
vertical-align: middle; |
||||
|
text-align: center; |
||||
|
font-size: 100%; |
||||
|
position: relative; |
||||
|
} |
||||
|
.connectButton > * { |
||||
|
width: 100%; |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 0; |
||||
|
transform: translateY(-50%); |
||||
|
} |
||||
|
.powered { |
||||
|
height: 5%; |
||||
|
width:100%; |
||||
|
vertical-align: middle; |
||||
|
text-align: center; |
||||
|
color: white; |
||||
|
} |
||||
|
.logos { |
||||
|
height: 15%; |
||||
|
width: 100%; |
||||
|
text-align: center; |
||||
|
} |
||||
|
.logos > * { |
||||
|
max-width: 80%; |
||||
|
max-height: 100%; |
||||
|
} |
||||
|
</style> |
||||
|
|
||||
|
</head> |
||||
|
|
||||
|
<body style="background-color: white" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" > |
||||
|
<FORM> |
||||
|
<INPUT TYPE="hidden" NAME="buttonClicked" SIZE="16" MAXLENGTH="15" VALUE="0"> |
||||
|
<INPUT TYPE="hidden" NAME="err_flag" SIZE="16" MAXLENGTH="15" VALUE="0"> |
||||
|
<INPUT TYPE="hidden" NAME="err_msg" SIZE="32" MAXLENGTH="31" VALUE=""> |
||||
|
<INPUT TYPE="hidden" NAME="info_flag" SIZE="16" MAXLENGTH="15" VALUE="0"> |
||||
|
<INPUT TYPE="hidden" NAME="info_msg" SIZE="32" MAXLENGTH="31" VALUE=""> |
||||
|
<INPUT TYPE="hidden" NAME="redirect_url" SIZE="255" MAXLENGTH="255" VALUE=""> |
||||
|
<INPUT TYPE="hidden" NAME="network_name" SIZE="64" MAXLENGTH="64" VALUE="Guest Network"> |
||||
|
|
||||
|
<div class="main"> |
||||
|
<div class="message"><span>We connect you simply!</span></div> |
||||
|
<div class="connect"> |
||||
|
<a href="http://google.com"> |
||||
|
<div class="connectButton"><span>Open portal</span></div> |
||||
|
</a> |
||||
|
</div> |
||||
|
<div class="powered">Powered by</div> |
||||
|
<div class="logos"> |
||||
|
<img src="logos.png" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</FORM> |
||||
|
</body> |
||||
</html> |
</html> |
||||
|
|
||||
|
|
||||
<script> |
<script> |
||||
var xhttp = new XMLHttpRequest() |
|
||||
xhttp.onreadystatechange = function(event) { |
|
||||
if (this.readyState === XMLHttpRequest.DONE) { |
|
||||
console.log("Response: %d (%s)", this.status, this.statusText) |
|
||||
|
function sendValidate () { |
||||
|
var xhttp = new XMLHttpRequest() |
||||
|
xhttp.onreadystatechange = function(event) { |
||||
|
if (this.readyState === XMLHttpRequest.DONE) { |
||||
|
console.log("Response: %d (%s)", this.status, this.statusText) |
||||
|
} |
||||
} |
} |
||||
|
xhttp.open('GET', 'http://captive.eca.aero/validate') |
||||
|
xhttp.send(null) |
||||
} |
} |
||||
xhttp.open('GET', 'http://captive.eca.aero/validate') |
|
||||
xhttp.send(null) |
|
||||
|
|
||||
|
setTimeout(sendValidate, 2000) |
||||
</script> |
</script> |
||||
|
|
||||
Write
Preview
Loading…
Cancel
Save