jsparber / CaptivePortalAutologin

Saves the login procedure for networks with a Captive Portal and reproduces it to automate the login.
Apache License 2.0
49 stars 11 forks source link

Captive portal not supported #2

Open ghost opened 7 years ago

ghost commented 7 years ago

First of all, let me thank you for providing this app on F-Droid. I have been searching for a solution like this for quite some time.

Unfortunately, the captive portal I tried to use the app for is not supported. Let me know what information is needed to support a captive portal, and I will try to provide that information.

Cheers!

screenshot

jsparber commented 7 years ago

For now all Captive portals with 1 static page and 1 form on it should work. So that means when the web page is generated by Javascript, or if it has more than 1 from it is not supported. Can you provide the html and javascript of your captive portal?

ghost commented 7 years ago
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
 xmlns:f="http://java.sun.com/jsf/core"
 xmlns:h="http://java.sun.com/jsf/html"
 xmlns:tm="http://java.telekom.net/pd/wlan/tmtags"

 lang="de">

<head jsfc="h:head"><meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-script-type" content="text/javascript" />
<title>HotSpot Fon</title><meta name="date" content="11.01.2016 15:06:39" />

<meta name="EASYCONNECT-PAGE" content="LOGIN" /> 
<script type="text/javascript" src="/shared/static/js/full/FON_EXT-de_DE-full,tid=js.js"></script>
<meta name="company" content="Digital Media Products GmbH" /> 
<meta name="copyright" content="t-online.de" />  <meta name="description" content="HotSpot Fon" /> 
<meta name="generator" content="CoreMedia CMS 2008; www.coremedia.com" /> 
<meta name="google-site-verification" content="0rjsJiXOXjcia3Bbfq63MMrZSx9PySSKyBhcxC_VvAk" /> 
<meta name="keywords" content="" /> 
<meta name="language" content="de" /> 
<meta name="robots" content="INDEX,FOLLOW" /> 
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="/shared/static/css/dtag-toolbox/tbx-components-ie7-css,tid=css.css" />
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="/shared/static/css/dtag-toolbox/tbx-components-ie8-css,tid=css.css" />
<![endif]-->
<!--[if IE 9]>
<link rel="stylesheet" type="text/css" href="/shared/static/css/dtag-toolbox/tbx-components-ie9-css,tid=css.css" />
<![endif]-->
<!--[if lte IE 8]>
<script type="text/javascript" src="/shared/static/scripts/libs/ie-only/html5shiv-js,tid=js.js"></script>
<![endif]-->
<!--[if lte IE 7]>
<script type="text/javascript" src="/shared/static/scripts/libs/ie-only/jquery-pseudo-js,tid=js.js"></script>
<![endif]-->
<script type="text/javascript" src="/shared/static/js/fon-js,tid=js.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel='shortcut icon' href='/shared/favicons/favicon_td,tid=da.png' type='image/x-icon' />
<link rel='apple-touch-icon' href='/shared/favicons/apple-touch-icon-precomposed,tid=da.png' /><link rel="meta" href="http://www.t-online.de/labels.rdf" type="application/rdf+xml" title="T-Online ICRA labels" />

 <link rel="canonical" href="/FON_EXT/de_DE/web/start/index.xhtml" /> 
<script type="text/javascript">/*<![CDATA[*/TfH()/*]]>*/</script>
<link rel="stylesheet" type="text/css" href="/shared/static/css/full/FON_EXT-de_DE-dsk,tid=css.css" />
</head>
<body class="DTExperience THS dtx" jsfc="h:body">
<div id="Tall">
<script type="text/javascript">/*<![CDATA[*/chkTablet();if (TisMOB){$('body').addClass('Tmob')}/*]]>*/</script>

<div id="Tstart"><a id="top"></a></div>
<script type="text/javascript">/*<![CDATA[*/TfA();/*]]>*/</script><div id="Tstat"><script type="text/javascript">/*<![CDATA[*/TS1();/*]]>*/</script><noscript></noscript></div><div id="Tadspacehead"></div><div id="Tmainbox" class="Tst"> <!--noindex:-->
    <noscript>
  <div id="Tnojsbox">
    <i></i><b>Javascript deaktiviert</b> 
    Bitte aktivieren Sie JavaScript, um eine optimale Funktionsweise sicherzustellen.
  </div>
</noscript>

 <!--[if lte IE 7]>      
 <div id="ie-warning">
    <i></i><b>Sie verwenden einen veralteten Browser, mit dem eine optimale Funktionsweise nicht sichergestellt ist. Bitte führen Sie ein Browserupdate durch. </b> 

    <a onclick="jQuery('#ie-warning').slideUp('normal');return false;" class="Tcls" href="javascript:;"></a>
  </div>
 <![endif]-->
  <div id="Tnocookiebox" style="display:none">
    <i></i><b>Cookies deaktiviert</b>
    Bitte lassen Sie Cookies zu, um eine optimale Funktionsweise sicherzustellen.
    <a onclick="jQuery('#Tnocookiebox').slideUp('normal');return false;" class="Tcls" href="javascript:;"></a>
  </div>

<div id="Thead">
     <div id="TBranding">
    <a href="https://hotspot.t-mobile.net">
      <img class="TLogo Tnomob" alt="Telekom" src="/shared/static_fon/telekom_logos/t_desk_brand,tid=da.png" />
      <img class="TLogo Tismob" alt="Telekom" src="/shared/static_fon/telekom_logos/t_mob_brand,tid=da.png" />
    </a>
  </div>
  <div id="TPartnerBranding">
      <p>in Kooperation mit</p>
      <img class="Tnomob" alt="FON" src="/shared/static_fon/imgs/desktop_fon_logo_header,tid=da.png"/>
      <img class="Tismob" alt="FON" src="/shared/static_fon/imgs/mob_fon_logo,tid=da.png"/>
  </div>
<div class="Tclr"></div>

   <div id="Tmetnav">
    <a href="/change-language?language=en_GB">English</a>      &nbsp;|&nbsp;<a href="/FON_EXT/de_DE/web/help_and_service/security.html" target="_blank">Sicherheit</a>&nbsp;|&nbsp;<a href="/FON_EXT/de_DE/web/contact/index.html" target="_blank">Kontakt</a>   
  </div>
</div>
<!--/noindex-->

<!-- hotspot_major_template: "ecom2" -->
<!-- hotspot_template: "ecom2" -->
<!-- landing: $landing -->
<!-- remote: $remote -->

<div id="Tmainmenu" class="fon">
<menu class="main-navigation large full-width button-inside">
 <li id="Tmohm" class=" maca Tnhov  Tnnak  "> <a href="/FON_EXT/de_DE/web/start/index.xhtml" target="_self" class="icon-only icon-home first"> <span class="icon"></span><span class="buttontext">Home</span>
      </a> </li> 

 <li> 

 </li> 

 <li id="Tmoap"  > 
<a href="/FON_EXT/de_DE/web/apps/index.html" target="_self" class="Tismob"><span class="buttontext">Apps</span>
        </a>
 </li> 

 <li id="Tmota"  > 
<a href="https://rlp.telekom.de/wlan/voucher.do?lang=de_DE&amp;" target="_self" class="Tismob"><span class="buttontext">Tarife</span>
        </a><a href="https://rlp.telekom.de/wlan/voucher.do?lang=de_DE&amp;" target="_self" class="Tnomob"><span class="buttontext">Tarife</span>
        </a>
 </li> 

 <li id="Tmohi"  > 
<a href="/FON_EXT/de_DE/web/help_and_service/index.html" target="_self" class="Tnomob"><span class="buttontext">Hilfe &amp; Service</span>
        </a>
 </li> 

 <li  > 
<a href="/FON_EXT/de_DE/web/myhotspot/index.html" target="_self" class="Tnomob"><span class="buttontext">My HotSpot</span>
        </a>
 </li> 

 <li  > 
<a href="/FON_EXT/de_DE/web/AboutFON/index.html" target="_self" class="Tnomob"><span class="buttontext">&Uuml;ber Fon</span>
        </a>
 </li> 
</menu>

</div>
<script type="text/javascript">/*<![CDATA[*/

//--------------------------------------------------------------------
// Detach new Meta-Navigation from Header and Attach below Main-Nav
//--------------------------------------------------------------------
jQuery('#Tmainmenu').append(jQuery('#Tmetnav').detach());

