forked from metekamil/ATT-Uverse-Automated-Router-Rebooter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreboot.js
75 lines (58 loc) · 1.82 KB
/
reboot.js
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
/* Fill in the access code and your router IP below */
var routerAccessCode = "";
var routerIP = "192.168.1.254";
/****************************************************/
var querystring = require('querystring');
var request = require('request');
function RebootRouter() {
var form = {
"ADM_PASSWORD" : routerAccessCode,
"NEXTPAGE" : 'A_0_0'
};
var formData = querystring.stringify(form);
var contentLength = formData.length;
var cookieJar = request.jar();
request({
headers: {
'Content-Length': contentLength,
'Content-Type': 'application/x-www-form-urlencoded'
},
uri: 'http://' + routerIP + '/xslt?PAGE=login_post',
jar: cookieJar,
body: formData,
method: 'POST'
}, function (err, res, body) {
var nonce=body.substr(body.indexOf("NONCE")).toLowerCase();
nonce=nonce.substr(nonce.indexOf("value=")+7);
nonce=nonce.substr(0,nonce.indexOf("\""));
doRestart(cookieJar,nonce);
});
}
function doRestart(cookieJar, nonce){
var form = {
"RESET_BB" : 'Restart',
"THISPAGE" : 'A_0_0',
"NEXTPAGE" : 'A_0_0_POST',
"NONCE": nonce,
"CMSKICK": ""
};
var formData = querystring.stringify(form);
var contentLength = formData.length;
request({
headers: {
'Content-Length': contentLength,
'Content-Type': 'application/x-www-form-urlencoded'
},
uri: 'http://' + routerIP + '/xslt?PAGE=A_0_0_POST&NEXTPAGE=A_0_0_POST',
jar: cookieJar,
body: formData,
method: 'POST'
}, function (err, res, body) {
if (err) {
console.log('Failed Reboot.');
return;
}
console.log('Router Rebooting.');
});
}
RebootRouter();