forked from finkdiff/ATVBrowser-script
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatv.js
executable file
·70 lines (52 loc) · 1.65 KB
/
atv.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
/* required installation: npm install plex-api */
var utils = require("./utils");
function getIPAddress() {
var interfaces = require('os').networkInterfaces();
for (var devName in interfaces) {
var iface = interfaces[devName];
for (var i = 0; i < iface.length; i++) {
var alias = iface[i];
if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal)
return alias.address;
}
}
return '0.0.0.0';
}
var LOCAL_IP = getIPAddress();
//const LOCAL_IP = "192.168.2.4";
console.log("localIP address obtained:"+LOCAL_IP);
console.log("Starting ATVBrowser - Let the hacking begin :)");
utils.startDnsProxy(LOCAL_IP);
utils.startWebServer(LOCAL_IP);
var PlexAPI = require("plex-api");
var client = new PlexAPI(LOCAL_IP);
var result = client.query("/", function (error, result) {
if (error) {
throw new Error("Could not connect to server");
}
result.attributes; // MediaContainer attributes
result.directory; // array of child Directory items
console.log("attributes: "+result.attributes);
console.log("directory: "+result.directory);
console.log(result);
return result;
});
//console.log(result);
/*
//setup the XML server
var express = require('express');
var app = express.createServer();
app.get('/index.xml', function(req, res){
res.render('index.ejs');
});
app.get('/assets/appletv/application.js', function(req,res) {
res.sendfile('assets/appletv/application.js');
});
app.get('/assets/appletv/us/js/application.js', function(req,res) {
res.sendfile('assets/appletv/us/js/application.js');
});
app.get('/assets/media.js', function(req,res) {
res.sendfile('assets/media.js');
});
app.listen(3000);
*/