proper nodejs versioning, encryption working
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
GROUP name=hacktv version=!VERS! root=file://Disk/Browser/ service-owned
|
||||
display Updating HackTV Files...
|
||||
sync Games/Games.html Games.html
|
||||
sync Games/cSetup.html cSetup.html
|
||||
sync Games/updater.html updater.html
|
||||
sync MattMan/Tricks/tricks.html tricks.html
|
||||
END-GROUP
|
||||
@@ -1,48 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta
|
||||
http-equiv=refresh
|
||||
content="0;url=client:Fetch?source=http://wtv.zefie.com/hacktv/?diskmap=update&root=file://Disk/Browser&group=hacktv"
|
||||
>
|
||||
<display downloadsuccess="client:ShowAlert?message=HackTV%20Update%20was%20successful%21&buttonlabel2=Go%20to%20HackTV&action2=file%3A%2F%2FDisk%2FBrowser%2FGames%2FGames.html&buttonlabel1=Okay&buttonaction1=client:goback&image=file://disk/browser/Games/hacktv2.gif&noback=true" downloadfail="client:ShowAlert?message=HackTV%20Update%20failed...&buttonlabel1=Okay...&buttonaction1=client:goback&image=file://disk/browser/Games/hacktv2.gif&noback=true">
|
||||
<title>Retrieving Files</title>
|
||||
</head>
|
||||
<body bgcolor=#0 text=#42CC55 fontsize=large hspace=0 vspace=0>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td width=104 height=74 valign=middle align=center bgcolor=3B3A4D>
|
||||
<img src="file://disk/browser/Games/hacktv4.gif" width=86 height=64>
|
||||
<td width=20 valign=top align=left bgcolor=3B3A4D>
|
||||
<spacer>
|
||||
<td colspan=2 width=436 valign=middle align=left bgcolor=3B3A4D>
|
||||
<font color=D6DFD0 size=+2><blackface><shadow>
|
||||
<spacer type=block width=1 height=4>
|
||||
<br>
|
||||
Retrieving Files
|
||||
</shadow>
|
||||
</blackface>
|
||||
</font>
|
||||
<tr>
|
||||
<td width=104 height=20>
|
||||
<td width=20>
|
||||
<td width=416>
|
||||
<td width=20>
|
||||
<tr>
|
||||
<td colspan=2>
|
||||
<td>
|
||||
<font size=+1>
|
||||
Your HackTV Box is downloading updates from zefie's server.
|
||||
<p>This may take a while.
|
||||
</font>
|
||||
<tr>
|
||||
<td colspan=2>
|
||||
<td>
|
||||
<br><br>
|
||||
<font color=white>
|
||||
<progressindicator name="downloadprogress"
|
||||
message="Checking for updates..."
|
||||
height=40 width=250>
|
||||
</font>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
if (socket_session_data[socket.id].ssid != null && !sec_session[socket_session_data[socket.id].ssid]) {
|
||||
sec_session[socket_session_data[socket.id].ssid] = new WTVNetworkSecurity();
|
||||
sec_session[socket_session_data[socket.id].ssid] = new WTVSec();
|
||||
sec_session[socket_session_data[socket.id].ssid].IssueChallenge();
|
||||
sec_session[socket_session_data[socket.id].ssid].set_incarnation(initial_headers['wtv-incarnation']);
|
||||
sec_session[socket_session_data[socket.id].ssid].set_incarnation(request_headers['wtv-incarnation']);
|
||||
}
|
||||
|
||||
var contype = "text/tellyscript";
|
||||
@@ -20,9 +20,10 @@ Connection: Keep-Alive
|
||||
wtv-initial-key: ` + issueWTVInitialKey(socket) + `
|
||||
Content-Type: `+ contype + `
|
||||
wtv-service: reset
|
||||
`+getServiceString('wtv-star')+`
|
||||
`+getServiceString('wtv-head-waiter')+`
|
||||
`+getServiceString('wtv-flashrom')+`
|
||||
` + getServiceString('wtv-1800') + `
|
||||
` + getServiceString('wtv-star') + `
|
||||
` + getServiceString('wtv-head-waiter') + `
|
||||
` + getServiceString('wtv-flashrom') + `
|
||||
wtv-boot-url: wtv-1800:/preregister?relogin=true
|
||||
wtv-visit: wtv-head-waiter:/login?
|
||||
wtv-client-time-zone: GMT -0000
|
||||
|
||||
@@ -2,33 +2,13 @@ var gourl = "wtv-1800:/finish-prereg?";
|
||||
if (query['relogin']) gourl += "relogin=true";
|
||||
|
||||
|
||||
if (query['reconnect']) {
|
||||
headers = `200 OK
|
||||
if (request_headers['wtv-ticket']) {
|
||||
gourl = "wtv-head-waiter:/login-stage-two?";
|
||||
}
|
||||
|
||||
headers = `200 OK
|
||||
Connection: Keep-Alive
|
||||
wtv-expire-all: wtv-
|
||||
wtv-expire-all: htv-`
|
||||
|
||||
if (sec_session[initial_headers['wtv-client-serial-number']].ticket_b64) {
|
||||
headers += "wtv-encrypted: true\n";
|
||||
headers += "wtv-ticket: " + sec_session[initial_headers['wtv-client-serial-number']].ticket_b64 + "\n";
|
||||
}
|
||||
|
||||
headers += `wtv-client-time-zone: GMT -0000
|
||||
wtv-client-time-dst-rule: GMT
|
||||
wtv-client-date: `+ strftime("%a, %d %b %Y %H:%M:%S", new Date(new Date().toUTCString())) + ` GMT
|
||||
Content-type: text/html`;
|
||||
} else {
|
||||
|
||||
if (initial_headers['wtv-ticket']) {
|
||||
gourl = "wtv-head-waiter:/login-stage-two?";
|
||||
}
|
||||
|
||||
headers = `200 OK
|
||||
Connection: Keep-Alive
|
||||
wtv-expire-all: wtv-
|
||||
wtv-expire-all: htv-
|
||||
wtv-open-isp-disabled: false
|
||||
wtv-visit: `+ gourl + `
|
||||
Content-type: text/html`;
|
||||
|
||||
}
|
||||
98
hacktv_updsrv/ServiceVault/wtv-flashrom/get-lc2-page.js
Normal file
98
hacktv_updsrv/ServiceVault/wtv-flashrom/get-lc2-page.js
Normal file
@@ -0,0 +1,98 @@
|
||||
headers = `200 OK
|
||||
Content-type: text/html`
|
||||
|
||||
data = `<html>
|
||||
<head>
|
||||
<title>
|
||||
Updating
|
||||
</title>
|
||||
<display switchtowebmode transition=none nostatus nooptions skipback clearback>
|
||||
</head>
|
||||
<body noscroll bgcolor="#191919" text="#42CC55" link="36d5ff"
|
||||
hspace=0 vspace=0 fontsize="large">
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td width=104 height=74 valign=middle align=center bgcolor="3B3A4D">
|
||||
<td width=20 valign=top align=left bgcolor="3B3A4D">
|
||||
<td colspan=10 width=436 valign=middle align=left bgcolor="3B3A4D">
|
||||
<font color="D6DFD0" size="+2">
|
||||
<blackface>
|
||||
<shadow>
|
||||
<br>
|
||||
Updating now...
|
||||
</shadow>
|
||||
</blackface>
|
||||
</font>
|
||||
<tr>
|
||||
<td colspan=12 width=560 height=10 valign=top align=left>
|
||||
<tr>
|
||||
<td width=104 height=10 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=68 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<form action="client:poweroff">
|
||||
<tr>
|
||||
<td width=104 valign=middle align=center>
|
||||
<td width=20 valign=middle align=center>
|
||||
<td colspan=9 width=100 height=258 valign=top align=left>
|
||||
<font size=+1>
|
||||
Your Internet Receiver is being<br>updated automagically.
|
||||
<p> <font size=+1>
|
||||
This will take forever, and then<br> your WebTV will reboot.<br><br>
|
||||
</font>
|
||||
</table>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="left"><font size="-1" color="#D6DFD0"><small> Receiving part `+flashrom_part+` of `+totalprts+`</small></font></td>
|
||||
<td align="right"><font size="-1" color="#D6DFD0"><small>v`+flashrom_version+` (`+flashrom_type+`) </small></font></td>
|
||||
</tr>
|
||||
</table>
|
||||
<center>
|
||||
<upgradeblock width=520 height=15
|
||||
`+nextrompath+`
|
||||
errorurl="wtv-flashrom:/lc2-download-failed"
|
||||
blockurl="wtv-flashrom:/`+rompath+`"
|
||||
lastblock=`+lastpart+`
|
||||
curblock="`+flashrom_part+`"
|
||||
totalblocks="`+totalprts+`"></center>
|
||||
<tr>
|
||||
<td width=104 valign=middle align=center>
|
||||
<td width=20 valign=middle align=center>
|
||||
<td colspan=10 height=2 valign=middle align=center bgcolor="#191919">
|
||||
<tr>
|
||||
<td width=104 valign=middle align=center>
|
||||
<td width=20 valign=middle align=center>
|
||||
<td colspan=9 height=1 valign=top align=left>
|
||||
<tr>
|
||||
<td width=104 valign=middle align=center>
|
||||
<td width=20 valign=middle align=center>
|
||||
<td colspan=10 height=2 valign=top align=left bgcolor="#191919">
|
||||
<tr>
|
||||
<td width=104 valign=middle align=center>
|
||||
<td width=20 valign=middle align=center>
|
||||
<td colspan=9 height=4 valign=top align=left>
|
||||
<tr>
|
||||
<td width=104 valign=middle align=center>
|
||||
<td width=20 valign=middle align=center>
|
||||
<td colspan=9 width=416 valign=top align=left>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td width=306 valign=top align=left>
|
||||
<font size="-1"><i>
|
||||
</i></font><td width=112 valign=top align=right>
|
||||
<font size="-1" color="#191919">
|
||||
</font>
|
||||
</form>
|
||||
</table>
|
||||
<td width=20 valign=middle align=center>
|
||||
</table>
|
||||
</body>
|
||||
</html>`
|
||||
@@ -0,0 +1,50 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
Updating failed
|
||||
</title>
|
||||
<display switchtowebmode transition=none nostatus nooptions skipback clearback>
|
||||
</head>
|
||||
<body noscroll bgcolor="#191919" text="#42CC55" link="36d5ff"
|
||||
hspace=0 vspace=0 fontsize="large">
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td width=104 height=74 valign=middle align=center bgcolor="3B3A4D">
|
||||
<img src="wtv-flashrom:/ROMCache/MSNLogo.gif" width=87 height=67>
|
||||
<td width=20 valign=top align=left bgcolor="3B3A4D">
|
||||
<img src="wtv-flashrom:/ROMCache/Spacer.gif" width=1 height=1>
|
||||
<td colspan=10 width=436 valign=middle align=left bgcolor="3B3A4D">
|
||||
<font color="D6DFD0" size="+2">
|
||||
<blackface>
|
||||
<shadow>
|
||||
<img src="wtv-flashrom:/ROMCache/Spacer.gif" width=1 height=4>
|
||||
<br>
|
||||
Updated failed
|
||||
</shadow>
|
||||
</blackface>
|
||||
</font>
|
||||
<tr>
|
||||
<td colspan=12 width=560 height=10 valign=top align=left>
|
||||
<img src="wtv-flashrom:/ROMCache/S40H1.gif" width=560 height=6>
|
||||
<tr>
|
||||
<td width=104 height=10 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=68 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<form action="client:poweroff">
|
||||
<tr>
|
||||
<td width=104 valign=middle align=center>
|
||||
<td width=20 valign=middle align=center>
|
||||
<td colspan=9 width=100 height=258 valign=top align=left>
|
||||
<font size=+1>
|
||||
Update failed, gomennasai.
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,53 @@
|
||||
headers = `200 OK
|
||||
Content-type: text/html`
|
||||
|
||||
data =`<html>
|
||||
<head>
|
||||
<title>
|
||||
Updating failed
|
||||
</title>
|
||||
<display switchtowebmode transition=none nostatus nooptions skipback clearback>
|
||||
</head>
|
||||
<body noscroll bgcolor="#191919" text="#42CC55" link="36d5ff"
|
||||
hspace=0 vspace=0 fontsize="large">
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td width=104 height=74 valign=middle align=center bgcolor="3B3A4D">
|
||||
<img src="wtv-flashrom:/ROMCache/MSNLogo.gif" width=87 height=67>
|
||||
<td width=20 valign=top align=left bgcolor="3B3A4D">
|
||||
<img src="wtv-flashrom:/ROMCache/Spacer.gif" width=1 height=1>
|
||||
<td colspan=10 width=436 valign=middle align=left bgcolor="3B3A4D">
|
||||
<font color="D6DFD0" size="+2">
|
||||
<blackface>
|
||||
<shadow>
|
||||
<img src="wtv-flashrom:/ROMCache/Spacer.gif" width=1 height=4>
|
||||
<br>
|
||||
Updated failed
|
||||
</shadow>
|
||||
</blackface>
|
||||
</font>
|
||||
<tr>
|
||||
<td colspan=12 width=560 height=10 valign=top align=left>
|
||||
<img src="wtv-flashrom:/ROMCache/S40H1.gif" width=560 height=6>
|
||||
<tr>
|
||||
<td width=104 height=10 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=67 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<td width=68 valign=top align=left>
|
||||
<td width=20 valign=top align=left>
|
||||
<form action="client:poweroff">
|
||||
<tr>
|
||||
<td width=104 valign=middle align=center>
|
||||
<td width=20 valign=middle align=center>
|
||||
<td colspan=9 width=100 height=258 valign=top align=left>
|
||||
<font size=+1>
|
||||
Update failed, gomennasai.
|
||||
</body>
|
||||
</html>`
|
||||
20
hacktv_updsrv/ServiceVault/wtv-flashrom/willie.js
Normal file
20
hacktv_updsrv/ServiceVault/wtv-flashrom/willie.js
Normal file
@@ -0,0 +1,20 @@
|
||||
// willie is just a graphical frontend to a list of ROMs
|
||||
// the rest of the scripts should work if you manually link to a ROM, and actually have it.
|
||||
|
||||
|
||||
const options = new URL('http://wtv.zefie.com/willie.php?flash='+getSessionData(socket_session_data[socket.id].ssid, 'wtv-client-rom-type'))
|
||||
var data_ready = false;
|
||||
data = '';
|
||||
const req = http.request(options, res => {
|
||||
console.log(`statusCode: ${res.statusCode}`)
|
||||
|
||||
res.on('data', d => {
|
||||
data += d;
|
||||
})
|
||||
|
||||
res.on('end', function () {
|
||||
data_ready = true;
|
||||
});
|
||||
});
|
||||
|
||||
headers = "200 OK\nContent-type: text/html";
|
||||
@@ -2,10 +2,10 @@ var challenge_response, challenge_header = '';
|
||||
var gourl;
|
||||
|
||||
if (socket_session_data[socket.id].ssid !== null) {
|
||||
if (initial_headers['wtv-ticket']) {
|
||||
if (initial_headers['wtv-ticket'].length > 8) {
|
||||
DecodeTicket(initial_headers['wtv-ticket']);
|
||||
sec_session[socket_session_data[socket.id].ssid].ticket_b64 = initial_headers['wtv-ticket'];
|
||||
if (request_headers['wtv-ticket']) {
|
||||
if (request_headers['wtv-ticket'].length > 8) {
|
||||
DecodeTicket(request_headers['wtv-ticket']);
|
||||
sec_session[socket_session_data[socket.id].ssid].ticket_b64 = request_headers['wtv-ticket'];
|
||||
//socket_session_data[socket.id].secure == true;
|
||||
}
|
||||
} else if (sec_session[socket_session_data[socket.id].ssid].ticket_b64 == null) {
|
||||
|
||||
@@ -3,15 +3,15 @@ var gourl;
|
||||
|
||||
if (socket_session_data[socket.id].ssid !== null) {
|
||||
if (sec_session[socket_session_data[socket.id].ssid].ticket_b64 == null) {
|
||||
if (initial_headers['wtv-ticket']) {
|
||||
if (initial_headers['wtv-ticket'].length > 8) {
|
||||
sec_session[socket_session_data[socket.id].ssid].DecodeTicket(initial_headers['wtv-ticket']);
|
||||
sec_session[socket_session_data[socket.id].ssid].ticket_b64 = initial_headers['wtv-ticket'];
|
||||
if (request_headers['wtv-ticket']) {
|
||||
if (request_headers['wtv-ticket'].length > 8) {
|
||||
sec_session[socket_session_data[socket.id].ssid].DecodeTicket(request_headers['wtv-ticket']);
|
||||
sec_session[socket_session_data[socket.id].ssid].ticket_b64 = request_headers['wtv-ticket'];
|
||||
//socket_session_data[socket.id].secure = true;
|
||||
}
|
||||
} else {
|
||||
challenge_response = sec_session[socket_session_data[socket.id].ssid].challenge_response;
|
||||
var client_challenge_response = initial_headers['wtv-challenge-response'] || null;
|
||||
var client_challenge_response = request_headers['wtv-challenge-response'] || null;
|
||||
if (challenge_response && client_challenge_response) {
|
||||
//if (challenge_response.toString(CryptoJS.enc.Base64).substring(0,85) == client_challenge_response.substring(0,85)) {
|
||||
if (challenge_response.toString(CryptoJS.enc.Base64) == client_challenge_response) {
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
var challenge_response, challenge_header = '';
|
||||
|
||||
if (socket_session_data[socket.id].ssid !== null) {
|
||||
if (initial_headers['wtv-ticket']) {
|
||||
if (request_headers['wtv-ticket']) {
|
||||
if (sec_session[socket_session_data[socket.id].ssid].ticket_b64 == null) {
|
||||
if (initial_headers['wtv-ticket'].length > 8) {
|
||||
sec_session[socket_session_data[socket.id].ssid].DecodeTicket(initial_headers['wtv-ticket']);
|
||||
sec_session[socket_session_data[socket.id].ssid].ticket_b64 = initial_headers['wtv-ticket'];
|
||||
if (request_headers['wtv-ticket'].length > 8) {
|
||||
sec_session[socket_session_data[socket.id].ssid].DecodeTicket(request_headers['wtv-ticket']);
|
||||
sec_session[socket_session_data[socket.id].ssid].ticket_b64 = request_headers['wtv-ticket'];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
challenge_response = sec_session[socket_session_data[socket.id].ssid].challenge_response;
|
||||
var client_challenge_response = initial_headers['wtv-challenge-response'] || null;
|
||||
var client_challenge_response = request_headers['wtv-challenge-response'] || null;
|
||||
if (challenge_response && client_challenge_response) {
|
||||
if (challenge_response.toString(CryptoJS.enc.Base64).substring(0,85) == client_challenge_response.substring(0,85)) {
|
||||
console.log(" * wtv-challenge-response success for "+socket_session_data[socket.id].ssid);
|
||||
@@ -25,9 +25,9 @@ if (socket_session_data[socket.id].ssid !== null) {
|
||||
}
|
||||
|
||||
/*
|
||||
if (initial_headers) {
|
||||
if (request_headers) {
|
||||
var cookiedata = {};
|
||||
Object.keys(initial_headers).forEach(function (k) {
|
||||
Object.keys(request_headers).forEach(function (k) {
|
||||
switch (k) {
|
||||
case "wtv-capability-flags":
|
||||
case "wtv-system-version":
|
||||
@@ -36,7 +36,7 @@ if (initial_headers) {
|
||||
case "wtv-system-chipversion":
|
||||
case "wtv-system-sysconfig":
|
||||
case "wtv-system-cpuspeed":
|
||||
cookiedata[k] = initial_headers[k];
|
||||
cookiedata[k] = request_headers[k];
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
var wtvtest = new WTVNetworkSecurity();
|
||||
var wtvtest = new WTVSec();
|
||||
wtvtest.Test();
|
||||
@@ -4,7 +4,7 @@ wtv-expire-all: wtv-home:/splash
|
||||
wtv-expire-all: htv-
|
||||
Content-type: text/html`
|
||||
|
||||
if (initial_headers['psuedo-encryption']) {
|
||||
if (getSessionData(socket_session_data[socket.id].ssid, 'box-does-psuedo-encryption')) {
|
||||
var cryptstatus = "<a href='client:showalert?message=Your%20WebTV%20Unit%20sent%20us%20a%20request%20for%20SECURE%20ON%2C%20but%20did%20not%20encrypt%20any%20data%2C%20nor%20will%20accept%20it.%20However%2C%20we%20send%20the%20wtv-encryption%20flag%20to%20roll%20with%20it%2C%20enabling%20%27psuedo-encryption%27.%20Nothing%20is%20encrypted%2C%20but%20the%20box%20trusts%20us.%20This%20will%20probably%20go%20away%20if%20you%20reload%20or%20change%20pages.&buttonaction1=client:donothing&buttonlabel1=Oh%2C%20okay...'>Psuedo-encrypted</a>";
|
||||
} else {
|
||||
var cryptstatus = ((socket_session_data[socket.id].secure === true) ? "Encrypted" : "Not Encrypted")
|
||||
@@ -13,7 +13,8 @@ if (initial_headers['psuedo-encryption']) {
|
||||
|
||||
data =`<html>
|
||||
<head>
|
||||
<DISPLAY showwhencomplete noscroll>
|
||||
<title>Home for minsrv</title>
|
||||
<DISPLAY showwhencomplete options showoptions noscroll>
|
||||
</head>
|
||||
<body bgcolor="black" link="gold" vlink="gold" alink="gold" text="gold">
|
||||
<script>
|
||||
@@ -23,15 +24,18 @@ function ax(a) {
|
||||
document.close();
|
||||
}
|
||||
</script>
|
||||
<h2>Encryption Status: `+cryptstatus+`</h2>`
|
||||
<h1>Welcome to `+ z_title + `</h1>
|
||||
<h3>Encryption Status: `+cryptstatus+`</h3>`
|
||||
if (socket_session_data[socket.id].secure) {
|
||||
data += '<span size="-1">Encryption Key (Server): ' + sec_session[socket.id].session_key2.toString(CryptoJS.enc.Hex)+'<br>';
|
||||
data += 'Encryption Key (Client): ' + sec_session[socket.id].session_key1.toString(CryptoJS.enc.Hex)+'</span><br><br>';
|
||||
}
|
||||
data += `<a href="javascript:ax('client:relog')" selected>client:relog (via text/url)</a><br>
|
||||
<a href="client:relog">client:relog (direct)</a><br>
|
||||
<a href="htv-update:/update">HackTV Updater Test</a><br>
|
||||
<!-- <a href="wtv-home:/unlock">Unlock Full Client (Options, Goto, etc)</a><br> -->
|
||||
data += `<a href="client:relog">client:relog (direct)</a><br>
|
||||
<a href="wtv-tricks:/blastcache?">Clear Cache</a><br>
|
||||
<a href="wtv-update:/update?" selected>HackTV Updater Test</a><br>
|
||||
<a href="wtv-flashrom:/willie">Ultra Willies</a><br>
|
||||
<a href="client:showalert?message=If%20you%20choose%20to%20disconnect%20and%20return%20to%20HackTV%20home%2C%20you%20may%20not%20be%20able%20to%20reconnect%20to%20the%20update%20server%20until%20you%20power%20cycle%20your%20box.%3Cbr%3E%3Cbr%3EAre%20you%20sure%20you%20would%20like%20to%20go%20offline%3F&buttonlabel1=No&buttonaction1=client:donothing&buttonlabel2=Yes&buttonaction2=wtv-tricks:/go-offline?title=HackTV%20Home">Disconnect and go to HackTV Home</a><br>
|
||||
<!-- <a href="buttonaction2=wtv-home:/unlock">Unlock Full Client (Options, Goto, etc)</a><br> -->
|
||||
|
||||
</body>
|
||||
</html>`
|
||||
@@ -4,8 +4,9 @@ wtv-expire-all: htv-
|
||||
Content-type: text/html
|
||||
|
||||
<html>
|
||||
<title>Engaging zefie...</title>
|
||||
<head>
|
||||
<display nooptions nostatus skipback clearback fontsize=medium>
|
||||
<display nooptions showwhencomplete nostatus skipback clearback fontsize=medium>
|
||||
<meta
|
||||
http-equiv=refresh
|
||||
content="5; url=wtv-home:/home?"
|
||||
@@ -15,7 +16,7 @@ Content-type: text/html
|
||||
<body bgcolor="#000000" text="#449944">
|
||||
<bgsound src="file://ROM/Sounds/Splash.mid">
|
||||
<center>
|
||||
<img src="file://Disk/Browser/DiskFlash/HTMLs/hacktv.gif">
|
||||
<img src="wtv-star:/images/HackTVLogo.gif">
|
||||
<br>
|
||||
<spacer type=block height=98 width=21>
|
||||
<br>
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
// dummy page, we could handle the logs here.
|
||||
// write posted log data to disk. should be decrypted by this point (if it was encrypted) if the crypto stream didn't break
|
||||
|
||||
if (request_headers['post_data']) {
|
||||
var fullpath = __dirname + "/ServiceLogPost/" + Math.floor(new Date().getTime() / 1000) + "_" + query['type'];
|
||||
if (socket_session_data[socket.id].ssid) fullpath += "_" + socket_session_data[socket.id].ssid;
|
||||
|
||||
fullpath = fullpath.replace(/\\/g, "/");
|
||||
fs.writeFileSync(fullpath, request_headers['post_data'].toString(CryptoJS.enc.Hex), "Hex");
|
||||
console.log("Wrote POST log data from", socket_session_data[socket.id].ssid, "to", fullpath, "on", socket.id);
|
||||
}
|
||||
|
||||
headers = `200 OK
|
||||
Connection: Keep-Alive
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
// dummy page, we could handle the logs here.
|
||||
|
||||
headers = `200 OK
|
||||
Connection: Keep-Alive
|
||||
wtv-visit: wtv-home:/splash?
|
||||
Content-length: 0`;
|
||||
|
||||
data = '';
|
||||
|
||||
|
||||
BIN
hacktv_updsrv/ServiceVault/wtv-star/images/HackTVLogo.gif
Normal file
BIN
hacktv_updsrv/ServiceVault/wtv-star/images/HackTVLogo.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
hacktv_updsrv/ServiceVault/wtv-star/images/HackTVLogoJewel.gif
Normal file
BIN
hacktv_updsrv/ServiceVault/wtv-star/images/HackTVLogoJewel.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.7 KiB |
BIN
hacktv_updsrv/ServiceVault/wtv-star/images/WebTVLogoJewel.gif
Normal file
BIN
hacktv_updsrv/ServiceVault/wtv-star/images/WebTVLogoJewel.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.3 KiB |
14
hacktv_updsrv/ServiceVault/wtv-tricks/blastcache.txt
Normal file
14
hacktv_updsrv/ServiceVault/wtv-tricks/blastcache.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
200 OK
|
||||
wtv-noback-all: wtv-
|
||||
wtv-expire-all: wtv-
|
||||
Content-type: text/html
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta
|
||||
http-equiv=refresh
|
||||
content="0; url=client:showalert?message=Successfully%20expired%20service%20URL%20cache&buttonlabel1=Okay&buttonaction1=wtv-home%3A%2Fhome%3F"
|
||||
>
|
||||
<body bgcolor="black">
|
||||
</body>
|
||||
</html>
|
||||
42
hacktv_updsrv/ServiceVault/wtv-tricks/go-offline.js
Normal file
42
hacktv_updsrv/ServiceVault/wtv-tricks/go-offline.js
Normal file
@@ -0,0 +1,42 @@
|
||||
headers = `200 OK
|
||||
wtv-noback-all: wtv-
|
||||
wtv-expire-all: wtv-
|
||||
Content-type: text/html
|
||||
wtv-service: reset
|
||||
`+getServiceString('wtv-1800');
|
||||
|
||||
|
||||
// HackTV Homepage is default
|
||||
var url="file://Disk/Browser/Games/Games.html";
|
||||
|
||||
if (query['url']) {
|
||||
url = query['url'];
|
||||
}
|
||||
|
||||
data = `<html>
|
||||
<head>
|
||||
<title>Going offline...</title>
|
||||
<DISPLAY notvaudio allowoffline hideoptions switchtowebmode>
|
||||
<body bgcolor="black" text="gold" onload="onLoad">
|
||||
<script type="text/javascript">
|
||||
function disconnect() {
|
||||
location.href = "client:HangUpPhone?allow-reconnect=no";
|
||||
}
|
||||
function go(url) {
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
if (window.location) {
|
||||
setTimeout('disconnect()',100);
|
||||
setTimeout('go("`+url+`")',200);
|
||||
}
|
||||
</script>
|
||||
<br><br>
|
||||
`
|
||||
if (query['title']) {
|
||||
data += "Going offline and loading "+decodeURI(query['title'])+", please wait!";
|
||||
} else {
|
||||
data += "Please wait a moment.";
|
||||
}
|
||||
|
||||
data += "</body>\n</html>";
|
||||
@@ -0,0 +1,10 @@
|
||||
GROUP name=Browser version=!VERS! root=file://Disk/Browser/Games/
|
||||
display Updating HackTV Files...
|
||||
sync Games.html content/htvupdate/Games/Games.html
|
||||
sync cSetup.html content/htvupdate/Games/cSetup.html
|
||||
END-GROUP
|
||||
|
||||
GROUP name=Browser version=!VERS! root=file://Disk/Browser/MattMan/
|
||||
display Updating HackTV Files...
|
||||
sync Tricks/tricks.html content/htvupdate/MattMan/Tricks/tricks.html
|
||||
END-GROUP
|
||||
@@ -81,7 +81,7 @@ if (document.images) {
|
||||
<li><a href="file://disk/Browser/MattMan/html/index.html" onmouseover="document.r1.src=pic9.src;">HTML Viewer</a>
|
||||
<li><a href="file://disk/Browser/MattMan/Tricks/tricks.html" onmouseover="document.r1.src=pic6.src;">HackTV Tricks</a>
|
||||
<li><a href="file://disk/Browser/Games/cSetup.html" onmouseover="document.r1.src=pic10.src;">Connect Setup</a>
|
||||
<li><a href="client:ConfirmConnectSetup?ServiceType=bypass&bootURL=http://wtv.zefie.com/hacktv/index.php&homeURL=http://wtv.zefie.com/hacktv/update/updater.html&nameServer=208.67.222.222&useEncryption=false&Connect=Connect">Test</a>
|
||||
<li><font size="-1"><sup>NEW!</sup</font><a href="client:ConfirmConnectSetup?machine=192.168.11.8&port=1615&ServiceType=custom&useEncryption=true&useDirectConnection=true&Connect=Connect"> Check for Updates</a>
|
||||
<!--li>Boot <a href="client:boota?NA" onmouseover="document.r1.src=pic11.src;">2.9</a> - <a href="client:boota?NA" onmouseover="document.r1.src=pic12.src;" onmouseout="document.r1.src=pic13.src;">2.1</a-->
|
||||
</td></tr>
|
||||
</table>
|
||||
36
hacktv_updsrv/ServiceVault/wtv-update/sync.js
Normal file
36
hacktv_updsrv/ServiceVault/wtv-update/sync.js
Normal file
@@ -0,0 +1,36 @@
|
||||
var content_dir = service_dir + '/content/';
|
||||
var diskmap_dir = content_dir + '/diskmaps/';
|
||||
|
||||
|
||||
if (query['diskmap']) {
|
||||
if (fs.lstatSync(diskmap_dir + query['diskmap'] + ".txt")) {
|
||||
var diskmap_data = fs.readFileSync(diskmap_dir + query['diskmap'] + ".txt").toString();
|
||||
// try to parse diskmap and get an accurate timestamp for webtv versioning
|
||||
// check all files in the diskmap and return the timestamp of the most recently modified
|
||||
|
||||
data = '';
|
||||
var latest_file_ts = 0;
|
||||
diskmap_data.split("\n").forEach(function (v) {
|
||||
if (v.indexOf(" sync ") != -1) {
|
||||
v = v.trim();
|
||||
var vcon = v.substring(v.indexOf("content/"));
|
||||
vcon = vcon.replace("content/", content_dir)
|
||||
var vconstat = Math.floor(fs.lstatSync(vcon).mtimeMs / 1000);
|
||||
if (vconstat > latest_file_ts) {
|
||||
latest_file_ts = vconstat
|
||||
}
|
||||
// todo read client post and only give whats needed
|
||||
// instead of all that is available
|
||||
// vconstat has the mtime of each file, we need to parse the post_data
|
||||
data += v + "\n";
|
||||
} else {
|
||||
data += v + "\n";
|
||||
}
|
||||
});
|
||||
//data = diskmap_data.replace("!VERS!", latest_file_ts);
|
||||
}
|
||||
}
|
||||
|
||||
headers = `200 OK
|
||||
Content-type: text/download-list`
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
<head>
|
||||
<meta
|
||||
http-equiv=refresh
|
||||
content="0;url=client:Fetch?source=htv-update:/upd?diskmap=update&root=file://Disk/Browser/&group=hacktv"
|
||||
content="0;url=client:Fetch?group=Browser&source=wtv-update:/sync%3Fdiskmap%3Dhtvupdate&message=Downloading%20updates..."
|
||||
>
|
||||
<display downloadsuccess="client:ShowAlert?message=HackTV%20Update%20was%20successful%21&buttonlabel2=Go%20to%20HackTV&action2=file%3A%2F%2FDisk%2FBrowser%2FGames%2FGames.html&buttonlabel1=Okay&buttonaction1=client:goback&image=file://disk/browser/Games/hacktv2.gif&noback=true" downloadfail="client:ShowAlert?message=HackTV%20Update%20failed...&buttonlabel1=Okay...&buttonaction1=client:goback&image=file://disk/browser/Games/hacktv2.gif&noback=true">
|
||||
<title>Retrieving Files</title>
|
||||
<display downloadsuccess="client:ShowAlert?message=HackTV%20Update%20was%20successful%21&buttonlabel2=Go%20to%20HackTV&action2=wtv-tricks:/go-offline%3Ftitle%3DHackTV%20Home&buttonlabel1=Okay&buttonaction1=client:goback&image=file://disk/browser/Games/hacktv2.gif&noback=true" downloadfail="client:ShowAlert?message=HackTV%20Update%20failed...&buttonlabel1=Okay...&buttonaction1=client:goback&image=file://disk/browser/Games/hacktv2.gif&noback=true">
|
||||
<title>HackTV Updater</title>
|
||||
</head>
|
||||
<body bgcolor=#0 text=#42CC55 fontsize=large hspace=0 vspace=0>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
@@ -18,7 +18,7 @@
|
||||
<font color=D6DFD0 size=+2><blackface><shadow>
|
||||
<spacer type=block width=1 height=4>
|
||||
<br>
|
||||
Retrieving Files
|
||||
Download HackTV Updates
|
||||
</shadow>
|
||||
</blackface>
|
||||
</font>
|
||||
@@ -31,7 +31,7 @@
|
||||
<td colspan=2>
|
||||
<td>
|
||||
<font size=+1>
|
||||
Your HackTV Box is downloading updates from zefie's server.
|
||||
Your HackTV Unit is downloading updates.
|
||||
<p>This may take a while.
|
||||
</font>
|
||||
<tr>
|
||||
@@ -40,7 +40,7 @@
|
||||
<br><br>
|
||||
<font color=white>
|
||||
<progressindicator name="downloadprogress"
|
||||
message="Checking for updates..."
|
||||
message="Preparing..."
|
||||
height=40 width=250>
|
||||
</font>
|
||||
</table>
|
||||
@@ -1,3 +1,4 @@
|
||||
200 OK
|
||||
Content-Type: text/url
|
||||
|
||||
client:ShowAlert?message=HackTV%20Update%20was%20successful%21&buttonlabel2=Go%20to%20HackTV&action2=file%3A%2F%2FDisk%2FBrowser%2FGames%2FGames.html&buttonlabel1=Okay&buttonaction1=client:goback&image=file://disk/browser/Games/hacktv2.gif&noback=true
|
||||
Reference in New Issue
Block a user