//-----------------------------------------------
// Deactivate navigation bar for mobile LH Lounge
//-----------------------------------------------
if (TisMOB) {
 /*hideTWLANDEMainNavigation();*/

}
/*]]>*/
</script>
<div id="Tcontbox">

<script type="text/javascript">
/*<![CDATA[*/
  // Variable für NPS Umfrage
  var isRailnet="false";
/*]]>*/
</script>

 <!-- camouflaged preview_code_start --> 
 <!-- preview_code_end --> 

 <div id="Tcontboxi"> 

 <!-- camouflaged preview_code_start --> 
 <!-- preview_code_end --> 

<div id="error-box" style="display:none;" >
  <div class="dummy-error message-wrapper hide"> 
    <p class="icon prepended">&auml;&nbsp;
    </p> 
    <p class="message-content">Success: You are now offline!
    </p> 
    <p class="icon appended">
    </p> 
    <div class="Tclr">
    </div>
  </div>
 <div class="Tclr">
  </div>
</div>

<div class="error-hint-box" style="display:none" >  
  <div class="message-wrapper">    
    <p class="icon prepended">
    </p>     
    <p class="message-content">Bitte beachten Sie den Fehlerhinweis.
</p>    
    <p class="icon appended">&amp;</p>  
  </div>  
  <div class="Tclr">
  </div>
</div>

<script type="text/javascript">
 /*<![CDATA[*/
function showTooltips() {
 /* show tooltips */
  jQuery('#error-box .message-wrapper span').each(function() {
    /* && jQuery('\#'+jQuery(this).attr('class')).is(':visible') */
    if (jQuery(this).attr('class') != '' && jQuery(this).attr('class') != 'Tdummy') {
      var errortext = jQuery('.message-content .' + jQuery(this).attr('class')).text();
      validateErrorAdd(errortext, jQuery('\#' + jQuery(this).attr('class')));
    }
  });
  jQuery('\#Tlgerrmsgbox .message-wrapper span').each(function() {
    /* && jQuery('\#'+jQuery(this).attr('class')).is(':visible') */
    if (jQuery(this).attr('class') != '' && jQuery(this).attr('class') != 'Tdummy') {
      var errortext = jQuery('.message-content .' + jQuery(this).attr('class')).text();
      validateErrorAdd(errortext, jQuery('\#' + jQuery(this).attr('class')));
    }
  });
}
function showGeneralErrorMsg() {

var ehb = jQuery('.error-hint-box').first().clone();

if(jQuery('input.validate-negative').last().parents('.Tcbrow').length > 1){
    jQuery('input.validate-negative').last().parents('.Tcbrow').append( ehb );
  } else if(jQuery('input.validate-negative').last().parents('.inputFieldCluster').length > 0){
    jQuery('input.validate-negative').last().parents('.inputFieldCluster').append( ehb );
  } 
  else if(jQuery("\#confirmation").length > 0) { $('#confirmation .step-content').find('.checkboxwrap').last().after( ehb );
  } 
  else if(jQuery("\.Twiz").length > 0) {
    /*jQuery("\.Twiz").append(jQuery("\.error-hint-box"));*/
    /*jQuery("\.error-hint-box").detach();*/
  } else {
    /*jQuery("\#Tcontbox").append(jQuery("\.error-hint-box"));*/
    /*jQuery("\.error-hint-box").detach();*/
  }

   if(jQuery("\#Tstage").length != 0){
     jQuery("\.error-hint-box").detach();
   }

  if (jQuery('#error-box \.message-wrapper').length > 1) {
   if(TisMOB || jQuery('#error-box \.message-wrapper').filter(':not(.Tismob)').length > 1){
    jQuery('#error-box').animate({'height': 'toggle', 'opacity': 'toggle', 'queue':'false' }, "slow");
    jQuery('\.error-hint-box').last().animate({'height': 'toggle', 'opacity': 'toggle' }, "slow");
   } else {
     jQuery('#error-box').hide();
     jQuery('\.error-hint-box').hide();
   }
  } else {
    jQuery('#error-box').hide();
    jQuery('\.error-hint-box').hide();
   }
}

function getTechErrorMsg(){
    return 'Es liegt ein technisches Problem vor. Bitte versuchen Sie es später noch einmal.';

}

function removeErrorBannerMsgs(){
  //jQuery('#error-box \.message-wrapper').addClass('hide');
  jQuery('#error-box \.message-wrapper').each(function(item){
    if(!jQuery(this).hasClass('dummy-error'))
       jQuery(this).detach();
  });
}

function hideErrorBanner(){
  jQuery('#error-box').slideUp(700);
}
function showErrorBanner(msg){
  removeErrorBannerMsgs();
  FAErrMsgCounter = jQuery('#error-box \.message-wrapper').length + 1;
  jQuery('#error-box \.dummy-error\.message-wrapper')
           .clone()
           .removeClass('dummy-error')
           .removeClass('hide')
           .addClass(FAErrMsgCounter.toString())
           .appendTo('#error-box');
  jQuery('#error-box \.message-wrapper\.' + FAErrMsgCounter.toString() + ' \.message-content').text(msg);
  jQuery('#error-box \.Tclr').detach().appendTo('#error-box');
  //jQuery('#error-box').animate({'height': 'auto', 'opacity': '0', 'queue':'false' }, "slow");
  jQuery('#error-box').slideDown(700);
}

jQuery(document).ready(function(){
showTooltips();
  if ( jQuery('\#Tlgerrmsgbox').length > 1 ){
    jQuery('\#Tlgerrmsgbox p\.message-wrapper').each( function(item){
     console.log(this + ' - ' + item);
     var msg = this.textContent; 
jQuery('#error-box \.dummy-error\.message-wrapper')
           .clone()
           .removeClass('dummy-error')
           .removeClass('hide')
           .addClass(item.toString())
           .appendTo('#error-box');
       jQuery('#error-box \.message-wrapper\.' + item + ' \.message-content').text(msg); 
});
  }
   jQuery('#error-box \.Tclr').detach().first().appendTo('#error-box');
   /* jQuery('#error-box \.dummy-error').detach(); */

   if( window.location.toString().search(/\.xhtml/) != -1 || window.location.toString().search(/\.do/) != -1){
      showGeneralErrorMsg(); 
   } else{ hideErrorBanner(); }

});
jQuery('\.msgbox-closebutton').click(function() {
  jQuery(this.parentNode).fadeOut('slow');
});
 /*]]>*/
</script>
<tm:text_replace name="clean_errors"></tm:text_replace>

<div id="info-message-box" style="display:none;" >
  <div class="dummy-info message-wrapper hide">
    <p class="icon prepended"> V </p>
    <p class="message-content"></p>
    <p class="icon appended"></p>
  </div>
  <div class="Tclr"></div>
 <tm:conditional name="wlan_session" negate="negate">
  <tm:conditional name="meta_account_logged_in">
  <div class="message-wrapper no-valid-voucher">
    <p class="icon prepended info"> &gt; </p>
    <p class="message-content">Hinweis: Kein gültiger HotSpot Pass vorhanden!</p>
    <p class="icon appended"></p>
  </div>
  <div class="Tclr"></div>
  </tm:conditional>
 </tm:conditional>

 <tm:conditional name="wlan_session">
  <tm:conditional name="loggedInWithFmapVoucher">
  <div id="fp_emailsent" class="hide"><tm:text_replace name="meta_account_email"></tm:text_replace></div>
  <div class="message-wrapper loggedInWithFmapVoucher">
    <p class="icon prepended info"> &gt; </p>
    <p class="message-content">Wir haben eine E-Mail an <b>{fp_emailaddress}</b> gesendet. <br />Verwenden Sie bitte den in der E-Mail hinterlegten Link, um Ihr Passwort zurückzusetzen. <br />Sie verfügen nun eine 5-minütige Internetverbindung, um Ihr Passwort zu ändern.</p>
    <p class="icon appended"></p>
  </div>
  <div class="Tclr"></div>
  </tm:conditional>
 </tm:conditional>

</div>

<script type="text/javascript">
 /*<![CDATA[*/

