From 702aaab5918e3309607a53bc5517324221db6927 Mon Sep 17 00:00:00 2001 From: zefie Date: Fri, 8 Aug 2025 19:21:19 -0400 Subject: [PATCH] more proxy work --- zefie_wtvp_minisrv/app.js | 6 +- .../includes/classes/WTVMinifyingProxy.js | 230 ++++++++++++++++-- 2 files changed, 218 insertions(+), 18 deletions(-) diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js index fd281eb5..22ea6447 100644 --- a/zefie_wtvp_minisrv/app.js +++ b/zefie_wtvp_minisrv/app.js @@ -1219,8 +1219,8 @@ function handleProxy(socket, request_type, request_headers, res, data) { if (res.headers['Content-Type'].includes('html') && minisrv_config.services[request_type]?.use_minifying_proxy !== false) { try { - const WTVProxy = require('./includes/classes/WTVProxy.js'); - const proxy = new WTVProxy(minisrv_config); + const WTVMinifyingProxy = require('./includes/classes/WTVMinifyingProxy.js'); + const proxy = new WTVMinifyingProxy(minisrv_config); let htmlContent = Buffer.concat(data).toString(); @@ -1234,7 +1234,7 @@ function handleProxy(socket, request_type, request_headers, res, data) { jellyScriptMaxSize: minisrv_config.services[request_type]?.jellyscript_max_size || 8192 }; - htmlContent = proxy.transformHtml(htmlContent, originalUrl, transformOptions); + htmlContent = proxy.transformForWebTV(htmlContent, originalUrl, transformOptions); data = [Buffer.from(htmlContent)]; if (minisrv_config.config.verbosity >= 3) { diff --git a/zefie_wtvp_minisrv/includes/classes/WTVMinifyingProxy.js b/zefie_wtvp_minisrv/includes/classes/WTVMinifyingProxy.js index 4b5ea0a8..5824f3df 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVMinifyingProxy.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVMinifyingProxy.js @@ -31,7 +31,9 @@ class WTVMinifyingProxy { 'background-color': 'bgcolor', 'color': 'color', 'font-size': 'size', - 'font-family': 'face' + 'font-family': 'face', + 'width': 'width', + 'height': 'height' }; // JellyScript (WebTV JavaScript) supported features @@ -143,13 +145,63 @@ class WTVMinifyingProxy { * Extract CSS styles and convert them to HTML attributes where possible */ convertCssToAttributes(html) { - // Remove