summaryrefslogtreecommitdiff
path: root/data/extensions/gnuzilla-ext-workarounds@gnu.org/workaround/mcdonalds_wifi.js
blob: 36bf239460940a6466f33ef651c8602419704a63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*

 Copyright (C) 2017-2019 Nathan Nichols
 Copyright (C) 2019 Free Software Foundation, Inc.

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.

*/
if(document.location.href.indexOf("login-mcd-cluster.prd.snantx.attwifi.com") != -1){
    console.log("mcdonalds_wifi.js");
    console.log("Detected new style captive portal.");
    document.forms[0].submit();
}


// It seems McDonald's captive portal has changed and it no longer
// uses this captive portal. This will be left here in case there
// are some places where the old style captive portal is still in
// use.
if(document.location.href.indexOf("wayport.net") != -1){
    console.log("mcdonalds_wifi.js");
    console.log("Detected old style captive portal.");

    console.log("Detected the McDonald's captive portal.")
    var form = document.getElementsByTagName("form");
    var entries = form[0].getElementsByTagName("input");
    var data = new FormData();
    captive_portal_url = "wayport.net"
    if ("undefined" === typeof(document.getElementsByTagName("form")[0].action)) {
	console.log("no form found.")    
    } else{
	document.body.style.border = "5px solid red";	
	post_url = document.getElementsByTagName("form")[0].action;
	var dest = "";
	for(var i = 0; i < entries.length; i++){
	    console.log(entries[i].name + ":" + entries[i].value);

	    if(entries[i].name == "origDest"){
		dest = entries[i].name;
		entries[i].value = "http://www.wikipedia.org";
	    }
	    // Seems like this should be set to 1, not sure if required though
	    if(entries[i].name == "connect"){
		entries[i].value = "1";
	    }
	    
	    data.append(entries[i].name,entries[i].value);

	}
	var http = new XMLHttpRequest();
	//auth_url = document.URL.substring(0,document.URL.indexOf(captive_portal_url)+captive_portal_url.length);
	//auth_url += post_url;
	console.log(data);
	console.log(post_url);
	var xhr = new XMLHttpRequest();
	xhr.open('POST', post_url, true);
	xhr.onload = function () {
	    // do something to response
	    //console.log(this.responseText);
	    document.body = this.responseText;
	};
	xhr.send(data);
	alert("Authenticated to McDonald's Wi-fi.")
    }
}