var volumeRemaining = ""; $(document).ready(function() {

  if ($('#fp_emailsent').length > 0) {    
    var fp_message="Wir haben eine E-Mail an <b>{fp_emailaddress}</b> gesendet. <br />Verwenden Sie bitte den in der E-Mail hinterlegten Link, um Ihr Passwort zurückzusetzen. <br />Sie verfügen nun eine 5-minütige Internetverbindung, um Ihr Passwort zu ändern."; $('.loggedInWithFmapVoucher .message-content').html(fp_message.replace(/\{fp_emailaddress\}/,$('#fp_emailsent').text()));
  }

  if ( window.location.href.match(/goodbye/)){
     var timeRemaining = readCookie('HotSpotCounter').split(',');
     var msg;
     if(timeRemaining == ''){
      msg = $('.msg-disconnected').text();
      /*showInfoBoxMessage(msg, "info");*/
     } else{
      var d = timeRemaining[0];
      var h = timeRemaining[1];
      var m = timeRemaining[2];
      var s = timeRemaining[3];
      var direction = timeRemaining[4];

      if(direction == '-1'){
       msg = $('.msg-goodbye').text();
       if (d>0) msg = msg + ' '+d+$('.lbl_days').text();
       if (h>0) msg = msg + ' '+h+$('.lbl_hours').text();
       if (m>0) msg = msg + ' '+m+$('.lbl_minutes').text();
       if (s>0) msg = msg + ' '+s+$('.lbl_seconds').text();
       /*showInfoBoxMessage(msg, "success");*/
      } else {
       msg = $('.msg-disconnected').text();
       /*showInfoBoxMessage(msg, "success");*/
      }

/* VolumeCap - Start */
  volumeRemaining = readCookie('VolCap');
if(volumeRemaining){
   volumeRemaining = parseInt(volumeRemaining);

  if( volumeRemaining && (volumeRemaining > 99) ) {
     volumeRemaining = (volumeRemaining / 1024).toFixed(1);
     msg = msg + ' / ' + volumeRemaining + ' MB';
  } else if(volumeRemaining) {
     msg = msg + ' / ' + volumeRemaining + ' KB';
  }
  /*console.log('volumeRemaining: ' + volumeRemaining);*/
  }
  /*console.log('msg: ' + msg);*/
  showInfoBoxMessage(msg, "success");

/* VolumeCap - End */

    }
  } else if ( window.location.href.match(/welcome/)){    
       if (!(isDevSys()) && ($('.loggedInWithFmapVoucher').length > 0)) $('#info-message-box').show();
  }

    if ( window.location.href.match(/goodbye/) || window.location.href.match(/voucher/)){   
   if( jQuery('#info-message-box').children().length > 2){ $('#info-message-box').show();
   }
}

});

/**
 *  msg: Text that should displayed
 *  type: success | info
 */
function showInfoBoxMessage(msg, type){
       jQuery('#info-message-box .dummy-info.message-wrapper')
           .clone()
           .removeClass('dummy-info')
           .removeClass('hide')
           .addClass('custom-message')
           .appendTo('#info-message-box');

var infoIcon = jQuery('#info-message-box .message-wrapper.' + 'custom-message' + ' .icon.prepended');     

           infoIcon.removeClass('success');
           infoIcon.removeClass('info');

       if( (type != null) && (type == 'info') ){  infoIcon.text('>') ;
           infoIcon.removeClass('success')
           infoIcon.addClass('info');
       } else if ((type != null) && (type == 'success')){
           infoIcon.text('V');
           infoIcon.removeClass('info')  
           infoIcon.addClass('success');
       } else { /* Do nothing */ }

       jQuery('#info-message-box .message-wrapper.' + 'custom-message' + ' .message-content').text(msg);

   jQuery('#info-message-box .Tclr').detach().appendTo('#info-message-box');

    jQuery('#info-message-box .dummy-ok, #info-message-box .dummy-info').addClass('hide');
    jQuery('\#info-message-box').animate({"height": "toggle", "opacity": "toggle" }, "slow");

}

 /*]]>*/
</script>

 <!-- camouflaged preview_code_start --> 
 <!-- preview_code_end --> 
 <div id="Tstage"> 

<div class="z01ip01">  <!-- SubAreaStartod --> 
<div class="Stage-Rotator"> 
 <div class="Tstgco active"> 

 <!-- camouflaged preview_code_start --> 
 <!-- preview_code_end --> 
 <div class="TStageImage">  <div class="stage-img Tnomob"> <img height="400" width="940" alt="desktop " src="/FON_EXT/de_DE/web/start/bilder/pi-1028-stage_login_wlantogo_telekom_dsk_de,tid=da.jpg" title="Willkommen am HotSpot." /> </div>  <div class="stage-img Tismob"> <img height="180" width="544" alt="mobil " src="/shared/static_fon/imgs/mob_keyvisual_1,tid=da.png" title="Welcome to HotSpot." /> </div>  </div>  <div class="TstWelcome Tnomob">  </div>  <div class="Tstgtsr"  > 
<div class="Tstgtxttsr">
 <div class="Tstgprztsrcon">
  <h3>Sofort ins Internet</h3>  <p>HotSpot Pass auswählen und direkt lossurfen.</p>
 </div> <span class="Tbutt"><b></b><a href="https://rlp.telekom.de/wlan/voucher.do?lang=de_DE&amp;" class="Tlbnoar button small embossed">HotSpot Pass kaufen</a></span>
<a href="https://rlp.telekom.de/wlan/voucher.do?lang=de_DE&amp;"></a>

</div>

<div class="Tstgprztsr">
<div class="Tstgprztsrcon" style="margin-top:28px">
<h3>1 Tag</h3>
<p style="font-size:13px;">HotSpot Pass</p>
 <span class="Tprz amount_before_currency" style="font-size:22px;margin-top:17px;" id="hash57325090" title="PASS_86400_0_EUR"> 4,<s>95</s>€
</span>
      <span class="cc_id" style="display:none">cc_no_match_on_key</span><span class="mm_id" style="display:none">mm_no_match_on_key</span> 
</div>
<span class="BuyLink"></span>
</div>

<div class="Tstgprztsr">
<div class="Tstgprztsrcon" style="margin-top:28px">
<h3>1 Woche</h3>
<p style="font-size:13px;">HotSpot Pass </p>
 <span class="Tprz amount_before_currency" style="font-size:22px;margin-top:17px;" id="hash57325092" title="PASS_604800_0_EUR"> 19,<s>95</s>€
</span>
      <span class="cc_id" style="display:none">cc_no_match_on_key</span><span class="mm_id" style="display:none">mm_no_match_on_key</span> 
</div>
<span class="BuyLink"></span>
</div>

<div class="Tstgprztsr">
<div class="Tstgprztsrcon" style="margin-top:28px">
<h3>1 Monat</h3>
<p style="font-size:13px;">HotSpot Pass </p>
 <span class="Tprz amount_before_currency" style="font-size:22px;margin-top:17px;" id="hash57325094" title="PASS_2592000_0_EUR"> 29,<s>95</s>€
</span>
      <span class="cc_id" style="display:none">cc_no_match_on_key</span><span class="mm_id" style="display:none">mm_no_match_on_key</span> 
</div>
<span class="BuyLink"></span>
</div> </div>  <div class="TstWelcome Tnomob">
</div> </div>  <div class="Tstgco"> 

 <!-- camouflaged preview_code_start --> 
 <!-- preview_code_end --> 
 <div class="TStageImage">  <div class="stage-img Tnomob"> <img height="400" width="940" alt="desktop " src="/FON_EXT/de_DE/web/start/bilder/pi-1028-stage_login_wlantogo_fon_dsk_de,tid=da.jpg" title="HotSpot in Kooperation mit Fon." /> </div>  <div class="stage-img Tismob"> <img height="180" width="544" alt="mobil " src="/shared/static_fon/imgs/mob_keyvisual_2,tid=da.png" title="HotSpot in cooperation with Fon." /> </div>  </div>  <div class="TstWelcome Tnomob">  </div>  <div class="Tstgtsr"  > 
<div class="Tstgtxttsr">
 <div class="Tstgprztsrcon">
  <h3>Kein Fon Mitglied? </h3>  <p>Jetzt HotSpot Pass kaufen und sofort online gehen.</p>
 </div> <span class="Tbutt"><b></b><a href="https://rlp.telekom.de/wlan/voucher.do?lang=de_DE&amp;" class="Tlbnoar button small embossed">HotSpot Pass kaufen </a></span>
<a href="https://rlp.telekom.de/wlan/voucher.do?lang=de_DE&amp;"></a>

</div>

