somewhat guest login
This commit is contained in:
@@ -1,36 +1,29 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGSTCCBTGgAwIBAgIQlHjGEAhkTTLRsnsDQ/FBODANBgkqhkiG9w0BAQUFADBw
|
||||
MIIFCzCCA/OgAwIBAgIQdCYWD0et5QHOJ3OYuF0r2TANBgkqhkiG9w0BAQUFADBw
|
||||
MQswCQYDVQQGEwJVUzELMAkGA1UECAwCT0gxEzARBgNVBAcMCkJ1dHQgQ3JhY2sx
|
||||
IDAeBgNVBAoMF1VuZGVyd2VhciBJbnNwZWN0b3IgIzEyMR0wGwYDVQQLDBRUaGlu
|
||||
ZyBMb29rZXIgRXhwZXJ0czAeFw0yNjA0MzAxMjI0MzFaFw00MTA0MjcxMjI0MzFa
|
||||
MD4xFjAUBgNVBAMTDWVwaXgueGJveC5jb20xFzAVBgNVBAoTDlplZmllIE5ldHdv
|
||||
cmtzMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
||||
ALcVrQ2E2OiR8JJ2WFZVvrN1hrM2vusykN/59GZ5DuIQEQlDC3UZw0Utu/gnTwqh
|
||||
GScJ2xkCrW2znTl/Dnst2sppy+PghIJBORM/M5CViKuSezpekribgUBFUbF9udSF
|
||||
WqfdEnxwd51v/hVS753hL2pT+BbzMgalAmxGFLREf1Hu4loQu9bo8I8hhwFRCTd1
|
||||
JMqQ8QMxG5l+tV6u52SwDWAkMdSL9Tqh0mun38hhZWUCkGCCSpjUmL2PzWfdH7K1
|
||||
GXw+VtA48gidkjahChlNuuMu7w2fJdbfZtSITYimd5yQ19sStlr5lZ/tNyHOvokL
|
||||
xBZ4HUSk9xePKyVe2s1nEU0CAwEAAaOCAw8wggMLMAkGA1UdEwQCMAAwCwYDVR0P
|
||||
BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMIIC2gYDVR0RBIIC0TCCAs2CDWVw
|
||||
aXgueGJveC5jb22CEXhlYXMueGJveGxpdmUuY29tgg14ZWFzLnhib3guY29tghJ4
|
||||
ZXRncy54Ym94bGl2ZS5jb22CD2FzLnhib3hsaXZlLmNvbYIUYXMucGFydC54Ym94
|
||||
bGl2ZS5jb22CEHRncy54Ym94bGl2ZS5jb22CFXRncy5wYXJ0Lnhib3hsaXZlLmNv
|
||||
bYITeGVtYWNzLnhib3hsaXZlLmNvbYIRbWFuaWZlc3QueGJveC5jb22CEW1hY3Mu
|
||||
eGJveGxpdmUuY29tghZtYWNzLnBhcnQueGJveGxpdmUuY29tghdwaWZsYy5wYXJ0
|
||||
Lnhib3hsaXZlLmNvbYIQZXBsaXN0cy54Ym94LmNvbYIScGlmbGMueGJveGxpdmUu
|
||||
Y29tghBiZWFjb25zLnhib3guY29tghlzZzQudHJ1c3RlZC5tc250di5tc24uY29t
|
||||
ghlzZzMudHJ1c3RlZC5tc250di5tc24uY29tghlzZzIudHJ1c3RlZC5tc250di5t
|
||||
c24uY29tghlzZzEudHJ1c3RlZC5tc250di5tc24uY29tgg1tc250di5tc24uY29t
|
||||
ghZtYWlsLnNlcnZpY2VzLmxpdmUuY29tgiBoZWFkd2FpdGVyLnRydXN0ZWQubXNu
|
||||
dHYubXNuLmNvbYIec3luYy1zZzEudHJ1c3RlZC5tc250di5tc24uY29tgg5sb2dp
|
||||
bi5saXZlLmNvbYIRcG9wdGltaXplLm1zbi5jb22CEWZhdm9yaXRlcy5tc24uY29t
|
||||
ghFtZXNzZW5nZXIubXNuLmNvbYIRbGl2ZWZpbGVzdG9yZS5jb22CFnVzZXJzLnN0
|
||||
b3JhZ2UubGl2ZS5jb22CCWcubXNuLmNvbYIXbXNuaWFsb2dpbi5wYXNzcG9ydC5j
|
||||
b22CEGNsb3VkLnJlZml2ZS5kZXaCE3Byb2Qucm9zLnJlZml2ZS5kZXYwDQYJKoZI
|
||||
hvcNAQEFBQADggEBACKaL3Pl9893HrDj6mAM5Ac3qoD0wCfxws8H7oiabzHr4PgA
|
||||
rZKoV8NS5qwoi1B1Tr/EZJct0gtjBdp+x8GRZ3j+UgkPhTEi32kXG8HLDRaaXIhW
|
||||
i7LpjMs3zk6uATXNuPfjuFs6yh66H8Qj44MXgYT66xLLVKYsrm2CSjDiajfhpr5x
|
||||
HL2oEJUJfqoGTxaxz8zAdiDCVjTkJ0zxyv6vGsVo0TgVggOEfJiYMSqBlJ/j7wBj
|
||||
+mfRsB8d735QhJOMdABMDLj0DIG6HoMM2gvR2ayeuTtSf1x36doyadDmNYDXyIqI
|
||||
Vica5k3jkRJ/4IIBf8Ghakh1e+4r6hI692sxePA=
|
||||
ZyBMb29rZXIgRXhwZXJ0czAeFw0yNjA1MDEwMjMzMDhaFw00MTA0MjgwMjMzMDha
|
||||
MFExKTAnBgNVBAMTIGhlYWR3YWl0ZXIudHJ1c3RlZC5tc250di5tc24uY29tMRcw
|
||||
FQYDVQQKEw5aZWZpZSBOZXR3b3JrczELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3
|
||||
DQEBAQUAA4IBDwAwggEKAoIBAQCpSe+Vpv9qwb5aDgMNfWRTeXAGvTzhP+olLX+J
|
||||
2WczAXr4FUSLE4LPyD43se26u4GBvGmKD9512/GZKCtMbKPmfBdIqeq/CF2gx8xh
|
||||
e55qF8OuOdxMukOLXsTmvf4slwp3/N6gyze/PMmX+ku/gbotwPL0sv/9Vf1+PVTY
|
||||
6Fje2EU0ra6xJADeL9gazdl6QBxiJ+py+49SiZMS8N4MICOfklykENmjDoM211W6
|
||||
mIRgRZebxijNiZNFeWeXzjxzAAWi701TDs8ksNHSRBG2pajDZ+XgB8D1T+yXWbPz
|
||||
zylePg6HlG8n+asd43wakF8aER26eCT5hyCb4+SkkRClRXLHAgMBAAGjggG+MIIB
|
||||
ujAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATCC
|
||||
AYkGA1UdEQSCAYAwggF8giBoZWFkd2FpdGVyLnRydXN0ZWQubXNudHYubXNuLmNv
|
||||
bYIZc2cxLnRydXN0ZWQubXNudHYubXNuLmNvbYIZc2cyLnRydXN0ZWQubXNudHYu
|
||||
bXNuLmNvbYIZc2czLnRydXN0ZWQubXNudHYubXNuLmNvbYIZc2c0LnRydXN0ZWQu
|
||||
bXNudHYubXNuLmNvbYINbXNudHYubXNuLmNvbYIWbWFpbC5zZXJ2aWNlcy5saXZl
|
||||
LmNvbYIec3luYy1zZzEudHJ1c3RlZC5tc250di5tc24uY29tgg5sb2dpbi5saXZl
|
||||
LmNvbYIRcG9wdGltaXplLm1zbi5jb22CEWZhdm9yaXRlcy5tc24uY29tghFtZXNz
|
||||
ZW5nZXIubXNuLmNvbYIRbGl2ZWZpbGVzdG9yZS5jb22CFnVzZXJzLnN0b3JhZ2Uu
|
||||
bGl2ZS5jb22CCWcubXNuLmNvbYIXbXNuaWFsb2dpbi5wYXNzcG9ydC5jb22CDW1p
|
||||
bmlzcnYubG9jYWwwDQYJKoZIhvcNAQEFBQADggEBAD9O6j8bWtsX9OGf0kT3u1dy
|
||||
n6F+MQWX+vI4C9131Nso7cf7/+FyPcg17ewKw1MJ33ZpzCqhupAnN1lZPikGnl+t
|
||||
VacegsqI2mX1ycD11s1EleobHLc28uEQHDd79Dwn6fA2/EOijyqsILJHB6kzLjH6
|
||||
DV/sapv4JtNMlKDjfHDhtiI2jtpYTfkoZqjs7WsNmaJBcJ/NgTtl3hFSMiN/MLQ0
|
||||
O9wyrvNheINIJ01trpcgLDpmwCG0lYoa8AOdRZccl0KR7IsdVBcV1ANFguepQXI5
|
||||
dc/VJcFWsYs0puGdhPPZHgiZV4pzmfU+rCM/AoNxDdRBrVSal6Um5YyhlmFtobA=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
||||
@@ -1,26 +1,10 @@
|
||||
epix.xbox.com
|
||||
xeas.xboxlive.com
|
||||
xeas.xbox.com
|
||||
xetgs.xboxlive.com
|
||||
as.xboxlive.com
|
||||
as.part.xboxlive.com
|
||||
tgs.xboxlive.com
|
||||
tgs.part.xboxlive.com
|
||||
xemacs.xboxlive.com
|
||||
manifest.xbox.com
|
||||
macs.xboxlive.com
|
||||
macs.part.xboxlive.com
|
||||
piflc.part.xboxlive.com
|
||||
eplists.xbox.com
|
||||
piflc.xboxlive.com
|
||||
beacons.xbox.com
|
||||
sg4.trusted.msntv.msn.com
|
||||
sg3.trusted.msntv.msn.com
|
||||
sg2.trusted.msntv.msn.com
|
||||
headwaiter.trusted.msntv.msn.com
|
||||
sg1.trusted.msntv.msn.com
|
||||
sg2.trusted.msntv.msn.com
|
||||
sg3.trusted.msntv.msn.com
|
||||
sg4.trusted.msntv.msn.com
|
||||
msntv.msn.com
|
||||
mail.services.live.com
|
||||
headwaiter.trusted.msntv.msn.com
|
||||
sync-sg1.trusted.msntv.msn.com
|
||||
login.live.com
|
||||
poptimize.msn.com
|
||||
@@ -30,5 +14,4 @@ livefilestore.com
|
||||
users.storage.live.com
|
||||
g.msn.com
|
||||
msnialogin.passport.com
|
||||
cloud.refive.dev
|
||||
prod.ros.refive.dev
|
||||
minisrv.local
|
||||
@@ -15,7 +15,7 @@ if (BoxId) {
|
||||
} else {
|
||||
sessionId = encodeSessionID(BoxId);
|
||||
}
|
||||
} else if (request_headers.cookie.SessionID) {
|
||||
} else if (request_headers.cookie && request_headers.cookie.SessionID) {
|
||||
BoxID = decodeSessionID(request_headers.cookie.SessionID);
|
||||
sessionId = request_headers.cookie.SessionID;
|
||||
} else {
|
||||
@@ -77,6 +77,7 @@ data = `<html>
|
||||
try {
|
||||
var tvShell = new ActiveXObject("MSNTV.TVShell");
|
||||
var sink = new ActiveXObject("MSNTV.MultipleEventSink");
|
||||
|
||||
function getIDCRLCode(value) {
|
||||
return value & 0xFFFF;
|
||||
}
|
||||
@@ -89,6 +90,12 @@ data = `<html>
|
||||
|
||||
var banned = ${banned}; // JavaScript boolean value
|
||||
|
||||
if (!banned) {
|
||||
var BuiltinServiceList = tvShell.BuiltinServiceList;
|
||||
var entry = BuiltinServiceList.Add("connection::login");
|
||||
entry.URL = "https://headwaiter.trusted.msntv.msn.com/connection/boxcheck.html?BoxId=${BoxId}";
|
||||
}
|
||||
|
||||
function DoLogin() {
|
||||
var currentUser = tvShell.UserManager.CurrentUser;
|
||||
|
||||
@@ -184,7 +191,7 @@ data = `<html>
|
||||
}
|
||||
|
||||
function GoToUserCheck() {
|
||||
var url = banned ? 'https://sg1.trusted.msntv.msn.com/connection/banned.html' : 'https://sg1.trusted.msntv.msn.com/connection/usercheck.aspx';
|
||||
var url = banned ? 'https://headwaiter.trusted.msntv.msn.com/connection/banned.html' : 'https://headwaiter.trusted.msntv.msn.com/connection/login.aspx';
|
||||
var myPanel = tvShell.PanelManager.Item('service');
|
||||
if (myPanel) myPanel.GotoURL(url);
|
||||
}
|
||||
@@ -27,7 +27,7 @@ data = `<HTML>
|
||||
}
|
||||
}
|
||||
function GotoBoxCheck() {
|
||||
var url = 'https://sg1.trusted.msntv.msn.com/connection/boxcheck.html';
|
||||
var url = 'https://headwaiter.trusted.msntv.msn.com/connection/boxcheck.html';
|
||||
var parms='';
|
||||
parms += 'BoxId=' + tvShell.SystemInfo.BoxIDService + '&';
|
||||
parms += 'WANProvider=' + tvShell.ConnectionManager.WANProvider + '&';
|
||||
@@ -67,7 +67,7 @@ data = `<HTML>
|
||||
}
|
||||
else {
|
||||
tvShell.MeteringManager.Stop();
|
||||
SetProgress('Hello, New User.', 10);
|
||||
SetProgress('Please wait while we sign you into MSN TV.', 10);
|
||||
GotoBoxCheck();
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
const minisrv_service_file = true;
|
||||
|
||||
// Todo: auth if not guest
|
||||
|
||||
headers = `Content-type: text/html`;
|
||||
|
||||
data = `<html>
|
||||
<head>
|
||||
<title id="title"></title>
|
||||
</head>
|
||||
<body>
|
||||
<iframe id="checkmail" style="display:none"></iframe>
|
||||
<script language="javascript">
|
||||
var tvShell = new ActiveXObject("MSNTV.TVShell");
|
||||
var UserManager = tvShell.UserManager;
|
||||
|
||||
var home = "https://sg1.trusted.msntv.msn.com/Home/Home.aspx";
|
||||
tvShell.ConnectionManager.ServiceState = 'Authorized';
|
||||
UserManager.SetCurrentUserIsAuthorized(true);
|
||||
var currentUser = UserManager.CurrentUser;
|
||||
if (currentUser != null) {
|
||||
currentUser.IsAuthorized = true;
|
||||
}
|
||||
var myPanel = tvShell.PanelManager.Item('main');
|
||||
if (myPanel) {
|
||||
myPanel.ClearTravelLog();
|
||||
myPanel.NoBackToMe = true;
|
||||
myPanel.GotoURL(home);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>`;
|
||||
@@ -11,13 +11,43 @@ headers = `Status: 200 OK
|
||||
Content-type: text/html`;
|
||||
|
||||
data = `<HTML xmlns:msntv>
|
||||
<?import namespace="msntv" implementation="https://sg1.trusted.msntv.msn.com/HTC/CustomButton.htc">
|
||||
<?import namespace="msntv" implementation="https://sg1.trusted.msntv.msn.com/Include/HTC/Shared/CustomButton.htc">
|
||||
<HEAD>
|
||||
<title id="title">Login to Passport</title>
|
||||
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
|
||||
<link rel="stylesheet" type="text/css" href="msntv:/Registration/css/Registration.css">
|
||||
<script src="/Include/2.0.261.778/localhost-1700/Shared/BaseClient/JsTransforms/en-us/PaneHelp.js" language="javascript" defer="true"></script>
|
||||
<script src="/Include/2.0.261.778/localhost-1700/Shared/Anduril/JsTransforms/en-us/Scripts.js" language="javascript"></script>
|
||||
<script src="msntv:/Javascript/TVShell.js" language="javascript"></script>
|
||||
<script src="msntv:/Javascript/GuestUser.js" language="javascript"></script>
|
||||
<script src="msntv:/Javascript/ServiceList.js" language="javascript"></script>
|
||||
<script language="javascript">
|
||||
function handleGuest() {
|
||||
if (!GuestUserExists()) {
|
||||
InitializeGuestMode();
|
||||
var PersistentProperties = TVShell.Property("Persistent/");
|
||||
|
||||
if (!PersistentProperties) {
|
||||
return;
|
||||
}
|
||||
|
||||
PersistentProperties.Add("GuestMode", "Guest");
|
||||
PersistentProperties.Save();
|
||||
|
||||
AddGuestUser();
|
||||
var signon = TVShell.BuiltinServiceList.Item("SignOn");
|
||||
var panel = TVShell.PanelManager.FocusedPanel;
|
||||
var atLogin = false;
|
||||
if ( signon && panel && panel.Name == "main" )
|
||||
{
|
||||
if ( IsMainPanelOnPage( signon.URL ) ) atLogin = true;
|
||||
}
|
||||
}
|
||||
if (!atLogin) {
|
||||
GotoSignOn();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<STYLE>
|
||||
body {
|
||||
background-image: url(msntv:/Registration/images/bgimage.jpg);
|
||||
@@ -46,8 +76,13 @@ data = `<HTML xmlns:msntv>
|
||||
<tr style="margin: 0; padding: 0; top: 2px; position: relative;">
|
||||
<td style="margin: 0; padding: 0; vertical-align: middle; top: 2px; position: relative;"><img src="msntv:/Shared/Images/BulletCustom.gif" height="14" width="7" alt="Bullet"></td>
|
||||
<td style="margin: 0; padding: 0; width: 4px;"></td>
|
||||
<td style="margin: 0; padding: 0; font:bold 18; line-height: 20px;"><a class="shrLnk2" href="/Register/minisrv-import.asx" style="display: inline-block; line-height: 20px;">I want to use my existing minisrv account</a> (TODO)</td>
|
||||
<td style="margin: 0; padding: 0; font:bold 18; line-height: 20px;"><a class="shrLnk2" href="/Register/Login-to-WebTV.aspx" style="display: inline-block; line-height: 20px;">I want to use my existing minisrv account</a> (TODO)</td>
|
||||
</tr>
|
||||
<tr style="margin: 0; padding: 0; top: 2px; position: relative;">
|
||||
<td style="margin: 0; padding: 0; vertical-align: middle; top: 2px; position: relative;"><img src="msntv:/Shared/Images/BulletCustom.gif" height="14" width="7" alt="Bullet"></td>
|
||||
<td style="margin: 0; padding: 0; width: 4px;"></td>
|
||||
<td style="margin: 0; padding: 0; font:bold 18; line-height: 20px;"><a class="shrLnk2" onclick="handleGuest()" style="display: inline-block; line-height: 20px;">I want to sign in as a guest</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</DIV>
|
||||
|
||||
@@ -76,17 +76,16 @@ data = `<html xmlns:msntv>
|
||||
|
||||
<script>
|
||||
var tvShell = new ActiveXObject("MSNTV.TVShell");
|
||||
tvShell.UserManager.SetCurrentUserIsAuthorized(true);
|
||||
tvShell.ConnectionManager.ServiceState = 'Authorized';
|
||||
tvShell.UserManager.SetCurrentUserIsAuthorized(false);
|
||||
|
||||
function AddUser() {
|
||||
var user = tvShell.UserManager.AddNew("${username}");
|
||||
|
||||
if (user) {
|
||||
user.IsPersistent = false;
|
||||
user.IsPersistent = true;
|
||||
} else {
|
||||
user = tvShell.UserManager.Item("${username}");
|
||||
if (user && user.IsPersistent) {
|
||||
if (user && !user.IsPersistent) {
|
||||
user.IsPersistent = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,17 +32,20 @@ data = `<HTML xmlns:msntv>
|
||||
<BODY width="520" height="388">
|
||||
<DIV id="title">Logging into your account</DIV>
|
||||
<DIV id="main">
|
||||
<p>When using MSN TV, you will be using your webtv.net account
|
||||
to sign in. If you already have a email to WebTV, you can
|
||||
use it with MSN TV. If not, you will have to use a Hotmail or MSN address.</p>
|
||||
<p>When using MSNTV2, you can access the same minisrv account as your WebTV.</p>
|
||||
<br>
|
||||
<p>Type your WebTV e-mail in the box below:</p>
|
||||
<p>Type your existing primary username in the box below:</p>
|
||||
<div class="input-container">
|
||||
<textarea name="textarea1" id="textarea1" rows="1" cols="15"></textarea>
|
||||
<p style="display: inline;">@webtv.net</p>
|
||||
<textarea name="username" id="username" rows="1" cols="15"></textarea>
|
||||
<p style="display: inline;">@${minisrv_config.config.service_name}</p>
|
||||
</div>
|
||||
<br>
|
||||
<a>If you don't have a WebTV account, select the <EM>Back</EM> Button.</a>
|
||||
<div class="input-container">
|
||||
<textarea name="password" id="password" rows="1" cols="15"></textarea>
|
||||
</div>
|
||||
<br>
|
||||
If you don't have an existing minisrv account, select the <EM>Back</EM> Button.
|
||||
If you do not have a password set on your primary user account, you will need to set one up on your WebTV before you can log in here. After entering your username and password, select the <EM>Continue</EM> Button.
|
||||
</DIV>
|
||||
<div id="footer">
|
||||
<msntv:CustomButton id="continue" label="Continue" href="/Register/ConnectionType.aspx"/>
|
||||
|
||||
@@ -500,7 +500,7 @@
|
||||
"port": 1694,
|
||||
"connections": 3,
|
||||
"flags": "0x00000001",
|
||||
"protocol": "HTTP",
|
||||
"protocol": "HTTPS",
|
||||
"privileged": true,
|
||||
"handler_module": "WTV-MSNTV2",
|
||||
"handler_handles_port": true,
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
'use strict';
|
||||
const path = require('path');
|
||||
const classPath = path.resolve(__dirname + path.sep + "includes" + path.sep + "classes" + path.sep) + path.sep; require(classPath + "Prototypes.js");
|
||||
const { WTVShared } = require(classPath + "/WTVShared.js");
|
||||
const wtvshared = new WTVShared(null, true);
|
||||
const fs = require('fs');
|
||||
|
||||
function showUsage() {
|
||||
console.log(" * Usage:", process.argv[0], process.argv[1], "<file to CompB64>");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (process.argv) {
|
||||
if (process.argv[2]) {
|
||||
let reverse = false;
|
||||
let file = process.argv[2];
|
||||
if (file === "-d") {
|
||||
file = process.argv[3];
|
||||
reverse = true;
|
||||
}
|
||||
if (fs.existsSync(file)) {
|
||||
console.log(` * Processing ${file} ...`)
|
||||
if (reverse) {
|
||||
const outfile = file.replace(/\.cb64\.txt/,'') + ".dec.txt";
|
||||
const encodedData = fs.readFileSync(file);
|
||||
const rawdata = wtvshared.unpackCompressedB64(encodedData);
|
||||
try {
|
||||
fs.writeFileSync(outfile, rawdata);
|
||||
console.log(` * Successfully decoded into ${outfile}`)
|
||||
} catch (e) {
|
||||
console.error("Error processing file:", e)
|
||||
process.exit(1);
|
||||
}
|
||||
} else {
|
||||
const outfile = file + ".cb64.txt";
|
||||
const rawdata = fs.readFileSync(file);
|
||||
const encodedData = wtvshared.packCompressedB64(rawdata);
|
||||
try {
|
||||
fs.writeFileSync(outfile, encodedData);
|
||||
console.log(` * Successfully encoded into ${outfile}`)
|
||||
} catch (e) {
|
||||
console.error("Error processing file:", e)
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.error(` * Could not find file ${file}`)
|
||||
showUsage();
|
||||
}
|
||||
} else {
|
||||
showUsage();
|
||||
}
|
||||
} else {
|
||||
showUsage();
|
||||
}
|
||||
@@ -1,123 +0,0 @@
|
||||
// no wildcard (yet?)
|
||||
const groups_to_sync = [
|
||||
"webtv.users"
|
||||
]
|
||||
|
||||
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const crypto = require('crypto');
|
||||
let classPath = __dirname + "/includes/";
|
||||
const { WTVShared } = require(classPath + "WTVShared.js");
|
||||
const wtvshared = new WTVShared(); // creates minisrv_config
|
||||
classPath = wtvshared.getAbsolutePath(classPath, __dirname);
|
||||
const minisrv_config = wtvshared.getMiniSrvConfig();
|
||||
const WTVNews = require(classPath + "/WTVNews.js");
|
||||
const WTVNewsServer = require(classPath + "/WTVNewsServer.js");
|
||||
const data_path = wtvshared.getAbsolutePath(minisrv_config.config.SessionStore + '/minisrv_internal_nntp');
|
||||
const service_name = "wtv-news";
|
||||
|
||||
if (!minisrv_config.services[service_name].upstream_address) {
|
||||
console.error("minisrv config not configured with usenet upstream");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (!minisrv_config) {
|
||||
console.error("Something went wrong loading minisrv config");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (!minisrv_config.config.debug_flags.quiet) console.log(" *** Successfully read minisrv configuration....");
|
||||
|
||||
|
||||
const service_config = minisrv_config.services[service_name];
|
||||
const wtvnewsserver = new WTVNewsServer(minisrv_config, minisrv_config.services['wtv-news'].local_server_port, false, null, null, false);
|
||||
|
||||
const wtvnews = new WTVNews(minisrv_config, service_name);
|
||||
|
||||
if (service_config.upstream_auth) {
|
||||
wtvnews.initializeUsenet(service_config.upstream_address, service_config.upstream_port, service_config.upstream_tls || null, service_config.upstream_auth.username || null, service_config.upstream_auth.password || null);
|
||||
} else {
|
||||
wtvnews.initializeUsenet(service_config.upstream_address, service_config.upstream_port, service_config.upstream_tls || null);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function verifyMessage(group, articleNumber, article) {
|
||||
const g = wtvnewsserver.getGroupPath(group);
|
||||
const file = g + path.sep + articleNumber + ".newz";
|
||||
if (!fs.existsSync(file)) return false;
|
||||
const old_data = fs.readFileSync(file);
|
||||
const new_data = JSON.stringify(article.article);
|
||||
|
||||
const old_data_hash = crypto.createHash('md5').update(old_data).digest("hex");
|
||||
const new_data_hash = crypto.createHash('md5').update(new_data).digest("hex");
|
||||
return (old_data_hash === new_data_hash);
|
||||
}
|
||||
|
||||
function deleteMissing(group, articles) {
|
||||
const g = wtvnewsserver.getGroupPath(group);
|
||||
try {
|
||||
fs.readdirSync(g).forEach(file => {
|
||||
const articleNumber = parseInt(file.split('.')[0]);
|
||||
file = g + path.sep + file;
|
||||
if (!articles.find(e => (e === articleNumber))) {
|
||||
console.log(" * ", group, "article", articleNumber, "deleted from upstream, removing locally")
|
||||
fs.rmSync(file);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
wtvnews.connectUsenet().then((res) => {
|
||||
if (res) {
|
||||
groups_to_sync.forEach((group) => {
|
||||
console.log(group);
|
||||
wtvnews.selectGroup(group).then((res) => {
|
||||
const range = {
|
||||
start: res.group.low,
|
||||
end: res.group.high
|
||||
}
|
||||
wtvnews.listGroup(group, null, null, range).then((res) => {
|
||||
if (res.group.articleNumbers) {
|
||||
const promises = [];
|
||||
wtvnewsserver.createGroup(group);
|
||||
const meta = wtvnewsserver.getMetadata(group);
|
||||
meta.last_article_id = res.group.high;
|
||||
wtvnewsserver.saveMetadata(group, meta);
|
||||
//deleteMissing(group, res.group.articleNumbers)
|
||||
res.group.articleNumbers.forEach((article) => {
|
||||
promises.push(new Promise((resolve, reject) => {
|
||||
wtvnews.getArticle(article, false).then((message) => {
|
||||
res = wtvnewsserver.createArticle(group, article, message);
|
||||
if (res) {
|
||||
if (res === "exists") {
|
||||
console.log(" * ", group, "article", article, "already exists")
|
||||
} else {
|
||||
console.log(" * Created", group, "article", article, res)
|
||||
}
|
||||
resolve(true)
|
||||
} else {
|
||||
console.log(" ! Failed to create file for ", group, "article", article, "with error", res);
|
||||
resolve(false)
|
||||
}
|
||||
});
|
||||
}));
|
||||
})
|
||||
Promise.all(promises).then(() => {
|
||||
wtvnews.quitUsenet();
|
||||
process.exit(0);
|
||||
});
|
||||
} else {
|
||||
wtvnews.quitUsenet();
|
||||
}
|
||||
})
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
@@ -5,8 +5,8 @@ const path = require('path');
|
||||
const forge = require('node-forge');
|
||||
|
||||
const workspaceRoot = __dirname;
|
||||
const httpsDir = path.join(workspaceRoot, 'includes', 'ServiceDeps', 'https');
|
||||
const msnDir = path.join(workspaceRoot, 'includes', 'ServiceDeps', 'msntv2');
|
||||
const httpsDir = path.join(workspaceRoot, '..', 'includes', 'ServiceDeps', 'https');
|
||||
const msnDir = path.join(workspaceRoot, '..', 'includes', 'ServiceDeps', 'msntv2');
|
||||
const domainsFile = path.join(msnDir, 'msn_domains.txt');
|
||||
|
||||
const defaultCaCertPath = path.join(msnDir, 'msntv2.crt');
|
||||
@@ -7,9 +7,9 @@ const pcap = require('pcap-parser');
|
||||
const zlib = require('zlib');
|
||||
|
||||
// Import our WebTV classes
|
||||
const WTVSec = require('./includes/classes/WTVSec.js');
|
||||
const WTVShared = require('./includes/classes/WTVShared.js')['WTVShared'];
|
||||
const LZPF = require('./includes/classes/LZPF.js');
|
||||
const WTVSec = require('../includes/classes/WTVSec.js');
|
||||
const WTVShared = require('../includes/classes/WTVShared.js')['WTVShared'];
|
||||
const LZPF = require('../includes/classes/LZPF.js');
|
||||
|
||||
/**
|
||||
* PCAP Packet Parser for WebTV/WTVP Protocol
|
||||
@@ -24,7 +24,7 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const WTVImage = require('./includes/classes/WTVImage');
|
||||
const WTVImage = require('../includes/classes/WTVImage');
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Argument parser
|
||||
Reference in New Issue
Block a user