- wtv-cookie support - further development will be in dev branch (may rebase alot) - compression not yet ready, leave it disabled - update: do not delete WTVSec on last socket, instead recreate on prereg - update: clean up SSID session data only if client is not seen for 3 minutes - update: add shouldWeCompress() function - update: tweak lzpf (still corrupted) - update: rename wtv-setup:/get to wtv-setup:/get-settings - update: add additional headers to wtv-setup:/get-settings - update: add initial blank wtv-music:/get-playlist - update wtv-tricks system - Info now shows Guest Mode or Subscriber Info - Implemented wtv-tricks:/unregister - Implemented wtv-tricks:/register - Show correct link in wtv-tricks:/tricks based on Guest Mode status - config.json: enable compression by default - WTVP does not use \r, so swapping the internal header's usage for now. May remove internal header in future update - lzpf: this doesn't fix anything but doesn't break it more either :) - renamed some functions - fixed some param documentation - added ConvertToBuffer function - WTVSec Updates - optimize WordArray to Buffer functions - update documentation in WTVSec - update WTVSec barrowed function in WTVLzpf - removed NewRC4Session, was a pointless alias to SecureOn
52 lines
2.0 KiB
JavaScript
52 lines
2.0 KiB
JavaScript
// write posted log data to disk. should be decrypted by this point (if it was encrypted) if the crypto stream didn't break
|
|
|
|
request_is_async = true;
|
|
data = '';
|
|
var fullpath = __dirname + "/ServiceLogPost/" + Math.floor(new Date().getTime() / 1000) + "_" + request_headers.query.type;
|
|
if (socket.ssid) fullpath += "_" + socket.ssid;
|
|
fullpath += ".txt";
|
|
|
|
fullpath = fullpath.replace(/\\/g, "/");
|
|
|
|
if (request_headers.post_data) {
|
|
headers = `200 OK
|
|
Connection: Keep-Alive
|
|
Content-length: 0`;
|
|
|
|
var logdata_outstring = '';
|
|
Object.keys(request_headers.query).forEach(function (k) {
|
|
logdata_outstring += k + "=" + request_headers.query[k].toString() + "\r\n";
|
|
});
|
|
logdata_outstring += "\r\n";
|
|
var logdata_outstring_hex = Buffer.from(logdata_outstring, 'utf8').toString('hex');
|
|
logdata_outstring_hex += request_headers.post_data.toString(CryptoJS.enc.Hex);
|
|
if (minisrv_config.services[service_name].write_logs_to_disk) {
|
|
fs.writeFile(fullpath, logdata_outstring_hex, "Hex", function () {
|
|
if (!zquiet) console.log(" * Wrote POST log data from", filterSSID(socket.ssid), "for", socket.id);
|
|
sendToClient(socket, headers, data);
|
|
});
|
|
} else {
|
|
sendToClient(socket, headers, data);
|
|
}
|
|
|
|
} else {
|
|
headers = `200 OK
|
|
Connection: Keep-Alive
|
|
Content-length: 0`;
|
|
|
|
var logdata_outstring = '';
|
|
Object.keys(request_headers.query).forEach(function (k) {
|
|
logdata_outstring += k + "=" + request_headers.query[k].toString() + "\r\n";
|
|
});
|
|
var logdata_outstring_hex = Buffer.from(logdata_outstring, 'utf8').toString('hex');
|
|
if (minisrv_config.services[service_name].write_logs_to_disk) {
|
|
fs.writeFile(fullpath, logdata_outstring_hex, "Hex", function () {
|
|
if (!zquiet) console.log(" * Wrote GET log data from", filterSSID(socket.ssid), "for", socket.id);
|
|
sendToClient(socket, headers, data);
|
|
});
|
|
} else {
|
|
sendToClient(socket, headers, data);
|
|
}
|
|
}
|
|
|