<div class="Tstgprztsr">
<div class="Tstgprztsrcon" style="margin-top:28px">
<h3>1 Tag</h3>
<p style="font-size:13px;">HotSpot Pass</p>
 <span class="Tprz amount_before_currency" style="font-size:22px;margin-top:17px;" id="hash63701156" title="PASS_86400_0_EUR"> 4,<s>95</s>€
</span>
      <span class="cc_id" style="display:none">cc_no_match_on_key</span><span class="mm_id" style="display:none">mm_no_match_on_key</span> 
</div>
<span class="BuyLink"></span>
</div>

<div class="Tstgprztsr">
<div class="Tstgprztsrcon" style="margin-top:28px">
<h3>1 Woche</h3>
<p style="font-size:13px;">HotSpot Pass </p>
 <span class="Tprz amount_before_currency" style="font-size:22px;margin-top:17px;" id="hash63701160" title="PASS_604800_0_EU"> 19,<s>95</s>€
</span>
      <span class="cc_id" style="display:none">cc_no_match_on_key</span><span class="mm_id" style="display:none">mm_no_match_on_key</span> 
</div>
<span class="BuyLink"></span>
</div>

<div class="Tstgprztsr">
<div class="Tstgprztsrcon" style="margin-top:28px">
<h3>1 Monat</h3>
<p style="font-size:13px;">HotSpot Pass </p>
 <span class="Tprz amount_before_currency" style="font-size:22px;margin-top:17px;" id="hash63701158" title="PASS_2592000_0_EUR"> 29,<s>95</s>€
</span>
      <span class="cc_id" style="display:none">cc_no_match_on_key</span><span class="mm_id" style="display:none">mm_no_match_on_key</span> 
</div>
<span class="BuyLink"></span>
</div> </div>  <div class="TstWelcome Tnomob">
</div> </div> 
<div class="Stage-Rotator-Indicator">  <div class="TstgcoInd active">  </div>  <div class="TstgcoInd">  </div> 
</div> 
</div>

<script type="text/javascript">/*<![CDATA[*/
        var META_ACCCOUNT_LOGGED_IN = false;
        var META_IS_WMPROMO = false;
        var WLAN_SESSION = false;
        var WELCOME_PAGE = false;
        jQuery(document).ready( function() {
          if( jQuery.trim(jQuery('#HotSpot_META_ACCOUNT').text()).search('BP-WM') != -1) {
              META_IS_WMPROMO = true;
            }
          if(window.location.href.search('meta=true') != -1) {
            META_IS_WMPROMO = true;
          }
          if(window.location.href.search('welcome') != -1) {
            WELCOME_PAGE = true;
          }
          if( !WELCOME_PAGE || META_IS_WMPROMO ) {
            jQuery('.SocialButtons').removeClass('hide');
            jQuery('.SocialPromo').removeClass('hide');
          } 
  });
/*]]>*/</script> <!-- SubAreaEndod -->  </div> 

<div class="loginbox">  <!-- SubAreaStartod --> 
<div id="Tstglogbox">
  <div class="fonTabs marginBottom">
     <div id="login1" class="login leftTab Trtr"  onclick="javascript:TSwitchLoggingTab($(this).children()[0]);">
         <div id="login1Tab" class="Trtri2 Trtrakt">
             <span>HotSpot Login</span>
         </div>
     </div>
     <div id="login2" class="login rightTab Trtr TrtrNoakt borderMiddle borderBottom"  onclick="javascript:TSwitchLoggingTab($(this).children()[0]);" >
         <div id="login2Tab" class="Trtri2">
             <span class="tab_text_fon">Fon</span>
             <span class="tab_text_telekom">Login</span>
         </div>
     </div>
  </div>
  <div class="Tclr"></div>

<div id="hotspotLoginBox" class="Takt">
    <form id="f_login" name="f_login" method="post" action="https://rlp.telekom.de/wlan/rlp.do" enctype="application/x-www-form-urlencoded">
        <input name="t" type="hidden" value="fiebx=&#017E;&#20AD;&#022A;&#01C4;"/>
        <input id="f_login_submit" name="f_login_submit" type="submit" style="display:none" tabindex="999" />
        <!--<tm:submit tabindex="999" image="" style="display:none" id="f_login_submit"></tm:submit>-->  <script type="text/javascript">
              /* <![CDATA[ */
                 if( jQuery('#Tloginerrmsgbox span.Terrmsg').first().children().length != 0 ) {
                     jQuery('#Tloginerrmsgbox').removeClass('hide');
                     jQuery('.borderBottom').removeClass('borderBottom');
                     jQuery('.fonTabs').removeClass('marginBottom');
                  }
              /* ]]> */
        </script>

        <div class="Tinp withIcon ">
            <label for="username">E-Mail Adresse oder Benutzername</label>
            <input type="text" maxlength="72" value="" autocapitalize="off" name="username" id="username" tabindex="10"  class="large" />
            <div title="Fallback Tooltip (no JS)" id="usernameTooltipWrapper_DSK" class="Tnomob tooltip top-left">
                <div class="font-size-default tooltip-icon icon"  >i</div>
                <div class="tooltip-content hide"  id="user_tooltip_DSK"> 
<p><br/><a href="/TD/de_DE/web/help_and_service/how_it_works.html#a0" target="_blank">Telekom Festnetz-Kunden mit HotSpot Basic / HotSpot Flat</a><br/><br/><a href="/TD/de_DE/web/help_and_service/how_it_works.html#a0" target="_blank">Telekom Mobilfunk-Kunden mit HotSpot Basic / Hot Spot Flat</a><br/><br/><a href="/TD/de_DE/web/help_and_service/how_it_works.html#a0" target="_blank">Kunden mit HotSpot Konto / HotSpot Pass</a><br/><br/></p> <p class="Tartsp">&nbsp;</p>  <p class="Tartsp">&nbsp;</p> </div>
            </div>
            <div title="Fallback Tooltip (no JS)" id="usernameTooltipWrapper_MOB" class="Tismob tooltip left">
                <div class="font-size-default tooltip-icon icon"  >i</div>
                <div class="tooltip-content hide"  id="user_tooltip_MOB"> 
<p><br/><a href="/TD/de_DE/web/help_and_service/how_it_works.html#a0" target="_blank">Telekom Festnetz-Kunden mit HotSpot Basic / HotSpot Flat</a><br/><br/><a href="/TD/de_DE/web/help_and_service/how_it_works.html#a0" target="_blank">Telekom Mobilfunk-Kunden mit HotSpot Basic / Hot Spot Flat</a><br/><br/><a href="/TD/de_DE/web/help_and_service/how_it_works.html#a0" target="_blank">Kunden mit HotSpot Konto / HotSpot Pass</a><br/><br/></p> <p class="Tartsp">&nbsp;</p>  <p class="Tartsp">&nbsp;</p> </div>
            </div>
            <div class="right"> <a href="/FON_EXT/de_DE/web/help_and_service/forgot_password.html"> Passwort vergessen?
            </a> </div>
        </div>
        <div class="Tinp withIcon ">
            <label for="password">Passwort</label>
            <input name="password" id="password" type="password" tabindex="20" autocomplete="off"  class="large" title="no description available" />
            <div title="Fallback Tooltip (no JS)" id="pwdTooltipWrapper_MOB" class="Tismob tooltip left">
                <div class="font-size-default tooltip-icon icon"  >i</div>
                <div class="tooltip-content hide"  id="pwd_tooltip_MOB"> 
<p>Bitte beachten Sie die Groß- und Kleinschreibung.</p></div>
            </div>
            <div title="Fallback Tooltip (no JS)" id="pwdTooltipWrapper_DSK" class="Tnomob tooltip top-left">
                <div class="font-size-default tooltip-icon icon"  >i</div>
                <div class="tooltip-content hide"  id="pwd_tooltip_DSK"> 
