diff --git a/.gitignore b/.gitignore index 8694ade3..09433d2a 100644 --- a/.gitignore +++ b/.gitignore @@ -361,13 +361,13 @@ MigrationBackup/ # Fody - auto-generated XML schema FodyWeavers.xsd -/zefie_wtvp_minisrv/ServiceVault/wtv-home/6969.html /zefie_wtvp_minisrv/user_config.json -/zefie_wtvp_minisrv/ServiceVault/wtv-home/home.zefie.html -/zefie_wtvp_minisrv/UserServiceVault/*-*/ -/zefie_wtvp_minisrv/UserTemplates/*-*/ +/zefie_wtvp_minisrv/UserServiceVault/* +/zefie_wtvp_minisrv/UserServiceDeps/* /zefie_wtvp_minisrv/ServiceLogPost/*.log -/zefie_wtvp_minisrv/SessionStore/*.json -/zefie_wtvp_minisrv/SessionStore/*/ +/zefie_wtvp_minisrv/SessionStore/* /zefie_wtvp_minisrv/ServiceVault/http_pc/viewergen/viewers/HackTV.zip /zefie_wtvp_minisrv/postest.js +/zefie_wtvp_minisrv/PageBuilderVault/http_pb/* +!/zefie_wtvp_minisrv/PageBuilderVault/http_pb/clipart +!*.gitkeep diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 00000000..1ac8875a --- /dev/null +++ b/CREDITS.md @@ -0,0 +1,6 @@ +The following people have helped contribute towards making minisrv what it is today: + +- eMac - Lzpf and Encryption code +- [MattMan69](https://github.com/GraspYonOx) - Templates and resources, testing +- [Jarhead](https://github.com/JarHead4) - wtv-favorites, wtv-author (Page Builder), wtv-guide, and some wtv-setup templates +- [Sgeo](https://github.com/Sgeo) - wtv-viewer sound patch diff --git a/README.md b/README.md index 56454b04..0db214e1 100644 --- a/README.md +++ b/README.md @@ -66,3 +66,5 @@ This open source server is in beta status. Use at your own risk. - [CashApp $altimit](https://cash.app/$altimit) - Chime: $zefie - [Credit Card or PayPal (powered by StreamElements)](https://zef.pw/ttv-tip) + - [Sign up for a service via a referal link](https://zefie.tv/#ad) + diff --git a/user_config_README.md b/user_config_README.md index 83f8ebe7..02caeef6 100644 --- a/user_config_README.md +++ b/user_config_README.md @@ -22,11 +22,6 @@ If you would like to see debug information about realtime bytes received from a "allow_guests": false ``` If you would like to require registration, disabling guest mode, you can set `allow_guests` to `false`. Default is `true`; -``` - "pc_server_hidden_service_enabled": false, - "pc_server_hidden_service": "http_pc" -``` -Set `pc_server_hidden_service_enabled` option to `true` to enable the HTTP Server for Browsers. Set `pc_server_hidden_service` to a directory under the ServiceVaults to use solely for PC requests. See `ServiceVault/http_pc` for some example code. ``` "post_percentages": [ 0, 25, 50, 100] ``` diff --git a/zefie_wtvp_minisrv/.gitignore b/zefie_wtvp_minisrv/.gitignore index 9e819338..71cc8aff 100644 --- a/zefie_wtvp_minisrv/.gitignore +++ b/zefie_wtvp_minisrv/.gitignore @@ -373,6 +373,9 @@ FodyWeavers.xsd # minisrv error log file errors.log +<<<<<<< HEAD # PageBuilder Vault PageBuilderVault/http_pb/* -!PageBuilderVault/http_pb/clipart \ No newline at end of file +!PageBuilderVault/http_pb/clipart +======= +>>>>>>> dev diff --git a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/Cat/clipart/Animals/Cats_n_Dogs/an00891_.gif b/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/Cat/clipart/Animals/Cats_n_Dogs/an00891_.gif deleted file mode 100644 index 61c15086..00000000 Binary files a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/Cat/clipart/Animals/Cats_n_Dogs/an00891_.gif and /dev/null differ diff --git a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/Cat/clipart/styleMedia/CAT.gif b/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/Cat/clipart/styleMedia/CAT.gif deleted file mode 100644 index 1e25336b..00000000 Binary files a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/Cat/clipart/styleMedia/CAT.gif and /dev/null differ diff --git a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/Cat/index.html b/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/Cat/index.html deleted file mode 100644 index ef40c76e..00000000 --- a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/Cat/index.html +++ /dev/null @@ -1,70 +0,0 @@ - - - -Cat - - - -
-Cat
- - - - -

- - - - - - -
- -

-Cat -

-
-
- -
-
is cool -
-

 

- - - - - - - - - - - - - - -
- - - - - -
-
-
- - - -
- -Powered by WebTV -
-
- - -
-
- - -
\ No newline at end of file diff --git a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/index.html b/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/index.html deleted file mode 100644 index 06ac68f3..00000000 --- a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/index.html +++ /dev/null @@ -1,56 +0,0 @@ - - - -WebTV_88150 - - - - - - - -
-
-
-Pages of WebTV_88150 -
-
- - - - -
-test - -
-test description -
-
-
- - - - -
-Cat - -
-meow -
-
-
- - \ No newline at end of file diff --git a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/test/clipart/Business/BS00095_.gif b/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/test/clipart/Business/BS00095_.gif deleted file mode 100644 index aafd41cd..00000000 Binary files a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/test/clipart/Business/BS00095_.gif and /dev/null differ diff --git a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/test/clipart/styleMedia/spacefield.gif b/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/test/clipart/styleMedia/spacefield.gif deleted file mode 100644 index 37901d66..00000000 Binary files a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/test/clipart/styleMedia/spacefield.gif and /dev/null differ diff --git a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/test/index.html b/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/test/index.html deleted file mode 100644 index ab48305d..00000000 --- a/zefie_wtvp_minisrv/PageBuilderVault/http_pb/WebTV_88150/test/index.html +++ /dev/null @@ -1,111 +0,0 @@ - - - -test - -
- -test - -

- - - -
- -
-

- - - -
- - - - -
- -

-my test list -

-
-
    -
  • -this is a test -
  • -
-
    -
  • -listing 2 -
  • -
-
    -
  • -whoa its 3 -
  • -
-
    -
  • -fuck its 4! -
  • -
-
-

- - - - - - -
- -

-my ancient pc -

-
-
- -
-
my webtv is better -
-

- - - - - - - - - - - - - - - -
- - - - - -
-
-
- - - -
- -Powered by WebTV -
-
- - -
-
- - - -

