- numerous bug fixes - wtv-mail system - user account updates - viewergen alpha (experimental webtv viewer patcher on pc_service) - implement wtv-favorites with huge help from @JarHead4 - add wtv-ticket store api - Bump vm2 from 3.9.5 to 3.9.7 in /zefie_wtvp_minisrv - fix bf0app default rom - Add wtv-1800 service to wtv-1800:/noflash - handle webtvism: - allow get/post variables to be the same name multiple times - rather than overwrite, the server will now change the variable from a string to an array. - Rewrite script processing a bit - Instead of using eval() we now use a proper VM Context - As a result, any scripting errors will now give a more useful filename and line number. - However, some things may break, if they are dependant on variables we are not allowing in the context. - BREAKING CHANGES: - `ssid_sessions[socket.ssid]` is now `session_data` - `require` is no longer allowed in user scripts - add star service - change how we handle modules for services in the VM - fixed wtv-disk:/sync always failed the first time - implement production-like wtv-star handling (when a service port becomes unavailable, it requests the url over the wtv-star port to show an error page) - renamed WTVDownloadList.js to WTVDisk.js - a bit more work on WTVNews (created class) - probably more stuff I can't remember
94 lines
2.6 KiB
JavaScript
94 lines
2.6 KiB
JavaScript
var minisrv_service_file = true;
|
|
|
|
var WTVAdmin = require(classPath + "/WTVAdmin.js");
|
|
var wtva = new WTVAdmin(minisrv_config, session_data, service_name);
|
|
var auth = wtva.isAuthorized();
|
|
if (auth === true) {
|
|
var password = null;
|
|
if (request_headers.Authorization) {
|
|
var authheader = request_headers.Authorization.split(' ');
|
|
if (authheader[0] == "Basic") {
|
|
password = Buffer.from(authheader[1], 'base64').toString();
|
|
if (password) password = password.split(':')[1];
|
|
}
|
|
}
|
|
if (wtva.checkPassword(password)) {
|
|
headers = "200 OK\r\nContent-Type: text/html";
|
|
data = `<html>
|
|
<body>
|
|
<display nosave nosend>
|
|
<title>${minisrv_config.config.service_name} Admin Tricks</title>
|
|
<sidebar width=20%>
|
|
<img src="wtv-tricks:/images/Favorites_bg.jpg">
|
|
</sidebar>
|
|
<body bgcolor="#0a0a0a" text="#CC1111" link="#ff55ff" vlink="#ff55ff" vspace=0>
|
|
<font size="-1">
|
|
<br>
|
|
<br>
|
|
<h1>${minisrv_config.config.service_name} Admin Tricks</h1>
|
|
<br>
|
|
<table>
|
|
<tr>
|
|
<td colspan=3 height=6>
|
|
<tr>
|
|
<td width=170><a href="wtv-tricks:/tricks">Standard Tricks</a>
|
|
<td width=10>
|
|
<td><a href="wtv-admin:/findaccount">Account Lookup</a>
|
|
<tr>
|
|
<td colspan=3 height=6>
|
|
<tr>
|
|
<td><a href="wtv-admin:/ban">Ban an SSID</a>
|
|
<td width = 10>
|
|
<td><a href="wtv-admin:/deleteaccount">Delete an Account</a>
|
|
<tr>
|
|
<td colspan=3 height=6>
|
|
<tr>
|
|
<td><a href="wtv-admin:/unban">Unban an SSID</a>
|
|
<td width = 10>
|
|
<td><a href="wtv-admin:/deleteuser">Delete User from Account</a>
|
|
<tr>
|
|
<td colspan=3 height=6>
|
|
<tr>
|
|
<td><strike><a href="wtv-admin:/whitelist">Whitelist an SSID</a></strike>
|
|
<td width = 10>
|
|
<td><a href="wtv-admin:/removeuserpasswd">Remove Pass from User </a>
|
|
<tr>
|
|
<td colspan=3 height=6>
|
|
<tr>
|
|
<td><strike><a href="wtv-admin:/addadmin">Grant Admin to SSID</a></strike>
|
|
<td width = 10>
|
|
<td><strike><a href="wtv-admin:/modadmin">Modify Admin for SSID</a></strike>
|
|
<tr>
|
|
<td colspan=3 height=6>
|
|
<tr>
|
|
<td><a href="wtv-admin:/polyzoot">Polyzoot a User</a>
|
|
<td width = 10>
|
|
<td><a href="wtv-admin:/reloadconfig">Reload Config</a>
|
|
<tr>
|
|
<td colspan=3 height=6>
|
|
<tr>
|
|
<td><a href="wtv-admin:/regenfavs">Restore Favs for User</a>
|
|
<td width = 10>
|
|
<td><!-- TODO -->
|
|
<tr>
|
|
<td colspan=3 height=6>
|
|
<tr>
|
|
<td><!-- TODO -->
|
|
<td width = 10>
|
|
<td>
|
|
<!-- TODO -->
|
|
<td width = 10>
|
|
</table>
|
|
</body>
|
|
</html>
|
|
`;
|
|
} else {
|
|
var errpage = wtvshared.doErrorPage(401, "Please enter the administration password, you can leave the username blank.");
|
|
headers = errpage[0];
|
|
data = errpage[1];
|
|
}
|
|
} else {
|
|
var errpage = wtvshared.doErrorPage(403, auth);
|
|
headers = errpage[0];
|
|
data = errpage[1];
|
|
} |