<p>Bitte beachten Sie die Groß- und Kleinschreibung.</p></div>
            </div>
        </div>
        <div class="Tclr"></div>

        <p class="Tlogchk">
        <input type="hidden" name="HSPNAME" value="FON:DE" /><input type="hidden" name="VNPNAME" value="FON:DE" /><input type="hidden" name="WISPURL" value="https%3A%2F%2Ftelekom.portal.fon.com%2FHUADTA01%2Ffon%2F0000000000000000000000000000000000000000%3Fres%3Dvnp-login%26nasid%3D00-00-00-00-00-00%26uamip%3D0.0.0.0%26uamport%3D0000%26mac%3D00-00-00-00-00-00%26challenge%3D00000000000000000000000000000000%26HSPNAME%3DFON%253ADE%26VNPNAME%3DFON%253ADE%26LOCATIONNAME%3DFON%253ADE%26userurl%3Dhttp%253A%252F%252Fconnectivitycheck.gstatic.com%252Fgenerate_204%26strAGB%3D1%26LOCATIONID%3DFON%253ADE%26LANGUAGE%3Dde_DE%26tab%3D2" /><input type="hidden" name="WISPURLHOME" value="https%3A%2F%2Ftelekom.portal.fon.com%2FHUADTA01%2Ffon%2F0000000000000000000000000000000000000000%3Fres%3Dnotyet%26nasid%3D00-00-00-00-00-00%26uamip%3D0.0.0.0%26uamport%3D0000%26mac%3D00-00-00-00-00-00%26challenge%3D00000000000000000000000000000000%26userurl%3Dhttp%253A%252F%252Fconnectivitycheck.gstatic.com%252Fgenerate_204%26ip%3D0.0.0.0%26called%3D00-00-00-00-00-00%26sessionid%3D0000000000000000%26md%3D00000000000000000000000000000000%26tab%3D2" /><input type="hidden" name="LOCATIONNAME" value="FON:DE" /><input type="hidden" name="LOCATIONID" value="FON:DE" /><input type="hidden" name="LANGUAGE" value="de_DE" />        <input type="hidden" name="realm" id="rrid" value="t-mobile.net" />
        <input type="hidden" name="roamRealm" id="rrid" value="t-mobile.net" /><input jsfc="tm:input" type="checkbox" class="Tchkb" id="terms_conditions" name="terms_conditions" checked="checked" style="display: none;" />
        <input id="terms_conditions" type="checkbox" name="strAGB" value="AGB" checked="checked" style="display: none;" class="Tchkb" />
        <input id="payment_advice" type="checkbox" name="strHinweis" value="Zahlungsbedingungen" checked="checked" style="display: none;" class="Tchkb" /> Ich akzeptiere die <a href="/FON_EXT/downloads/legal_notice_de,tid=da.pdf" target="_blank">Nutzunsbedingungen.</a> </p>
        <p class="Tftn">Ich akzeptiere die <a href="/FON_EXT/de_DE/web/AboutFON/agb_de.html">AGB und Preise zu HotSpot</a></p>
        <div class="Tctr">
            <span class="Tbutt Tbuttm">  <a id="btnCheckPriceShock" tabindex="40" href="#" class="Tnomob button embossed magenta large center">Verbindung herstellen</a>
                <a tabindex="40" onclick="jQuery('#btnCheckPriceShock').click()" class="Tismob button embossed large magenta center">Verbindung herstellen</a>  </span>
        </div>
        <input jsfc="tm:input" type="checkbox" id="clear_session" name="clear_session" checked="checked" style="display: none;" />
    </form>
  </div>

<div id="fonLoginBox"  class="TnoAkt">
  <form action="https://telekom.portal.fon.com/HUADTA01/fon/0000000000000000000000000000000000000000?res=login&nasid=00-00-00-00-00-00&uamip=0.0.0.0&uamport=0000&mac=00-00-00-00-00-00&challenge=00000000000000000000000000000000&userurl=http%3A%2F%2Fconnectivitycheck.gstatic.com%2Fgenerate_204&tab=2" name="login_fon" id="f_fon_login" method="post">
    <input id="f_fon_login_submit" name="f_fon_login_submit" type="submit" style="display:none" tabindex="5" />
    <input id="f_fon_login_tab" name="tab" type="hidden" value="2" />
    <div id="Tloginerrmsgbox" style="display:none;border-top: 1px solid #DCDCDC;">
            <p>
                <span id="fonLoginError" class="Terrmsg">

                </span>
            </p>
            <div style="top: 82px;" class="Tlyrarr"></div>
    </div>
    <div class="fon_login_selector">
      <select id="fon_selector" class="tk-dropdown tooltip" name="partner">
         <option class="fon option" value="">Partner wählen</option> 
<option class="fon option" value="oiwifi">Oi</option><option class="fon option" value="belgacom">Proximus</option><option class="fon option" value="bt">BT</option><option class="fon option" value="netia">Netia</option><option class="fon option" value="softbank">Softbank</option><option class="fon option" value="nos">NOS</option><option class="fon option" value="fon" selected>Fon</option><option class="fon option" value="croatia">Hrvatski Telekom</option><option class="fon option" value="sfr">SFR</option><option class="fon option" value="ote">COSMOTE</option><option class="fon option" value="mweb">MWEB</option><option class="fon option" value="rtc">Telekom Romania</option><option class="fon option" value="kpn">KPN</option><option class="fon option" value="telstra">Telstra</option><option class="fon option" value="vfes">Vodafone España</option><option class="fon option" value="vfit">Vodafone Italia</option>      </select>
    </div>

<div class="Tinp withIcon ">
            <label for="username">E-Mail Adresse oder Benutzername</label>
            <input id="fon_username" type="text" name="USERNAME" value="" tabindex="10"  class="large" />
            <div title="Fallback Tooltip (no JS)" id="usernameTooltipWrapper_DSK" class="Tnomob tooltip top-left">
                <div class="font-size-default tooltip-icon icon"  >i</div>
                <div class="tooltip-content hide"  id="user_tooltip_DSK"> 
<p>Ihr Fon Benutzername ist die E-Mail Adresse mit der Sie sich bei Fon registriert haben.</p></div>
            </div>
            <div title="Fallback Tooltip (no JS)" id="usernameTooltipWrapper_MOB" class="Tismob tooltip left">
                <div class="font-size-default tooltip-icon icon"  >i</div>
                <div class="tooltip-content hide"  id="user_tooltip_MOB"> 
<p>Ihr Fon Benutzername ist die E-Mail Adresse mit der Sie sich bei Fon registriert haben.</p></div>
            </div>

        </div>

<div class="Tinp withIcon ">
            <div class="right">
            <a style="color:#FAB033" href="https://recover-password.fon.com">Passwort vergessen?</a>
            </div>

            <label for="password">Passwort</label>

            <input id="fon_password" type="password" name="PASSWORD" value="" tabindex="20" autocomplete="off"  class="large" title="no description available" />
            <div title="Fallback Tooltip (no JS)" id="pwdTooltipWrapper_MOB" class="Tismob tooltip left">
                <div class="font-size-default tooltip-icon icon"  >i</div>
                <div class="tooltip-content hide"  id="pwd_tooltip_MOB"> 
<p>Bitte Groß- und Kleinschreibung beachten.</p></div>
            </div>
            <div title="Fallback Tooltip (no JS)" id="pwdTooltipWrapper_DSK" class="Tnomob tooltip top-left">
                <div class="font-size-default tooltip-icon icon"  >i</div>
                <div class="tooltip-content hide"  id="pwd_tooltip_DSK"> 
<p>Bitte Groß- und Kleinschreibung beachten.</p></div>
            </div>
        </div>

    <input type="hidden" name="HSPNAME" value="FON:DE" /><input type="hidden" name="VNPNAME" value="FON:DE" /><input type="hidden" name="WISPURL" value="https%3A%2F%2Ftelekom.portal.fon.com%2FHUADTA01%2Ffon%2F0000000000000000000000000000000000000000%3Fres%3Dvnp-login%26nasid%3D00-00-00-00-00-00%26uamip%3D0.0.0.0%26uamport%3D0000%26mac%3D00-00-00-00-00-00%26challenge%3D00000000000000000000000000000000%26HSPNAME%3DFON%253ADE%26VNPNAME%3DFON%253ADE%26LOCATIONNAME%3DFON%253ADE%26userurl%3Dhttp%253A%252F%252Fconnectivitycheck.gstatic.com%252Fgenerate_204%26strAGB%3D1%26LOCATIONID%3DFON%253ADE%26LANGUAGE%3Dde_DE%26tab%3D2" /><input type="hidden" name="WISPURLHOME" value="https%3A%2F%2Ftelekom.portal.fon.com%2FHUADTA01%2Ffon%2F0000000000000000000000000000000000000000%3Fres%3Dnotyet%26nasid%3D00-00-00-00-00-00%26uamip%3D0.0.0.0%26uamport%3D0000%26mac%3D00-00-00-00-00-00%26challenge%3D00000000000000000000000000000000%26userurl%3Dhttp%253A%252F%252Fconnectivitycheck.gstatic.com%252Fgenerate_204%26ip%3D0.0.0.0%26called%3D00-00-00-00-00-00%26sessionid%3D0000000000000000%26md%3D00000000000000000000000000000000%26tab%3D2" /><input type="hidden" name="LOCATIONNAME" value="FON:DE" /><input type="hidden" name="LOCATIONID" value="FON:DE" /><input type="hidden" name="LANGUAGE" value="de_DE" />    <div class="fonButton Tctr">
     <span class="Tbutt Tbuttm">
        <a tabindex="40" id="fon_submit_button_dsk" onclick="jQuery('#f_fon_login').submit();return false;" href="javascript:submit()" class="Tnomob button embossed large center">Verbindung herstellen</a>

        <a tabindex="40" id="fon_submit_button" onclick="jQuery('#f_fon_login').submit();return false;" href="javascript:submit()" class="Tismob button embossed large center">Verbindung herstellen</a>
     </span>
    </div>

  <div class="fon_logBox_branding Tnomob" >
   <img src="/shared/static_fon/imgs/desktop_fon_logo_loginbox,tid=da.png" alt="FON" />
  </div>
  <div class="fon_logBox_branding Tismob" >
    <img src="/shared/static_fon/imgs/mob_fon_logo,tid=da.png" alt="FON"/>
  </div>
  </form>