\ No newline at end of file diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/BackgroundSound.zip b/zefie_wtvp_minisrv/ServiceDeps/viewergen/BackgroundSound.zip deleted file mode 100644 index af9ce202..00000000 Binary files a/zefie_wtvp_minisrv/ServiceDeps/viewergen/BackgroundSound.zip and /dev/null differ diff --git a/zefie_wtvp_minisrv/UserTemplates/anything you put in here has priority.txt b/zefie_wtvp_minisrv/ServiceLogPost/.gitkeep similarity index 100% rename from zefie_wtvp_minisrv/UserTemplates/anything you put in here has priority.txt rename to zefie_wtvp_minisrv/ServiceLogPost/.gitkeep diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-favorite/commit-add-folder.js b/zefie_wtvp_minisrv/ServiceVault/wtv-favorite/commit-add-folder.js deleted file mode 100644 index 2a139bd8..00000000 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-favorite/commit-add-folder.js +++ /dev/null @@ -1,36 +0,0 @@ -var minisrv_service_file = true; - -var foldername = request_headers.query.new_folder_name; -var favstore_exists = session_data.favstore.favstoreExists(); -var folder_exists = session_data.favstore.folderExists(foldername); -var folder_array = session_data.favstore.getFolders(); - -if (foldername) -{ - if (favstore_exists != true) - session_data.favstore.createFavstore(); - - if (folder_exists != true) - { - if (folder_array.length < minisrv_config.services[service_name].max_folders) - { - if (session_data.favstore.checkFolderName(foldername) == true) - { - session_data.favstore.createFolder(foldername); - headers = `300 OK -Connection: Keep-Alive -Content-Type: text/html -Location: wtv-favorite:/favorite -wtv-expire-all: wtv-favorite:` - } else { - headers = `400 That folder name is not valid. Choose a different name and try again.` - } - } else { - headers = `400 You can only have ${minisrv_config.services[service_name].max_folders} folders at one time. Delete some folders and try again.` - } - } else { - headers = `400 That folder already exists. Choose a different name and try again.` - } -} else { - headers = `400 Please type a folder name.` -} diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-home/images/proto3/HomeTopLeftEdge.gif b/zefie_wtvp_minisrv/ServiceVault/wtv-home/images/proto3/HomeTopLeftEdge.gif deleted file mode 100644 index 57031832..00000000 Binary files a/zefie_wtvp_minisrv/ServiceVault/wtv-home/images/proto3/HomeTopLeftEdge.gif and /dev/null differ diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-passport/messengerlogin.js b/zefie_wtvp_minisrv/ServiceVault/wtv-passport/messengerlogin.js deleted file mode 100644 index 6f4f4afe..00000000 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-passport/messengerlogin.js +++ /dev/null @@ -1,55 +0,0 @@ -headers = `200 OK -Connection: Keep-Alive -wtv-encrypted: true -Expires: Wed, 09 Oct 1991 22:00:00 GMT -Content-Type: text/plain` - - -var email = session_data.getSessionData("messenger_email") + "%40" + session_data.getSessionData("messenger_domain"); -var password = session_data.decryptPassword(session_data.getSessionData("messenger_password")); -var challenge = request_headers.request.split('?')[1]; - -if (request_headers.request.split('?')[1].substring(0, 3) != "ct=") { - console.log(" *** Logging into Messenger via MSNP3") - data = crypto.createHash('md5').update(request_headers.request.split('?')[1] + password).digest("hex"); -} else { - console.log(" *** Logging into Messenger via MSNP8") - request_is_async = true; // Make us async - const request = https.get('https://msnmsgr.escargot.chat/rdr/pprdr.asp', (response) => { - let req_data = ''; - response.on('data', (chunk) => { - req_data += chunk.toString(); - }); - - response.on('end', () => { - var passporturls = response.headers['passporturls'].split("DALogin=")[1]; - request.end(); - var options = { - method: 'GET', - headers: { "Authorization": "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" + email + ",pwd=" + encodeURIComponent(password) + "," + challenge } - } - const request2 = https.get(passporturls, options, (response) => { - let req_data = ''; - response.on('data', (chunk) => { - req_data += chunk.toString(); - }); - - response.on('end', () => { - var pp = response.headers['authentication-info']; - pp = pp.split("from-PP='")[1]; - pp = pp.split("'")[0]; - data = pp; - sendToClient(socket, headers, data); - }); - }); - request2.on('error', (error) => { - console.log(' *** Error (Stage 1)', error); - }); - - }); - }); - - request.on('error', (error) => { - console.log(' *** Error (Stage 1)', error); - }); -} \ No newline at end of file diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/access.js b/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/access.js deleted file mode 100644 index 35281012..00000000 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/access.js +++ /dev/null @@ -1,13 +0,0 @@ -var minisrv_service_file = true; - -// Allow URL access outside our trusted minisrv - -if (request_headers.query.url) var url = request_headers.query.url; -else var url = "client:showalert?message=Please%20provide%20a%20%3Furl%3D%20with%20the%20url%20you%20would%20like%20to%20access.&buttonlabel1=Okay&buttonacction1=client:donothing" - -headers = `200 OK -wtv-visit: `+url+` -Content-type: text/html` - - -data = ''; \ No newline at end of file diff --git a/zefie_wtvp_minisrv/SessionStore/.gitkeep b/zefie_wtvp_minisrv/SessionStore/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/zefie_wtvp_minisrv/SharedROMCache/ZefieTV.gif b/zefie_wtvp_minisrv/SharedROMCache/ZefieTV.gif deleted file mode 100644 index f5b0bc99..00000000 Binary files a/zefie_wtvp_minisrv/SharedROMCache/ZefieTV.gif and /dev/null differ diff --git a/zefie_wtvp_minisrv/UserServiceDeps/.gitkeep b/zefie_wtvp_minisrv/UserServiceDeps/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/zefie_wtvp_minisrv/UserServiceVault/.gitkeep b/zefie_wtvp_minisrv/UserServiceVault/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js index 4c1308eb..77024ee5 100644 --- a/zefie_wtvp_minisrv/app.js +++ b/zefie_wtvp_minisrv/app.js @@ -1,15 +1,16 @@ 'use strict'; -var classPath = __dirname + "/includes/"; +const path = require('path'); +var classPath = __dirname + path.sep + "includes" + path.sep + "classes" + path.sep; const { WTVShared, clientShowAlert } = require(classPath + "WTVShared.js"); const wtvshared = new WTVShared(); // creates minisrv_config classPath = wtvshared.getAbsolutePath(classPath, __dirname); const fs = require('fs'); const tls = require('tls'); -const path = require('path'); const zlib = require('zlib'); const http = require('follow-redirects').http const https = require('follow-redirects').https +const httpx = require(classPath + "/HTTPX.js"); const net = require('net'); const crypto = require('crypto') const CryptoJS = require('crypto-js'); @@ -40,7 +41,7 @@ function shutdown(signal = 'SIGTERM') { }; } -function findServiceByPort(port) { +function getServiceByPort(port) { var service_name = null; Object.keys(minisrv_config.services).forEach(function(k) { if (service_name) return; @@ -52,22 +53,39 @@ function findServiceByPort(port) { return service_name; } - function getPortByService(service) { if (minisrv_config.services[service]) return minisrv_config.services[service].port; else return null; } +function getSocketServer(socket) { + var server = null; + + if (socket._server) { + if (socket._server._connectionKey) server = socket._server; + } else if (socket._parent) { + if (socket._parent._server) { + if (socket._parent._server._connectionKey) server = socket._parent._server; + } + } + return server; +} + function getSocketDestinationPort(socket) { - return parseInt(socket._server._connectionKey.split(':')[2]); + return getServerDestinationPort(getSocketServer(socket)); +} + +function getServerDestinationPort(server) { + return parseInt(server._connectionKey.split(':')[2]); } function verifyServicePort(service_name, socket) { if (!minisrv_config.config.enable_port_isolation) return service_name; - if (socket._server._connectionKey) { - var socketPort = getSocketDestinationPort(socket); + var server = getSocketServer(socket); + if (server) { + var socketPort = getServerDestinationPort(server); if (minisrv_config.services[service_name]) { - if (minisrv_config.services[service_name].port == socketPort) { + if (minisrv_config.services[service_name].port === socketPort) { if (minisrv_config.services[service_name].servicevault_dir) return minisrv_config.services[service_name].servicevault_dir; else @@ -78,6 +96,25 @@ function verifyServicePort(service_name, socket) { return false; } +function getServiceByVaultDir(vault_dir) { + var res = vault_dir; + Object.keys(minisrv_config.services).forEach((k) => { + if (res != vault_dir) return; + if (minisrv_config.services[k].servicevault_dir) { + if (minisrv_config.services[k].servicevault_dir === vault_dir) { + res = k; + return false; + } + } else { + if (k === vault_dir) { + res = k; + return false; + } + } + }); + return res; +} + function configureService(service_name, service_obj, initial = false) { if (service_obj.disabled) return false; @@ -127,10 +164,7 @@ var pc_ports = []; // works for service vault scripts too. if (!String.prototype.reverse) { String.prototype.reverse = function () { - var splitString = this.split(""); - var reverseArray = splitString.reverse(); - var joinArray = reverseArray.join(""); - return joinArray; + return this.split("").reverse().reverseArray.join(""); } } @@ -148,26 +182,7 @@ if (!Object.prototype.getCaseInsensitiveKey) { } function getServiceString(service, overrides = {}) { - // used externally by service scripts - if (service === "all") { - var out = ""; - Object.keys(minisrv_config.services).forEach(function (k) { - if (overrides.exceptions) { - Object.keys(overrides.exceptions).forEach(function (j) { - if (k != overrides.exceptions[j]) out += minisrv_config.services[k].toString(overrides) + "\n"; - }); - } else { - out += minisrv_config.services[k].toString(overrides) + "\n"; - } - }); - return out; - } else { - if (!minisrv_config.services[service]) { - throw ("SERVICE ERROR: Attempted to provision unconfigured service: " + service) - } else { - return minisrv_config.services[service].toString(overrides); - } - } + return wtvshared.getServiceString(service, overrides); } @@ -233,8 +248,8 @@ var runScriptInVM = function (script_data, user_contextObj = {}, privileged = fa "minisrv_version_string": z_title, "getServiceString": getServiceString, "sendToClient": sendToClient, - "ServiceDeps": ServiceDeps, "service_vaults": service_vaults, + "service_deps": service_deps, "cwd": __dirname, // current working directory // Our prototype overrides @@ -311,10 +326,6 @@ var runScriptInVM = function (script_data, user_contextObj = {}, privileged = fa return contextObj; // updated context object with whatever global varibles the script set } -function sendToPCClient(headers, data) { - -} - async function processPath(socket, service_vault_file_path, request_headers = new Array(), service_name, shared_romcache = null, pc_services = false) { var headers, data = null; var request_is_async = false; @@ -346,8 +357,14 @@ async function processPath(socket, service_vault_file_path, request_headers = ne } var privileged = false; - if (minisrv_config.services[service_name]) privileged = (minisrv_config.services[service_name].privileged) ? true : false; - else if (pc_services) privileged = (minisrv_config.services['pc_services'].privileged) ? true : false; + if (minisrv_config.services[service_name]) { + privileged = (minisrv_config.services[service_name].privileged) ? true : false; + } else if (pc_services) { + var real_service_name = getServiceByVaultDir(service_name); + if (real_service_name) { + privileged = (minisrv_config.services[real_service_name].privileged) ? true : false; + } + } if (privileged) { updateFromVM.push(["ssid_sessions", "ssid_sessions"]); // global ssid_sessions object for privileged service scripts, such as wtv-setup, wtv-head-waiter, etc @@ -362,10 +379,9 @@ async function processPath(socket, service_vault_file_path, request_headers = ne if (shared_romcache.indexOf(minisrv_config.config.SharedROMCache) != -1) { var service_path_presplit = shared_romcache.split(path.sep); service_path_presplit.splice(service_path_presplit.findIndex((element) => element === 'ROMCache'), 1); - var service_path_romcache = service_path_presplit.join(path.sep); + var service_path_romcache = service_vault_dir + path.sep + service_path_presplit.join(path.sep); var service_vault_file_path_romcache = wtvshared.returnAbsolutePath(wtvshared.makeSafePath(service_path_romcache)); if (fs.existsSync(service_vault_file_path_romcache)) { - service_path = service_path.replace(wtvshared.fixPathSlashes(minisrv_config.config.SharedROMCache), 'ROMCache'); service_vault_file_path = service_vault_file_path_romcache; usingSharedROMCache = true; @@ -582,7 +598,7 @@ async function processPath(socket, service_vault_file_path, request_headers = ne headers = errpage[0]; data = errpage[1]; if (pc_services) { - if (minisrv_config.services.pc_services.show_verbose_errors) + if (minisrv_config.services[real_service_name].show_verbose_errors) data += "

The interpreter said:
" + e.stack + "
"; } console.error(" * Scripting error:", e); @@ -766,11 +782,17 @@ minisrv-no-mail-count: true`; } if (pc_services) { - if (original_service_name == service_name) console.log(" * PC request on service " + service_name + " for " + request_headers.request_url, 'on', socket.id); - else console.log(" * PC request on service " + original_service_name + " (Service Vault " + service_name + ") for " + request_headers.request_url, 'on', socket.id); + var ssl = (socket.ssl) ? true : false; + if (original_service_name == service_name) console.log(" * " + ((ssl) ? "SSL " : "") + "PC request on service " + service_name + " for " + request_headers.request_url, 'on', socket.id); + else console.log(" * " + ((ssl) ? "SSL " : "") + "PC request on service " + original_service_name + " (Service Vault " + service_name + ") for " + request_headers.request_url, 'on', socket.id); + } else { + var service_name = verifyServicePort(shortURL.split(':/')[0], socket); } - // Check URL for :/, but not :// (to differentiate wtv urls) - if (shortURL.indexOf(':/') >= 0 && shortURL.indexOf('://') == -1) { + var allow_double_slash = false; + if (minisrv_config.services[service_name]) { + if (minisrv_config.services[service_name].allow_double_slash) allow_double_slash = true; + } + if ((shortURL.indexOf(':/') >= 0) && (shortURL.indexOf('://') == -1 || (shortURL.indexOf('://') && allow_double_slash))) { var ssid = socket.ssid; if (ssid == null) { // prevent possible injection attacks via malformed SSID and filesystem SessionStore @@ -785,8 +807,7 @@ minisrv-no-mail-count: true`; } else { console.log(" * " + reqverb + " for " + request_headers.request_url, 'on', socket.id); } - - var service_name = verifyServicePort(shortURL.split(':/')[0], socket); + if (!service_name) { // detect if client is trying to load wtv-star due to client-perceived error if (getSocketDestinationPort(socket) == getPortByService("wtv-star")) { @@ -1073,7 +1094,7 @@ function headerStringToObj(headers, response = false) { return headers_obj; } -async function sendToClient(socket, headers_obj, data) { +async function sendToClient(socket, headers_obj, data = null) { var headers = ""; var content_length = 0; if (typeof (data) === 'undefined' || data === null) data = ''; @@ -1913,6 +1934,17 @@ if (minisrv_config.config.ServiceVaults) { throw ("ERROR: No Service Vaults defined!"); } +var service_deps = new Array(); +if (minisrv_config.config.ServiceDeps) { + Object.keys(minisrv_config.config.ServiceDeps).forEach(function (k) { + var service_dep = wtvshared.returnAbsolutePath(minisrv_config.config.ServiceDeps[k]); + service_deps.push(service_dep); + console.log(" * Configured Service Dependencies at", service_dep, "with priority", (parseInt(k) + 1)); + }) +} else { + throw ("ERROR: No Service Dependancies Directory (SessionDeps) defined!"); +} + if (minisrv_config.config.SessionStore) { var SessionStore = wtvshared.returnAbsolutePath(minisrv_config.config.SessionStore); console.log(" * Configured Session Storage at", SessionStore); @@ -1920,17 +1952,12 @@ if (minisrv_config.config.SessionStore) { throw ("ERROR: No Session Storage Directory (SessionStore) defined!"); } -if (minisrv_config.config.ServiceDeps) { - var ServiceDeps = wtvshared.returnAbsolutePath(minisrv_config.config.ServiceDeps); - console.log(" * Configured Service Dependencies at", ServiceDeps); -} else { - throw ("ERROR: No Service Dependencies Directory (SessionDeps) defined!"); -} var service_ip = minisrv_config.config.service_ip; Object.keys(minisrv_config.services).forEach(function (k) { if (configureService(k, minisrv_config.services[k], true)) { - console.log(" * Configured Service:", k, "on Port", minisrv_config.services[k].port, "- Service Host:", minisrv_config.services[k].host, "- Bind Port:", !minisrv_config.services[k].nobind, "- PC Services Mode:", (minisrv_config.services[k].pc_services) ? true : false); + var using_tls = (minisrv_config.services[k].pc_services && minisrv_config.services[k].https_cert && minisrv_config.services[k].use_https) ? true : false; + console.log(" * Configured Service:", k, "on Port", minisrv_config.services[k].port, "- Service Host:", minisrv_config.services[k].host + ((using_tls) ? " (TLS)" : ""), "- Bind Port:", !minisrv_config.services[k].nobind, "- PC Services Mode:", (minisrv_config.services[k].pc_services) ? true : false); if (minisrv_config.services[k].local_nntp_port) { if (!wtvnewsserver) { @@ -1992,6 +2019,10 @@ if (minisrv_config.config.user_accounts.max_users_per_account > 99) { minisrv_config.config.user_accounts.max_users_per_account = 99; } +// shenanigans +if (minisrv_config.config.shenanigans) console.log(" * WARNING: Shenanigans level", minisrv_config.config.shenanigans, "enabled"); +else console.log(" * Shenanigans disabled"); + process.on('uncaughtException', function (err) { console.error((err && err.stack) ? err.stack : err); }); @@ -2023,25 +2054,55 @@ if (!minisrv_config.config.bind_ip) minisrv_config.config.bind_ip = "0.0.0.0"; pc_bind_ports.every(function (v) { try { var server = express(); - server.listen(v, minisrv_config.config.bind_ip); + var service_name = getServiceByPort(v); + var service_handler = http; + var server_opts = {}; + var using_tls = (minisrv_config.services[service_name].https_cert && minisrv_config.services[service_name].use_https) ? true : false; + + if (using_tls) { + service_handler = httpx; + server_opts = + { + key: fs.readFileSync(wtvshared.parseConfigVars(minisrv_config.services[service_name].https_cert.key)), + cert: fs.readFileSync(wtvshared.parseConfigVars(minisrv_config.services[service_name].https_cert.cert)), + }; + } + //service_handler.createServer(server_opts, server).listen(v, minisrv_config.config.bind_ip); + + if (using_tls && !minisrv_config.services[service_name].force_https) { + service_handler = httpx; // HTTP and HTTPS on the same port + } + + service_handler.createServer(server_opts, server).listen(v, minisrv_config.config.bind_ip); initstring_pc += v + ", "; + server.get('*', (req, res) => { - var request_headers = {}; + var ssl = (req.socket.ssl) ? true : false; + var service_name = getServiceByPort(v); + req.socket.minisrv_pc_mode = true; + req.socket.res = res; + req.socket.service_name = service_name; req.socket.id = parseInt(crc16('CCITT-FALSE', Buffer.from(String(req.socket.remoteAddress) + String(req.socket.remotePort), "utf8")).toString(16), 16); - socket_sessions[req.socket.id] = []; - var service_name = findServiceByPort(v); + socket_sessions[req.socket.id] = []; + + var request_headers = {}; request_headers['request'] = "GET " + req.originalUrl + " HTTP/1.1"; request_headers.request_url = req.originalUrl; Object.keys(req.headers).forEach(function (k) { request_headers[k] = req.headers[k]; }); request_headers.query = req.query; - if (minisrv_config.config.debug_flags.show_headers) console.log(" * Incoming PC Headers on", service_name, "socket ID", req.socket.id, wtvshared.filterRequestLog(request_headers)); request_headers.service_name = service_name; - req.socket.minisrv_pc_mode = true; - req.socket.res = res; - req.socket.service_name = service_name; - processURL(req.socket, request_headers, true) + + if (minisrv_config.config.debug_flags.show_headers) console.log(" * Incoming " + ((ssl) ? "HTTPS" : "HTTP") + " PC Headers on", service_name, "socket ID", req.socket.id, wtvshared.filterRequestLog(request_headers)); + if (!ssl && minisrv_config.services[service_name].force_https && minisrv_config.services[service_name].https_cert) { + var headers = `302 Moved +Location: https://${(minisrv_config.services[service_name].https_cert.domain) ? minisrv_config.services[service_name].https_cert.domain : minisrv_config.services[service_name].host}:${minisrv_config.services[service_name].port}${req.originalUrl} +Content-type: text/html`; + sendToClient(req.socket, headers); + } else { + processURL(req.socket, request_headers, true) + } }) return true; } catch (e) { diff --git a/zefie_wtvp_minisrv/includes/ServiceDeps/https/selfsigned_cert.pem b/zefie_wtvp_minisrv/includes/ServiceDeps/https/selfsigned_cert.pem new file mode 100644 index 00000000..f4973008 --- /dev/null +++ b/zefie_wtvp_minisrv/includes/ServiceDeps/https/selfsigned_cert.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFgzCCA2sCFBKo/bZ2E7HHlOfsS4UrBJl1UgpTMA0GCSqGSIb3DQEBCwUAMH0x +CzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9yazEXMBUGA1UECgwOWmVmaWUg +TmV0d29ya3MxJDAiBgNVBAsMG21pbmlzcnYgZGVmYXVsdCBjZXJ0aWZpY2F0ZTEc +MBoGA1UEAwwTbWluaXNydi5wY19zZXJ2aWNlczAgFw0yMjExMzAxNDE3MTVaGA8y +MTIyMTEwNjE0MTcxNVowfTELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3Jr +MRcwFQYDVQQKDA5aZWZpZSBOZXR3b3JrczEkMCIGA1UECwwbbWluaXNydiBkZWZh +dWx0IGNlcnRpZmljYXRlMRwwGgYDVQQDDBNtaW5pc3J2LnBjX3NlcnZpY2VzMIIC +IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyOZ9iOYqr1cZLZKEWT8I5f7A +l3bd9wslCPKR9Mj3IwEy8KQjxwqJYl6jPvbNMtIgZo7Y9pFBovJEUIFFd4Ffshrm +QZZfDJtw+KvZF3m/GdmgRc147m++Ve6OSOvuSdtAOAiujhmwjHsTif+YTcjsOfAT +O9bhThIespeU4qDoYyDD+3A4wxwxCIFN7clSr7TpPS3uUQ7woCsi1nxdU8B5txT2 +KfXOlyL0uwygxEEUy0XrDdpHFt9sV0LWiy4Ho3wVf3dhv2odSEeh8SK04qWMga4A +fXEXWwg+4cuho8p24MuZZRsCrqM1O7Hm8wz9FiBJJF5US1jRLOf9sz/iaEz2Mz7C ++skG/3gsQ1cI+c/f4jwafYLwJs9XJ141nAxTHxAg2fjg0+Oqe54rs2v/8mBy6r6L +bLBlyNMZ4CFD/OhrE8tnP9WhX/l2DUmsQGq2OaL7i3Tjp2jWEwoY0MVcRYiJgA8L +5cbWnIWuR0WrDmiKwk1gLdGhvqLxYkouST68zr8Oy9TX2G2s9hF6IZbNN8/ZzMnm +y5KjM+DjSCjxym2F03obVGbzCUaqDUHNY84oddoF7zu8lzP8UVYwjvHOvCCQa2Az +30KZjF6YEDYxhY4KtxNDxNJ9EHBxXlyvYRo/XM/YOk0wdoZPGq4tsj4BZrXSfuch +AO0Pr8qDOt+134K1t5ECAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAToJKBCsCcBWB +mNdj320fu5emb7ZYDyK5wpCBFwMLl/kx/wfNUB6E3GZJdvFBr3zAOrUbwrXZ9+2T +MIP1S5uaG5eCmtLZyH0AjsJa70gUwyqk3VSHXErtT7tbLHTCu/Lqn8XeKiRqjKGi ++sI3L4KFzlDELFT8iqkR+MOC8cawKsO1LV/8T0XrRx7zfflQFheo+Zkkn3/EsjP9 +vwKX5+3u5jyLgYdUOVRoUHI2L9hp6ubcqqKTwyKg74PDKsUkg+dSt9QL+UO1FPT8 +hDlvKg2p7w3UawF675AgzyF6tsgCYBs7ThaNYWgjKZ9ALDvTPTypUCsNnSZ0lNaT +iU+dzEocMo2WesE5B1KH6WdAKD54VV4XHPPEzM2WNRTfs+JiTf9aNTJ2tatwvB5w +6glFkgICZ4TgHCADHE0h0aPmVEdzJ6bBA4tUTl6GqWUTVgj53LsdB3NcaEasg/7A +zzgPzsw6bZivrodyr2aXSV8VPIzoy6RjLNh4sujGBN4QU+v3o6X9me32WljSQzzx +5F3pg/okFauWjF8I6VPKVPW5ReUoRI7B/RkrHEqpCzpPltVV5cHmP+2V5Q6UJegC +FebNB1npEfOb/ozpxm4b3UhjrnmIO4NZZs8lvZy/naC+F4QOnMpSGfBjsdZuBlBv +o3nALXySQNoUsUhfkpOG/8O9K3HrSYk= +-----END CERTIFICATE----- diff --git a/zefie_wtvp_minisrv/includes/ServiceDeps/https/selfsigned_key.pem b/zefie_wtvp_minisrv/includes/ServiceDeps/https/selfsigned_key.pem new file mode 100644 index 00000000..256f3e5e --- /dev/null +++ b/zefie_wtvp_minisrv/includes/ServiceDeps/https/selfsigned_key.pem @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIJKgIBAAKCAgEAyOZ9iOYqr1cZLZKEWT8I5f7Al3bd9wslCPKR9Mj3IwEy8KQj +xwqJYl6jPvbNMtIgZo7Y9pFBovJEUIFFd4FfshrmQZZfDJtw+KvZF3m/GdmgRc14 +7m++Ve6OSOvuSdtAOAiujhmwjHsTif+YTcjsOfATO9bhThIespeU4qDoYyDD+3A4 +wxwxCIFN7clSr7TpPS3uUQ7woCsi1nxdU8B5txT2KfXOlyL0uwygxEEUy0XrDdpH +Ft9sV0LWiy4Ho3wVf3dhv2odSEeh8SK04qWMga4AfXEXWwg+4cuho8p24MuZZRsC +rqM1O7Hm8wz9FiBJJF5US1jRLOf9sz/iaEz2Mz7C+skG/3gsQ1cI+c/f4jwafYLw +Js9XJ141nAxTHxAg2fjg0+Oqe54rs2v/8mBy6r6LbLBlyNMZ4CFD/OhrE8tnP9Wh +X/l2DUmsQGq2OaL7i3Tjp2jWEwoY0MVcRYiJgA8L5cbWnIWuR0WrDmiKwk1gLdGh +vqLxYkouST68zr8Oy9TX2G2s9hF6IZbNN8/ZzMnmy5KjM+DjSCjxym2F03obVGbz +CUaqDUHNY84oddoF7zu8lzP8UVYwjvHOvCCQa2Az30KZjF6YEDYxhY4KtxNDxNJ9 +EHBxXlyvYRo/XM/YOk0wdoZPGq4tsj4BZrXSfuchAO0Pr8qDOt+134K1t5ECAwEA +AQKCAgEAogPfcSvNeKIRGAN04FRJZNHRl1SxJK3ELDcTJgl75Kru3cpBYB9LNB2G +IRz/1uBGaO8CYbY67KHcHeBimUGoXwX6cyJFfPFOZfyQkrIIP1yWODTANem/4aUE +8iHyhXVfkNDPlKF7E4+d7khGF1TVzNOjbzqXcFKElxpPY4TIZEjkRD34SMDPekBt +DDqziCepgUEtVAlsXH7tFXQt/4DVp6Qr8SLefFwgaUiBzkN99YBpUz6Y3gVIZgbs +5kk0t881txobpjZ5bvT10HVg0vcXHO2qT3+Iik1YCNgjfuekfx0yk6r4usW8BGww +CAqNf+6BjebUq/7wkfp1Sr1WZS7LzJE+qAurgn9605l/gVF48onlhcBu++mOe4ea +3aiD7CmpQch7gKQQifGCNB68AkJB0n5kACKLDo81SYwTa1qI2eJU8yJ+dBPBnMUh +tULXbVwotGdUbvOjO69y0mI4OGcO0LRPyQ7jos9QcXW9rxrwhIukkhH6F1FsSv42 +BZNDzWcXSK8O+quNeznxB0E43bLx3eVmx0oDdEZJ30+BbjEKpmJQZtGodwnzsJCX +gs3b00UfaI5ClpB+Tip3PCGW5qg0DKqKGuuOFwTtN2ZTDNbSo4PqE5YpgJDRP8/t +Acs+6KGs9DlYlfMeuIpZZx+0GkKZBeoaqcwKZ2iiVCwhGUAldZECggEBAPM+5/Ym +8oLqcin7woiMV43V+dptrRq4IMUB5P5IXSJwmRJiGVVfTUXKPV1T61CPGVhAehac +dWqU4K1D0gZD1X/yxDMNt+YCWxqR44ukZCedAN2zHC3FrXgJdOmnaq8UIhiB0xaj +pJ92rwBCQscw1/V1vX2zLDiW52orzCLOdNkLtQ+uUkDtk67zIHCS2b9YH4NwAc4X +Ylh/yeIF31DIUw1k+GYhiPLVxRBfCw1pFcUPWSSPV1kNf72EaAElVyRtrS0RpMn+ +/v7ZALyc7DzBU2n1hQGYFJpz0VkTUYE0gULnKyodyZUnm0IAXs05WJRO3Towz8+P +Fq1bYzCN3hHT3AMCggEBANNvLmIE0EfnYTUE3wCFBmoHckn08L33t/cUuoGu0g9f +3rM+B9ggI8apZGIFoamXG/jt0eI2rBN28or5fGdB8JsDijAzBYyJX7sOEUmR5peH +xLIT737JuHZrV35sXF+17Ntaov+m6yzSoPDDxpIHDTemtyFwtOK7N3Uw8130MvrR +PRAbFNu9lp9OGECskW2a1zmxVevw+6A6i+QRQ9FZPVMprE1QU2KtMNNdoQ2iNe/d +5QP/8nAOlKOrrK5EzIxAjoFz7NP4fQu3Z+J2ze45vhJKUY/s4B5duX46p7pdH7Ve +iYlFetcNmF9IilzoF3nUCOO/NnMZd+j4gX4wmfQsK9sCggEBANBGdbFTqeSkv7np +AqmOmU0uATChJk4xiIWHWL7N0Uky5i5SZuStpGl0gFSQDXW+AXKKSr9fmj33WeWh +o4yPuphCkvIv9d1w+PboIdCoosU0btBlk2Qx1ZVpa3zBR9y/PW6Eguzok4WixrdP +BQSvcsqO1QBzURLnSyCifbjz1CMgHhleJrnHcuOi84zQgLeQyfLuDe2cIi4qxP7O +DmeKD2rxoKs6XZunpIOfDcSezPAdczOVtLHgmBb6717DzTi43EYxzErVFxu5TSMy +rihbVIPuoMM7p7CUKJW/r9MU1PUnINOAC+G1tv+td377cjgSyuQPdXCAUWeAT478 +ekADimcCggEANxZJnGoqpgFH11t8ipMeF7P2+APkUWpgOPTinvUgb7cHu+WWf53o +FFN//vX+p8PiGtpDi8+4x51/FexomDKa8JhcgbBZasND+OVyZZuo26QZAFinVn5S +HDBdbGfpLVql6oTT4Q3pShVar0Ai1VsW+3/pSMInrscebN8jGUCNo8GuSir0JUhh +HQJo2Tjc7xSfrL1iaIWx2Y5HclV5OOsqSieaZ85c22HKTdegJYA001kZ2Q/vZ3i1 +C2uoIwNz07riJiJA+v1L/yh63YscnkvXFMbeN0R9JAxBTv0TREANCeEmrmg22B8H +qxOoUQp7S1eONWBVXGmvTzin7GvXQMHdbwKCAQEAmxvk2rZlWc3dAGRb6yIIJntO +eDZo/WwDUEGqHGshHF9YTn1mQdVDmvT7bTVo1bhvg41gYtk2+D/YPHBhTah9kvNF +1QV+Q2d1XKIdrSSo6gvHQh/s0xRo+Dkb30Dz1ROHxptw00UAZ715PFbwRJ7QZLaR +VHL7z+vBZ2AcgtSJ+R6w3uNKyBYC7dROrVDcJPMwNHAVF54urhh4n3j2Pqr9bpGx +AlVZ0y4GSMmuLvU3o73QcTwIpBjNzXLzsMOPJL0W/Z2SMtM8V61oScfrVXSUGNW2 +tFveTBGSLZuOE/3QPL2UukVjnMhOoPFymgXeF2aK1IdlitXlFgEuMipsO6f4CQ== +-----END RSA PRIVATE KEY----- diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/glossary.json b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/glossary.json similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/glossary.json rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/glossary.json diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/Forbidden.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/Forbidden.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/Forbidden.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/Forbidden.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/HostMissing.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/HostMissing.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/HostMissing.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/HostMissing.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/InternalServerError.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/InternalServerError.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/InternalServerError.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/InternalServerError.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/NotFound.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/NotFound.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/NotFound.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/NotFound.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/ServiceUnavailable.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/ServiceUnavailable.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Alerts/ServiceUnavailable.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Alerts/ServiceUnavailable.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/Index.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/Index.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/Index.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/Index.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISP.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISP.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISP.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISP.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ1.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ1.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ1.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ1.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ3.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ3.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ3.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ3.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ3B.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ3B.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ3B.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ3B.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4B.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4B.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4B.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4B.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4C.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4C.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4C.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ4C.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ5.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ5.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ5.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ5.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ5B.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ5B.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ5B.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/OISPQ5B.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Ach.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Ach.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Ach.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Ach.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Credit.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Credit.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Credit.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Credit.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Debit.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Debit.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Debit.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/Debit.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/PayMethods.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/PayMethods.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/PayMethods.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Billing/PayMethods/PayMethods.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Chat/ChatDiploma.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Chat/ChatDiploma.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Chat/ChatDiploma.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Chat/ChatDiploma.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Index/Main/1.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Index/Main/1.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Index/Main/1.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Index/Main/1.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd3.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd3.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd3.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd3.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd4.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd4.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd4.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd4.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd5.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd5.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd5.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Keyboard/Cmd/Cmd5.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/Attach.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/Attach.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/Attach.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/Attach.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/More.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/More.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/More.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/More.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/Show.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/Show.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/Show.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Attach/Show.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/CarbCops.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/CarbCops.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/CarbCops.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/CarbCops.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/More.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/More.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/More.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/More.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/Show.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/Show.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/Show.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/CarbCops/Show.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Compose.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Compose.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Compose.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Compose.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/Privacy.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/Privacy.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/Privacy.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/Privacy.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/Reading.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/Reading.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/Reading.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/Reading.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/WriteMail.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/WriteMail.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/WriteMail.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/GetStarted/WriteMail.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/GettingStarted.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/GettingStarted.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/GettingStarted.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/GettingStarted.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Main.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Main.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Main.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Main.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture3.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture3.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture3.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture3.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture4.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture4.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture4.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture4.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture5.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture5.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture5.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Picture/Picture5.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Reply/Reply.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Reply/Reply.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Reply/Reply.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Reply/Reply.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Reply/Reply2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Reply/Reply2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Reply/Reply2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Reply/Reply2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature3.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature3.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature3.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Signature/Signature3.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Storage/Storage.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Storage/Storage.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Storage/Storage.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Storage/Storage.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Storage/Storage2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Storage/Storage2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Storage/Storage2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Storage/Storage2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/WhatIs.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/WhatIs.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/WhatIs.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/WhatIs.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing3.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing3.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing3.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing3.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing4.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing4.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing4.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing4.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing5.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing5.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing5.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing5.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing6.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing6.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing6.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/Write/Writing6.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/mail.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/mail.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Mail/mail.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Mail/mail.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/MailPOP/WhatIs/WhatIs.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/MailPOP/WhatIs/WhatIs.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/MailPOP/WhatIs/WhatIs.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/MailPOP/WhatIs/WhatIs.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/MailPOP/WhatIs/WhatIs2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/MailPOP/WhatIs/WhatIs2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/MailPOP/WhatIs/WhatIs2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/MailPOP/WhatIs/WhatIs2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail3.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail3.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail3.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Scrapbook/AddFromMail/AddFromMail3.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview3.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview3.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview3.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview3.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview4.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview4.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview4.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview4.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview5.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview5.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview5.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Spelling/Overview/Overview5.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Find.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Find.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Find.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Find.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Paste.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Paste.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Paste.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Paste.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/PasteWord.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/PasteWord.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/PasteWord.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/PasteWord.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Review.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Review.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Review.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Review.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Select.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Select.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Select.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Select.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/SelectWord.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/SelectWord.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/SelectWord.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/SelectWord.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Start.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Start.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Start.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/CutPaste/Start.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/Capitals.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/Capitals.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/Capitals.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/Capitals.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/Erasing.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/Erasing.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/Erasing.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/Erasing.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/GettingRidOf.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/GettingRidOf.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/GettingRidOf.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/GettingRidOf.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/InsertingSpace.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/InsertingSpace.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/InsertingSpace.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/InsertingSpace.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/NextLine.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/NextLine.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/NextLine.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/NextLine.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/NextTextBox.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/NextTextBox.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/NextTextBox.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/NextTextBox.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/OnScreenKeyboard.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/OnScreenKeyboard.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/OnScreenKeyboard.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/OnScreenKeyboard.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/PreviousTextBox.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/PreviousTextBox.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/PreviousTextBox.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/OnScreenKeyboard/PreviousTextBox.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/Send.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/Send.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/Send.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/Send.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Find.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Find.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Find.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Find.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Goto.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Goto.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Goto.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Goto.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=HangUp.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=HangUp.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=HangUp.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=HangUp.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Info.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Info.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Info.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Info.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Messenger.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Messenger.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Messenger.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Messenger.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Print.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Print.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Print.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Print.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Reload.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Reload.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Reload.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Reload.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Save.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Save.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Save.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=Save.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=TVvsWeb.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=TVvsWeb.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=TVvsWeb.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=TVvsWeb.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=TvWindow.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=TvWindow.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=TvWindow.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=TvWindow.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=logo.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=logo.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=logo.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options&page=logo.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options.htm b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options.htm similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options.htm rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Tips/Options/topic=Tips&subtopic=Options.htm diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/1.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/1.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/1.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/1.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/3.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/3.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/3.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/3.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/4.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/4.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/4.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/4.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/5.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/5.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/5.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/5.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/6.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/6.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/6.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/6.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/7.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/7.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/7.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/AddUser/7.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/Addresses/Addresses.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/Addresses/Addresses.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/Addresses/Addresses.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/Addresses/Addresses.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/Addresses/Addresses2.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/Addresses/Addresses2.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/prerendered/Users/Addresses/Addresses2.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/prerendered/Users/Addresses/Addresses2.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/templates/glossary.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/templates/glossary.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/templates/glossary.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/templates/glossary.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/templates/glossary_index.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/templates/glossary_index.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/templates/glossary_index.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/templates/glossary_index.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/templates/glossary_word_index.js b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/templates/glossary_word_index.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-guide/templates/glossary_word_index.js rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-guide/templates/glossary_word_index.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-mail/welcomeMail.txt b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-mail/welcomeMail.txt similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-mail/welcomeMail.txt rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-mail/welcomeMail.txt diff --git a/zefie_wtvp_minisrv/ServiceDeps/templates/wtv-news/post-unavailable.html b/zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-news/post-unavailable.html similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/templates/wtv-news/post-unavailable.html rename to zefie_wtvp_minisrv/includes/ServiceDeps/templates/wtv-news/post-unavailable.html diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--1.0-HE.zip b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--1.0-HE.zip similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--1.0-HE.zip rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--1.0-HE.zip diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--1.0.zip b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--1.0.zip similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--1.0.zip rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--1.0.zip diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--1.1.zip b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--1.1.zip similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--1.1.zip rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--1.1.zip diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--2.5-HE.zip b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--2.5-HE.zip similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--2.5-HE.zip rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--2.5-HE.zip diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--2.5.zip b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--2.5.zip similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/AppData--2.5.zip rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/AppData--2.5.zip diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/HackTV_min.zip b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/HackTV_min.zip similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/HackTV_min.zip rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/HackTV_min.zip diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/HackersEdition_Setup.bmp.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/HackersEdition_Setup.bmp.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/HackersEdition_Setup.bmp.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/HackersEdition_Setup.bmp.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/ResData--1.0.res.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/ResData--1.0.res.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/ResData--1.0.res.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/ResData--1.0.res.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/ResData--1.1.res.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/ResData--1.1.res.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/ResData--1.1.res.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/ResData--1.1.res.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/ResData--2.5.res.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/ResData--2.5.res.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/ResData--2.5.res.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/ResData--2.5.res.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/SuperViewer_Setup.bmp.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/SuperViewer_Setup.bmp.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/SuperViewer_Setup.bmp.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/SuperViewer_Setup.bmp.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--1.0-HE.exe.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--1.0-HE.exe.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--1.0-HE.exe.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--1.0-HE.exe.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--1.0.exe.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--1.0.exe.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--1.0.exe.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--1.0.exe.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--1.1.exe.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--1.1.exe.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--1.1.exe.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--1.1.exe.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--2.5-HE.exe.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--2.5-HE.exe.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--2.5-HE.exe.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--2.5-HE.exe.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--2.5.exe.gz b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--2.5.exe.gz similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/WebTVIntel--2.5.exe.gz rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/WebTVIntel--2.5.exe.gz diff --git a/zefie_wtvp_minisrv/ServiceDeps/viewergen/readme_disksets.txt b/zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/readme_disksets.txt similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/viewergen/readme_disksets.txt rename to zefie_wtvp_minisrv/includes/ServiceDeps/viewergen/readme_disksets.txt diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/FIJI/dc_production_normal.tok b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/FIJI/dc_production_normal.tok similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/FIJI/dc_production_normal.tok rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/FIJI/dc_production_normal.tok diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_OpenISP_56k.tok b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_OpenISP_56k.tok similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_OpenISP_56k.tok rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_OpenISP_56k.tok diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_WTV_18006138199.detok.txt b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_WTV_18006138199.detok.txt similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_WTV_18006138199.detok.txt rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_WTV_18006138199.detok.txt diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_WTV_18006138199.tok b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_WTV_18006138199.tok similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_WTV_18006138199.tok rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/LC2/LC2_WTV_18006138199.tok diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/UTV/utv_hsd.tok b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/UTV/utv_hsd.tok similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/UTV/utv_hsd.tok rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/UTV/utv_hsd.tok diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/UTV/utv_normal.tok b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/UTV/utv_normal.tok similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/UTV/utv_normal.tok rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/UTV/utv_normal.tok diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_OISP.tok b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_OISP.tok similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_OISP.tok rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_OISP.tok diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_WTV_18006138199.detok.txt b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_WTV_18006138199.detok.txt similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_WTV_18006138199.detok.txt rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_WTV_18006138199.detok.txt diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_WTV_18006138199.tok b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_WTV_18006138199.tok similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_WTV_18006138199.tok rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-1800/tellyscripts/bf0app/bf0app_WTV_18006138199.tok diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-news/localserver_ca.pem b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-news/localserver_ca.pem similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-news/localserver_ca.pem rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-news/localserver_ca.pem diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-news/localserver_cert.pem b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-news/localserver_cert.pem similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-news/localserver_cert.pem rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-news/localserver_cert.pem diff --git a/zefie_wtvp_minisrv/ServiceDeps/wtv-news/localserver_key.pem b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-news/localserver_key.pem similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/wtv-news/localserver_key.pem rename to zefie_wtvp_minisrv/includes/ServiceDeps/wtv-news/localserver_key.pem diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/aroundtown/ROMCache/AT_BannerGradient.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AT_BannerGradient.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/aroundtown/ROMCache/AT_BannerGradient.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AT_BannerGradient.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/aroundtown/ROMCache/AT_BannerIcon.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AT_BannerIcon.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/aroundtown/ROMCache/AT_BannerIcon.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AT_BannerIcon.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/aroundtown/ROMCache/AT_BottomShadow.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AT_BottomShadow.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/aroundtown/ROMCache/AT_BottomShadow.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AT_BottomShadow.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/aroundtown/ROMCache/AT_Shadow.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AT_Shadow.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/aroundtown/ROMCache/AT_Shadow.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AT_Shadow.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-setup/images/AccountBanner.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AccountBanner.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-setup/images/AccountBanner.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AccountBanner.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/AroundTownIcon2.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AroundTownIcon2.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/AroundTownIcon2.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/AroundTownIcon2.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/mail/content/images/BannerMail.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/BannerMail.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/mail/content/images/BannerMail.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/BannerMail.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-guide/ROMCache/BulletArrow.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/BulletArrow.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-guide/ROMCache/BulletArrow.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/BulletArrow.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/Chat.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/Chat.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/Chat.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/Chat.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/CommunityBanner.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/CommunityBanner.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/CommunityBanner.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/CommunityBanner.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/mail/content/images/DottedLine.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/DottedLine.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/mail/content/images/DottedLine.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/DottedLine.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/ExploreTitle.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ExploreTitle.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/ExploreTitle.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ExploreTitle.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/FileImage.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FileImage.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/FileImage.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FileImage.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/FileMovie.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FileMovie.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/FileMovie.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FileMovie.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/FilePackage.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FilePackage.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/FilePackage.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FilePackage.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/FileSound.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FileSound.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/FileSound.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FileSound.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/FileText.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FileText.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/FileText.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/FileText.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/HackTVLogoJewel.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/HackTVLogoJewel.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/HackTVLogoJewel.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/HackTVLogoJewel.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/MSNLogo.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/MSNLogo.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/MSNLogo.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/MSNLogo.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/MessageGradient.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/MessageGradient.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/MessageGradient.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/MessageGradient.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/images/NameStrip.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/NameStrip.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/images/NameStrip.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/NameStrip.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/PanelEdge.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PanelEdge.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/PanelEdge.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PanelEdge.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/mail/content/images/PaperBase.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PaperBase.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/mail/content/images/PaperBase.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PaperBase.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/PaperTop.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PaperTop.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/PaperTop.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PaperTop.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/PaperTopFlat.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PaperTopFlat.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/PaperTopFlat.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PaperTopFlat.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/PromotionLeftEdge.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PromotionLeftEdge.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/PromotionLeftEdge.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/PromotionLeftEdge.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-mail/content/images/RemoveButton.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/RemoveButton.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-mail/content/images/RemoveButton.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/RemoveButton.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20BV1.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20BV1.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20BV1.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20BV1.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20BV2.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20BV2.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20BV2.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20BV2.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20TH1.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20TH1.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20TH1.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20TH1.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20TV1.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20TV1.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20TV1.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20TV1.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20TV2.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20TV2.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S20TV2.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S20TV2.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S40H1.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S40H1.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S40H1.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S40H1.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S40V1.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S40V1.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S40V1.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S40V1.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S40V2.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S40V2.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S40V2.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S40V2.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS1.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS1.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS1.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS1.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS2.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS2.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS2.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS2.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS3.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS3.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS3.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS3.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS4.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS4.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS4.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS4.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS5.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS5.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/S60HS5.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/S60HS5.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/SAdH1.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SAdH1.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/SAdH1.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SAdH1.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/SAdH2.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SAdH2.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/SAdH2.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SAdH2.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/SAdH3.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SAdH3.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/SAdH3.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SAdH3.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/SettingsBanner.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SettingsBanner.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/SettingsBanner.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SettingsBanner.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/mail/content/images/Shadow.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/Shadow.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/mail/content/images/Shadow.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/Shadow.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/ShadowCorner.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ShadowCorner.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/ShadowCorner.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ShadowCorner.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/ShadowH.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ShadowH.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/ShadowH.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ShadowH.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/ShadowHCap.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ShadowHCap.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/ShadowHCap.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ShadowHCap.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/ShadowHStart.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ShadowHStart.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/explore/ROMCache/ShadowHStart.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/ShadowHStart.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/SiteShowcase.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SiteShowcase.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/SiteShowcase.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/SiteShowcase.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-guide/ROMCache/Spacer.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/Spacer.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-guide/ROMCache/Spacer.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/Spacer.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/using_webtv/ROMCache/UsingWebTVBanner.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/UsingWebTVBanner.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/using_webtv/ROMCache/UsingWebTVBanner.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/UsingWebTVBanner.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/UtilityBullet.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/UtilityBullet.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/UtilityBullet.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/UtilityBullet.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-favorite/ROMCache/WebTVLogoJewel.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/WebTVLogoJewel.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-favorite/ROMCache/WebTVLogoJewel.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/WebTVLogoJewel.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-guide/ROMCache/help/common/helpMastheadBlank.swf b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/help/common/helpMastheadBlank.swf similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-guide/ROMCache/help/common/helpMastheadBlank.swf rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/help/common/helpMastheadBlank.swf diff --git a/zefie_wtvp_minisrv/SharedROMCache/kb.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/kb.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/kb.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/kb.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/kb_alpha.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/kb_alpha.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/kb_alpha.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/kb_alpha.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/minisrv.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/minisrv.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/minisrv.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/minisrv.gif diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/news_icon.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/news_icon.gif similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/wtv-disk/content/DealerDemo/sim/ROMCache/news_icon.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/news_icon.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/splash_logo_hacktv.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/splash_logo_hacktv.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/splash_logo_hacktv.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/splash_logo_hacktv.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/splash_minisrv.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/splash_minisrv.gif similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/splash_minisrv.gif rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/splash_minisrv.gif diff --git a/zefie_wtvp_minisrv/SharedROMCache/up-arrows.swf b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/up-arrows.swf similarity index 100% rename from zefie_wtvp_minisrv/SharedROMCache/up-arrows.swf rename to zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/up-arrows.swf diff --git a/zefie_wtvp_minisrv/ServiceVault/http_pc/favicon.ico b/zefie_wtvp_minisrv/includes/ServiceVault/http_pc/favicon.ico similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/http_pc/favicon.ico rename to zefie_wtvp_minisrv/includes/ServiceVault/http_pc/favicon.ico diff --git a/zefie_wtvp_minisrv/ServiceVault/http_pc/index.js b/zefie_wtvp_minisrv/includes/ServiceVault/http_pc/index.js similarity index 100% rename from zefie_wtvp_minisrv/ServiceVault/http_pc/index.js rename to zefie_wtvp_minisrv/includes/ServiceVault/http_pc/index.js diff --git a/zefie_wtvp_minisrv/ServiceVault/http_pc/viewergen/index.js b/zefie_wtvp_minisrv/includes/ServiceVault/http_pc/viewergen/index.js similarity index 81% rename from zefie_wtvp_minisrv/ServiceVault/http_pc/viewergen/index.js rename to zefie_wtvp_minisrv/includes/ServiceVault/http_pc/viewergen/index.js index fb7647d7..41fb17e9 100644 --- a/zefie_wtvp_minisrv/ServiceVault/http_pc/viewergen/index.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/http_pc/viewergen/index.js @@ -1,7 +1,4 @@ var minisrv_service_file = true; -var viewer = 2 // debug override - -var viewergen_resource_dir = ServiceDeps + "/viewergen/"; var viewers = { 0: "WebTVIntel--1.0.exe", @@ -30,6 +27,7 @@ var viewer_stock_md5s = { "WebTVIntel--2.5-HE.exe": "64edab977ec19a663c5842176bec306a" } +/* var modpacks = { 0: { "name": "Background Sound", @@ -38,6 +36,30 @@ var modpacks = { "default": true } } +*/ + +var modpacks = {}; + + +var feature_bits = { + 2: { + 0: { + "offset": 2063881, + "name": "Background Sound", + "description": "Enables the Viewer to continue playing sound when it is not the currently active window.", + "value": Buffer.from("\x80", 'ascii') + } + }, + 4: { + 0: { + "offset": 2063881, + "name": "Background Sound", + "description": "Enables the Viewer to continue playing sound when it is not the currently active window.", + "value": Buffer.from("\x80", 'ascii') + } + } +} + var patch_defaults = { @@ -76,6 +98,7 @@ function getPatchDataType(type, invert = false) { patch_data += "wtv-disk-first-error: %s\r\n"; patch_data += "wtv-disk-size: %s\r\n"; patch_data += "wtv-client-address: %s\r\n"; + patch_data += "wtv-viewer: %s\r\n"; } return patch_data; } @@ -84,10 +107,10 @@ function getPatchDataType(type, invert = false) { function getResData(file) { var res_data = null; if (file.substr(-2, 2).toLowerCase() == "gz") { - var res_gz_data = fs.readFileSync(viewergen_resource_dir + file); + var res_gz_data = wtvshared.getServiceDep("/viewergen/" + file); res_data = zlib.gunzipSync(res_gz_data); } else { - res_data = fs.readFileSync(viewergen_resource_dir + file); + res_data = wtvshared.getServiceDep("/viewergen/" + file); } return res_data; } @@ -250,23 +273,30 @@ function getPatchData(fname, client_data_obj, start_url = "client:GoToConn", def return customized_patch_data; } -function patchBinary(patchDataObject) { - Object.keys(patchDataObject.patch_data).forEach(function (idx) { - idx = parseInt(idx); - data_length = patchDataObject.patch_data[idx].byteLength || patchDataObject.patch_data[idx].length - patchDataObject.data.fill(patchDataObject.patch_data[idx], idx, data_length + idx); - }) - return patchDataObject.data; +function applyPatch(data, patch_data, offset) { + var data_length = patch_data.byteLength || patch_data.length; + var data = data.fill(patch_data, offset, data_length + offset); + return data; } +function patchBinary(patchDataObject) { + var patched_file = patchDataObject.data; + Object.keys(patchDataObject.patch_data).forEach(function (idx) { + idx = parseInt(idx); + patched_file = applyPatch(patched_file, patchDataObject.patch_data[idx], idx); + }) + return patched_file; +} + + function generateSSID() { - var ssid_template = "91xxxY0xx0b002xx"; + var ssid_template = "91xxxxxxaeb002"; var ssid = ssid_template; while (ssid.indexOf("x") != -1) { + // random hex char from 0-F ssid = ssid.replace("x", Math.floor(Math.random() * 16).toString(16)) - } - ssid = ssid.replace("Y", Math.floor(Math.random() * 7)); - return ssid; + } + return ssid + wtvshared.getSSIDCRC(ssid); } function buildProfile(build) { @@ -329,7 +359,7 @@ function buildProfile(build) { } var enable_full_hacktv = false; -if (fs.existsSync(viewergen_resource_dir + "HackTV.zip")) { +if (wtvshared.getServiceDep("/viewergen/" + "HackTV.zip", true)) { enable_full_hacktv = true; disksets['99'] = "HackTV.zip"; } @@ -350,7 +380,7 @@ if (request_headers.query.viewer && headers = errpage[0]; data = errpage[1]; } else { - var viewer_gz_data = fs.readFileSync(viewergen_resource_dir + viewer_file + ".gz"); + var viewer_gz_data = wtvshared.getServiceDep("/viewergen/" + viewer_file + ".gz"); var viewer_data = zlib.gunzipSync(viewer_gz_data); var viewer_md5 = crypto.createHash('md5').update(viewer_data).digest("hex"); if (viewer_md5 != viewer_stock_md5s[viewer_file]) { @@ -361,6 +391,7 @@ if (request_headers.query.viewer && } else { var build = request_headers.query.build; var client_data_obj = null + if (build) { if (parseInt(build) > 0) { client_data_obj = buildProfile(parseInt(build)); @@ -370,6 +401,9 @@ if (request_headers.query.viewer && if (!client_data_obj) client_data_obj = buildProfile(7181); + var viewer_tag = viewer_file.split('.'); + viewer_tag.pop(); + client_data_obj['wtv-viewer'] = viewer_tag.join('.'); client_data_obj["wtv-client-serial-number"] = client_ssid; var patchDataObject = { data: viewer_data, @@ -382,6 +416,19 @@ if (request_headers.query.viewer && data = errpage[1]; } else { var patched_file = patchBinary(patchDataObject); + var enabled_feature_bits = []; + Object.keys(request_headers.query).forEach((k) => { + if (k.substring(0, 12) === "feature_bit_") { + enabled_feature_bits.push(parseInt(k.substring(12))); + } + }); + Object.keys(enabled_feature_bits).forEach((k) => { + var bit = feature_bits[request_headers.query.viewer][enabled_feature_bits[k]]; + if (bit) { + patched_file = applyPatch(patched_file, bit.value, bit.offset); + } + }); + headers = `200 OK Content-Type: application/octet-stream Content-Disposition: attachment; filename="${viewer_file.replace(".exe", ".zip")}"` @@ -391,13 +438,13 @@ Content-Disposition: attachment; filename="${viewer_file.replace(".exe", ".zip") zip.addZipComment("Viewer SSID: " + client_ssid); zip.addFile(viewer_file.replace("--", "-" + client_ssid + "-"), patched_file); if (!request_headers.query.viewer_only) { - var romset_zip = new AdmZip(viewergen_resource_dir + viewer_file.replace(".exe", "").replace("WebTVIntel", "AppData") + ".zip"); + var romset_zip = new AdmZip(wtvshared.getServiceDep("/viewergen/" + viewer_file.replace(".exe", "").replace("WebTVIntel", "AppData") + ".zip", true)); var zipEntries = romset_zip.getEntries(); zipEntries.forEach(function (zipEntry) { if (zipEntry.entryName == "Setup.bmp" && request_headers.query.logo) { var logo_file = logos[parseInt(request_headers.query.logo) || 0]; if (logo_file) { - var logo_gz_data = fs.readFileSync(viewergen_resource_dir + logo_file + ".gz"); + var logo_gz_data = wtvshared.getServiceDep("/viewergen/" + logo_file + ".gz"); var logo_data = zlib.gunzipSync(logo_gz_data); zip.addFile(zipEntry.entryName, logo_data); } else { @@ -409,10 +456,10 @@ Content-Disposition: attachment; filename="${viewer_file.replace(".exe", ".zip") }); if (request_headers.query.diskset || needs_hacktv_mini) { var diskset_file = 0; - if (needs_hacktv_mini) diskset_file = disksets[98]; + if (needs_hacktv_mini && request_headers.query.diskset === 0) diskset_file = disksets[98]; else diskset_file = disksets[parseInt(request_headers.query.diskset) || 0]; if (diskset_file) { - var diskset_zip = new AdmZip(viewergen_resource_dir + diskset_file); + var diskset_zip = new AdmZip(wtvshared.getServiceDep("/viewergen/" + diskset_file, true)); var zipEntries = diskset_zip.getEntries(); zipEntries.forEach(function (zipEntry) { zip.addFile("Disk/" + zipEntry.entryName, zipEntry.getData()); @@ -429,7 +476,7 @@ Content-Disposition: attachment; filename="${viewer_file.replace(".exe", ".zip") if (embed_modpacks.length > 0) { Object.keys(embed_modpacks).forEach((k) => { - var modpack_file = viewergen_resource_dir + modpacks[k].file; + var modpack_file = wtvshared.getServiceDep("/viewergen/" + modpacks[k].file, true); if (fs.existsSync(modpack_file)) { var modpack_zip = new AdmZip(modpack_file); var zipEntries = modpack_zip.getEntries(); @@ -464,19 +511,38 @@ td {