Search code examples
androidhtmlopenwrtsplash-screencaptiveportal

redirectURL on nodogsplash don't works on mobile splash page


I have a nodogsplash version 0.9_beta9.9.9 installed on OpenWRT 15.05.01 device and they work well when I'm using the browser (mozzila, chrome) to access the captive portal and after click to 'Continue' they redirect me to pre-setting page.

This is my code:

    `<!DOCTYPE html>
<html>
<head>
<!--
A client is authenticated by requesting the page $authtarget.
        So, href to it here, with an img or link text the user can click on
        Alternatively submit an HTTP form method=get, passing $authaction,
        Also, note that any images you reference must reside in the
        subdirectory that is the value of $imagesdir (default: "images").
Available variables:
        error_msg: $error_msg
        gatewayname: $gatewayname
        tok: $tok
        redir: $redir
        authaction: $authaction
        denyaction: $denyaction
        authtarget: $authtarget
        clientip: $clientip
        clientmac: $clientmac
        gatewaymac: $gatewaymac
        nclients: $nclients
        maxclients: $maxclients
        uptime: $uptime
        imagesdir: $imagesdir
        pagesdir: $pagesdir
Additional Variables that can also be passed back via HTTP get.
Or just append them to the authentication link:
        nodoguser
        nodogpass
        info
        voucher
-->

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalida
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel='shortcut icon' href='$imagesdir/splash.jpg' type='image/x-icon' 
<title>$gatewayname Entry</title>                                          

<style>                                                                    
body                                                                       
{                                                                          
background-color:lightgrey;                                                
color:black;                                                               
margin-left: 5%;                                                           
margin-right: 5%;                                                          
text-align: left;                                                          
}                                                                          
img                                                                        
{                                                                          
width: 40%;                                                                
max-width: 180px;                                                          
margin-left: 0%;                                                           
margin-right: 5%;                                                          
}                                                                          
input[type=submit]                                                         
{                                                                          
color:black;                                                               
margin-left: 0%;                                                           
margin-right: 5%;                                                          
text-align:left;                                                           
font-size: 1.0em;                                                          
line-height: 2.5em;                                                        
font-weight: bold;                                                         
border: 1px solid;                                                         
}                                                                          
</style>                                                                   
</head>                                                                    

<body>                                                                    
<b>Funz Hotspot Gateway.</b>                                        
<br>                                                                                                                                        
<br>                                                                       
<b>                                                                        
<img src="$imagesdir/splash.jpg" alt="Splash Page:For access to the Interne
<hr>                                                                       
<span style="color:red; font-style:normal;">                               
Bem Vindo!                                                                 
</span>                                                                    
</b>                                                                       
<hr>                                                                       
<br>                                                                       
<b>Por favor, para acessar a internet clique em continuar.</b>             
<br>                                                                       
<br>                                                                       
<hr>                                                                       

<form method='get' action='$authaction' target='_blank'>                   
<input type='hidden' name='tok' value='$tok'>                              
<input type='hidden' name='redir' value='http://webapp.funz.com.br'>

<input type='submit' value='Continue'>                                     

</form>                                                                    

<hr>Copyright (C) 2004-2016.  This software is released under the GNU GPL l

</body>                                                                    
</html>   

       `

But the real problem is when I click to submit the form (see below) on a mobile device and the login "pop-up" closes instantly and I am not redirected to setting URL, But when I use the browser on the android device the redirect to the setting URL well.

<form method='get' action='$authaction' target='_blank'>                   
<input type='hidden' name='tok' value='$tok'>                              
<input type='hidden' name='redir' value="http://webapp.funz.com.br">

<input type='submit' value='Continue'>                                     

</form>

Some One had some idea to solve this problem with the redirect to a URL with the nodogsplash Captive Portal on a Mobile devices. Thanks Until now.


Solution

  • This is a default behavior of android captive network assistant. It is very specific about its functionality and one feature is, that when it finally detects it got connected to the internet, it immediately closes itself. It doesnt happen on iOS devices and older androids though.

    You might want to try send the form with ajax and redirect manually, this way I think I have achieved holding the page longer, but I am not sure now why I abandoned this solution. Probably because some misbehavior on other devices.