</div>
</div>

<script type="text/javascript">/*<![CDATA[*/
jQuery('.Tmob #Tmainmenu.fon').css('display','none');
function unescapeHiddenInputValues(){
  jQuery('input[type="hidden"]').each(function(index){jQuery(this).val(unescape(jQuery(this).val()))});
};
// Deactivates input-fields if options array of the partner-selectbox is emtpy
// (tbd: also if the first option is selected [depends on FON's decision in filling the
// option-array]).
// Returns TRUE if selectedIndex greater or equal 0(zero) otherwise FALSE.
function preValidateFONSelectItems() {
 if (jQuery("#fon_selector")[0].selectedIndex == -1 /*|| jQuery("#fon_selector")[0].selectedIndex == 0*/) {
  // hide selectbox
  if(TisMOB){ //Mobil
   jQuery(".fon_login_selector").css('display','none');
   return false;
  } else { //Desktop
     //jQuery(".fon_login_selector").css('display','none');
     //jQuery(".fon_dropdown").attr('style','margin-top:46px;');
     return false;
   } //End if(TisMOB)
 } else { // show selectbox
  if(TisMOB){ //Mobil
   jQuery(".fon_login_selector").css('display','block');
     return true;
   } else { //Desktop
     //jQuery(".fon_login_selector").css('display','block');
     //jQuery("#fonLoginBox").css('margin-top','0');
     return true;
   }
  } //End if(index == -1)
}
jQuery(document).ready(function() {

  if(TisMOB){
   jQuery('#Tmainmenu').css('display','none');
  }
  jQuery('#Tlgerrmsgbox').css('display','none');
  if(jQuery('#Terrmsg').text().length > 0){
   jQuery('#Tlgerrmsgbox').fadeIn('slow');
   cleanUpIPAD();
  }
  var fon_select = preValidateFONSelectItems();
});

/*]]>*/</script>
<script type="text/javascript">/*<![CDATA[*/ 
jQuery(document).ready(function(){
 if(TisMOB){ TSwitchLoggingTab(jQuery('#mobLogin1Tab'));}else{ TSwitchLoggingTab(jQuery('#login1Tab'));}
});
/*]]>*/</script>
<div id="login-priceshock" class="warning-lightbox" style="display:none">
    <h1 class="Tarth1">Hinweis f&uuml;r Telekom Kunden.</h1>
    <p>Standardpreis für Telekom-Kunden 9ct/Min. Enthält Ihr Mobilfunk-Tarif eine HotSpot-Flatrate, genießen Sie unbegrenzt kostenloses Internet.</p>
    <div class="Tctr">
        <a class="button magenta large embossed" href="javascript:submit();" onclick="jQuery('#f_login').trigger('checkRealm');return false;">Verbindung herstellen</a>
    </div>
</div>
<div class="TGreyLayer" style="display:none"></div>
<div id="Tlginfomsgbox" class="hide">
  <div id="TdlgLogout" style="display:none">
    <div class="msg-goodbye">Sie haben sich ausgeloggt. Ihr Pass ist noch gültig für</div>
    <div class="lbl_days">Tage</div>
    <div class="lbl_hours">Std</div>
    <div class="lbl_minutes">Min</div>
    <div class="lbl_seconds">Sek</div>
  </div>
</div><script type="text/javascript">/*<![CDATA[*/
  jQuery('.Tmob #Tmainmenu.fon').css('display','none');
  if(TisMOB){
    jQuery('#Tmainmenu').css('display','none');
  }
  jQuery('#usernameTooltipWrapper > div.tooltip-content').attr('role','tooltip');
  jQuery('#usernameTooltipWrapper > div.icon').attr('aria-describedby',jQuery('#pwdTooltipWrapper > div.tooltip-content').first().id);
  jQuery('#pwdTooltipWrapper > div.tooltip-content').attr('role','tooltip');
  jQuery('#pwdTooltipWrapper > div.tooltip-icon').attr('aria-describedby',jQuery('#pwdTooltipWrapper > div.tooltip-content').first().id);
jQuery(document).ready(function() {
  var my_keyEnter = false; jQuery('#btnCheckPriceShock').bind('click', function(){
   jQuery('#username').blur();
   jQuery('#password').blur();
   jQuery('#btnCheckPriceShock').blur();
   var telekomUsername = jQuery('#username').val();
   var ccode="00";
   if(jQuery('#username').val().match(/^\+?0{0,2}[34]\d+$/)) {
        var numberedUsername=jQuery('#username').val().replace(/[^0-9]/,'');
        ccode=numberedUsername.substring(0,2);
   }
   if(telekomUsername.search('@t-mobile.de')>0){
    /* ToLb('lb-priceshock','LaLb','Tnoajx',460,null,0,0,1,1); */ $('#login-priceshock').show(); $('.TGreyLayer').css({ 'width' : $('body').width(), 'height' : $('body').height()}).show();
    /* $('body').append($('#lightbox-layer').show()); $('#Tcontboxi').hide(); $('#login-priceshock').appendTo($('#Tcontbox')).show();
    location.hash = '#login-priceshock'; */
   }
   else {
    jQuery('#f_login').trigger('checkRealm');
   }
   return false;
  });
  jQuery('#f_login').keydown(function(event) {
    if (event.keyCode == 13) {
     jQuery('#btnCheckPriceShock').trigger('click');
    }
  }); $('.TGreyLayer').on('click', function(){ $(this).hide(); $('#login-priceshock').hide();
  });
  jQuery('#f_fon_login').keydown(function(event) {
    if (event.keyCode == 13) {
      my_keyEnter = true;
      jQuery(this).trigger('submit');
    }
  });
jQuery('#f_login,#f_fon_login').submit(function(){
    switch(jQuery(this).attr('id')) {
     case "f_login": jQuery('#f_login').trigger('checkRealm');break;
     case "f_fon_login": jQuery('#f_fon_login_submit').click();break;
    }
    my_keyEnter = false;
  });
  jQuery('#f_login').bind('checkRealm', function(){
    unescapeHiddenInputValues();
    if (jQuery('#username').val().match(/@/)) {
      jQuery('#rrid').remove();
    } else {
      if (jQuery('#username').val().match(/^\+?0{0,2}[34]\d+$/)) {
        var vals=jQuery('#username').val().replace(/[^0-9]/,'');
        var ccode=vals.substring(0,2);
        switch(ccode){
          case "49": jQuery('#rrid').attr('value','t-mobile.de'); break; // TD
          case "43": jQuery('#rrid').attr('value','t-mobile.at'); break; // TMAT
          case "42": jQuery('#rrid').attr('value','t-mobile.cz'); break; // TMCZ
          case "31": jQuery('#rrid').attr('value','t-mobile.nl'); break; // TMNL
          case "44": jQuery('#rrid').attr('value','t-mobile.co.uk'); break; // TMUK
        }
      }
    }
    if(jQuery('#login1Tab').hasClass('Trtrakt')){
       jQuery('#f_login_submit').click();
    } else if(jQuery('#login2Tab').hasClass('Trtrakt')) {
       jQuery('#f_fon_login_submit').click();
    }
  });

  if(jQuery.trim(jQuery('#Tloginerrmsgbox .Terrmsg').text()).length > 0) {
      jQuery('#Tstglogbox .Tinp input[type=text][name=username]').addClass('validate-negative');
      jQuery('#Tstglogbox .Tinp input[type=password][name=password]').addClass('validate-negative');
    jQuery('#Tloginerrmsgbox').fadeIn('slow').slideDown('slow');
  }
});
jQuery('#Tloginerrmsgbox .Tlbclb').click(function(){
  jQuery('#Tloginerrmsgbox').hide();
});
jQuery('#password, #username').focus(function(){
  this.classList.remove('validate-negative');
  this.classList.remove('validate-positive');
});
if (jQuery.trim(jQuery('#fonLoginError').text()).length > 10){
  jQuery('.fon_logBox_branding.Tnomob').hide();
}
/*]]>*/</script> <!-- SubAreaEndod -->  </div> 

 </div> 
 <div id="Ttsrbox"> 

<div class="tea-01">  <!-- SubAreaStartod --> 

<div class="Ttsr Tismob">
   <h3>Noch kein HotSpot Kunde?</h3>  <div class="Tismob teaser_image"><a href="https://rlp.telekom.de/wlan/voucher.do?lang=de_DE&amp;"><img height="72" width="72" alt="HotSpot Pass" src="/shared/static_fon/imgs/mob_icon_buy_hotspot_pass_generic_authentic_center_72x72,tid=da.png" title="HotSpot Pass" /></a></div> <a href="https://rlp.telekom.de/wlan/voucher.do?lang=de_DE&amp;"> HotSpot Pass kaufen und direkt online gehen.           </a> </div> <!-- SubAreaEndod -->  <!-- SubAreaStartod --> 

<div class="Ttsr TtsrTop Tnomob ">
      <h2>Login-Anleitung</h2>  <p class="Ttst ">Einfache Schritt-für-Schritt-Anleitung für Ihren WLAN-Internetzugang. </p><a href="/FON_EXT/de_DE/web/login_manual/index.html">Login-Anleitung &ouml;ffnen
           </a> 
   </div> <!-- SubAreaEndod -->  </div> 

<div class="tea-02">  <!-- SubAreaStartod --> 

<div class="Ttsr Tismob">
   <h3>Apps f&uuml;r Ihr Smartphone</h3>  <div class="Tismob teaser_image"><a href="/FON_EXT/de_DE/web/apps/index.html"><img height="72" width="72" alt="HotSpot" src="/shared/static_fon/imgs/mob_icon_buy_hotspot_app_generic_authentic_center_72x72,tid=da.png" title="HotSpot" /></a></div> <a href="/FON_EXT/de_DE/web/apps/index.html"> Mit den HotSpot Apps kommen Sie noch schneller ins Internet.          </a> </div> <!-- SubAreaEndod -->  <!-- SubAreaStartod --> 

<div class="Ttsr TtsrTop Tnomob ">
      <h2>Mobile unterwegs</h2>  <p class="Ttst ">Für Ihr iPhone und Ihr Android-basiertes Smartphone gibt es spezielle Apps.  </p><a href="http://www.hotspot.de/apps" target="_blank">Zu den mobilen Apps
           </a> 
   </div> <!-- SubAreaEndod -->  </div> 

<div class="tea-03">  <!-- SubAreaStartod --> 

<div class="Ttsr Tismob">
   <h3>Sie sind Telekom Vertragskunde?</h3>  <div class="Tismob teaser_image"><a href="/FON_EXT/de_DE/web/help_and_service/how_it_works.html"><img height="72" width="72" alt="pass" src="/shared/static_fon/imgs/bilder/mob_icon_hotspot-pass_generic_authentic_center_72x72,tid=da.png" title="pass" /></a></div> <a href="/FON_EXT/de_DE/web/help_and_service/how_it_works.html"> So loggen Sie sich mit Ihren Telekom Zugangsdaten ein.          </a> </div> <!-- SubAreaEndod -->  <!-- SubAreaStartod --> 

<div class="Ttsr TtsrTop Tnomob ">
      <h2>Mitglied werden</h2>  <p class="Ttst ">Finden Sie heraus, was Sie tun müssen, um Mitglied des weltweit größten Netzwerks zu werden.  </p><a href="/FON_EXT/de_DE/web/fon_member/index.html">So funktioniert es
           </a> 
   </div> <!-- SubAreaEndod -->  </div> 

<div class="tea-04">  <!-- SubAreaStartod --> 

<div class="Ttsr Tismob">
   <h3>HotSpot Kooperation</h3>  <div class="Tismob teaser_image"><a href="/FON_EXT/de_DE/web/AboutFON/cooperation.html"><img height="72" width="72" alt="fon" src="/shared/static_fon/imgs/bilder/mob_icon_fon_generic_authentic_center_72x72,tid=da.png" title="fon" /></a></div> <a href="/FON_EXT/de_DE/web/AboutFON/cooperation.html"> Neue exklusive Partnerschaft zwischen Fon und der Deutschen Telekom.          </a> </div> <!-- SubAreaEndod -->  <!-- SubAreaStartod --> 

<div class="Ttsr TtsrTop Tnomob Tltsr">
      <h2>Kooperation mit Fon </h2>  <p class="Ttst ">Fon und die Deutsche Telekom haben eine exklusive Partnerschaft abgeschlossen. </p><a href="/FON_EXT/de_DE/web/AboutFON/cooperation.html">Weitere Informationen
           </a> 
   </div> <!-- SubAreaEndod -->  </div> 

 <br class="Tcontbend" />
  </div>
  <div class="Ttsrbend"></div> 

 </div>
 <div class="Tclr"></div>
</div>
<div class="Tclr"></div>
<br class="Tcontbend" />

<!--noindex:-->
    <div id="Tfoot">

<script type="text/javascript">/*<![CDATA[*/
//URL encode iframe src
 var iframe = jQuery('iframe.Tifri');
    if ( iframe.length ) {       
        iframe.attr('src',iframe.attr('src').replace('&amp;','&'));
    }
//END URL encode iframe src
/*]]>*/</script>

  <div class="Tftr1 font-size-small">
    <span><a href="/FON_EXT/de_DE/web/start/index.xhtml">Start</a></span> <span>&nbsp;|&nbsp;</span>
    <span><a href="/FON_EXT/de_DE/web/contact/impressum.html">Impressum</a></span> <span>&nbsp;|&nbsp;</span>
    <span><a href="/FON_EXT/de_DE/web/AboutFON/agb_de.html">AGB</a></span> <span>&nbsp;|&nbsp;</span>
    <span><a href="/FON_EXT/de_DE/web/AboutFON/agb_de.html">Datenschutz</a></span>
    <div id="TheadSwitcherMobile"><a href="javascript:;" onclick="switchingLayout('mobile')">Mobile View</a></div>
  </div>
  <!-- Anfang: Mobile Navigation -->
  <div class="DropdownSelector Tismob"> 
    <select id="language_selector" class="c_p1_1 brandingColorFont Tismob Tsel tk-dropdown full-width" style="width:auto" name="test">
      <option value='0' disabled="disabled" selected="selected">Language</option>
      <option value='en_GB'>English</option>
      <option value='de_DE'>Deutsch</option> 
    </select>
  <div class="sel_arrow"></div>
  </div>
  <div class="Tftrmob Tismob">
    <span><a href="/FON_EXT/de_DE/web/start/index.xhtml">Start</a></span> <span>&nbsp;|&nbsp;</span>
    <span><a href="/FON_EXT/de_DE/web/contact/impressum.html">Impressum</a></span> <span>&nbsp;|&nbsp;</span>
    <span><a href="/FON_EXT/de_DE/web/AboutFON/agb_de.html">AGB</a></span> <span>&nbsp;|&nbsp;</span>
    <span><a href="/FON_EXT/de_DE/web/AboutFON/agb_de.html">Datenschutz</a></span>
  <div id="TheadSwitcherDesktop"><a href="javascript:;" onclick="switchingLayout('desktop')">Klassische Ansicht</a></div>
  </div>
  <!-- Ende: Mobile Navigation -->
  <div id="copyright" class="font-size-small lightgrey">
   <p>&copy; <span class="font-size-default" ></span> Telekom Deutschland GmbH</p>
  </div>

<!-- used to append each ccpayment.do link on any page with vnp_hsp_params for sending a GET request -->
<div id="vnp_hsp" style="display:none">HSPNAME=FON:DE&amp;VNPNAME=FON:DE&amp;WISPURL=https%3A%2F%2Ftelekom.portal.fon.com%2FHUADTA01%2Ffon%2F0000000000000000000000000000000000000000%3Fres%3Dvnp-login%26nasid%3D00-00-00-00-00-00%26uamip%3D0.0.0.0%26uamport%3D0000%26mac%3D00-00-00-00-00-00%26challenge%3D00000000000000000000000000000000%26HSPNAME%3DFON%253ADE%26VNPNAME%3DFON%253ADE%26LOCATIONNAME%3DFON%253ADE%26userurl%3Dhttp%253A%252F%252Fconnectivitycheck.gstatic.com%252Fgenerate_204%26strAGB%3D1%26LOCATIONID%3DFON%253ADE%26LANGUAGE%3Dde_DE%26tab%3D2&amp;WISPURLHOME=https%3A%2F%2Ftelekom.portal.fon.com%2FHUADTA01%2Ffon%2F0000000000000000000000000000000000000000%3Fres%3Dnotyet%26nasid%3D00-00-00-00-00-00%26uamip%3D0.0.0.0%26uamport%3D0000%26mac%3D00-00-00-00-00-00%26challenge%3D00000000000000000000000000000000%26userurl%3Dhttp%253A%252F%252Fconnectivitycheck.gstatic.com%252Fgenerate_204%26ip%3D0.0.0.0%26called%3D00-00-00-00-00-00%26sessionid%3D0000000000000000%26md%3D00000000000000000000000000000000%26tab%3D2&amp;LOCATIONNAME=FON:DE&amp;LOCATIONID=FON:DE&amp;LANGUAGE=de_DE</div>

<script type="text/javascript">/*<![CDATA[*/
var re=new RegExp('/[a-z]{2}_[A-Z]{2}/','g');
var url=window.location.href;
var firstIndex=url.search(re);
var lang="de_DE";

switch (lang) {
  case "en_GB": lang="English"; break;
  case "de_DE": lang="Deutsch"; break;
  case "it_IT": lang="Italia"; break;
  case "es_ES": lang="Spanish"; break;  
}

var newOpt1 = new Option("Language: "+lang, "", "true", "trueS");
var selector = document.getElementById('language_selector');
selector.options[0]=newOpt1;
jQuery('#language_selector, #language_selector_desktop').change(function(){
  /**/if (jQuery(this).val() != '0') window.location.replace('/change-language?language='+jQuery(this).val());/**/
})

var _switchBackground=6000;
function chgBackgrnd(o)
{
    jQuery('.Tstgco > img > .Takt')
    if (typeof(o) == 'undefined' || !o) {
      var o = jQuery('.Tstgrtr s.Takt').next();
    } 
    if (!o.length) { o = jQuery('.Tstgrtr s').first(); }
    if (o) {
      if (!o.hasClass('Takt')){
         changeToStage(o.attr('num'));
      }
      setTimeout('chgBackgrnd()',_switchBackground);

      if(TisMOB && jQuery('#Tstage > img').css('display') != 'none' ){  
         jQuery('#Tstglogbox').first().css('margin-top','180px'); } 
    } else {
    }

    if(TisMOB){
      jQuery('.Tstgco > img').first().attr('src','/shared/static_fon/imgs/mob_keyvisual_1,tid=da.png');
      jQuery('.Tstgco > img').last().attr('src','/shared/static_fon/imgs/mob_keyvisual_2,tid=da.png');
    }
}
/*setTimeout('chgBackgrnd()',_switchBackground);*/
/*]]>*/</script>

<script type="text/javascript">/*<![CDATA[*/
appendParams();
jQuery(document).ready(function(){
      /* deactivate main navigation, if in mobile and payment wizard*/
      if (TisMOB){

        if (jQuery('div.Twiz').length) {  
          jQuery('div#Tmainmenu').hide();
        }

      }

  jQuery("#Tcontboxi").prepend(jQuery("#Tlgerrmsgbox"));
  jQuery('#Tlgerrmsgbox .Tlb4').css('height',jQuery('#Tlgerrmsgbox .Tlb5').outerHeight());
  jQuery('#Tlgerrmsgbox .Tlb6').css('height',jQuery('#Tlgerrmsgbox .Tlb5').outerHeight());

  jQuery("#Tlgerrmsgbox").css("top","0");

  jQuery(".MidPrzTeaser").first().addClass('firsT');
  jQuery(".Texpco > .Tcbfull").first().addClass('lasT');
  jQuery(".Texpco .MidPrzTeaser").first().addClass('firsT');
  jQuery('.Tcbfull').last().addClass('lasT');

   jQuery('.Tcb23 > table').first().addClass('firsT');
   jQuery('.Tcb23 > table').last().addClass('lasT');

  jQuery(".Tcbfull.Tts.MidPrzTeaser.lasT").prev().addClass('prevLAST');
});
 /*]]>*/</script>

<!--/noindex-->
</div>
<br class="Tmainbend" /><div id="Tstat2"><!---->
<script type="text/javascript">/*<![CDATA[*/
var xtcustom={cms_doc_types:'Portalseite_sonstige'}; TSATI('https://logs1204',453052,28,'de_DE::web::start::59818184-xhotspot',0,0); TSZ();/*]]>*/</script>
 <script type="text/javascript" src="/shared/static/js/ecom-ati-xtclick-js,tid=js.js"></script>
      <script type="text/javascript" src="/shared/static/js/ecom-ati-js,tid=js.js"></script> 
<noscript><img src="https://logs1204.xiti.com/hit.xiti?s=453052&amp;s2=28&amp;p=de_DE::web::start::59818184-xhotspot&amp;di=0&amp;an=&amp;ac=" alt="" /></noscript></div>
<script type="text/javascript">/*<![CDATA[*/TfY();/*]]>*/</script>
<div id="Tadspacefoot">  <!-- 70455544 -->
</div>
<div class="Tclr"></div></div>
<script type="text/javascript">/*<![CDATA[*/TfZ();$(function(){if(jQuery.trim($('#vmsb a').html()).length>0)$('#Tadspacehead').css('height','90px');});/*]]>*/</script></div>
</body>
</html>
<!-- generated: 11.01.2016 15:06:39 --><!-- WISPr message -->
<!--    
    <?xml version="1.0" encoding="UTF-8"?>
<WISPAccessGatewayParam
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://www.acmewisp.com/WISPAccessGatewayParam.xsd">
  <Redirect>
    <AccessProcedure>1.0</AccessProcedure>
    <LoginURL>https://telekom.portal.fon.com/HUADTA01/fon/0000000000000000000000000000000000000000?res=smartclient&amp;nasid=00-00-00-00-00-00&amp;uamip=0.0.0.0&amp;uamport=0000&amp;mac=00-00-00-00-00-00&amp;challenge=00000000000000000000000000000000&amp;userurl=http%3A%2F%2Fconnectivitycheck.gstatic.com%2Fgenerate_204&amp;ip=0.0.0.0&amp;called=00-00-00-00-00-00&amp;sessionid=0000000000000000&amp;md=00000000000000000000000000000000&amp;DEVICE=HUADTA01&amp;NET=fon&amp;HASH=0000000000000000000000000000000000000000</LoginURL>
    <AbortLoginURL>http://0.0.0.0:0000/abort</AbortLoginURL>
    <MessageType>100</MessageType>
    <ResponseCode>0</ResponseCode>
    <AccessLocation>FON:DE</AccessLocation>
  </Redirect>
</WISPAccessGatewayParam>
-->
ghost commented 7 years ago

I have tested version 0.2.

After submitting my credentials, a page seems to load, but stays blank and fails to establish the wi-fi connection (the captive portal stays open and the wi-fi status shows an exclamation mark).

The normal behaviour would be to connect and auto-close the captive portal.

Let me know how I can help to debug.

screenshot

jsparber commented 7 years ago

For now i don't know how to test different APs. I will look into it as soon as I have time.

jsparber commented 7 years ago

Does the normal captive portal app work?

ghost commented 7 years ago

Yes, the normal captive portal app works.

Generator commented 7 years ago

Same where, blank page after login, without internet connection

Xorok commented 6 years ago

Same, Android 7.1