From e41f70bb47f891dc6dfc9711bf9d964fa5f40495 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Thu, 29 Jan 2026 16:30:10 +0100 Subject: [PATCH] refactor: Use CORS Proxy for favicons calls --- tools/server/server-models.cpp | 2 +- tools/server/webui/src/lib/utils/favicon.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/server/server-models.cpp b/tools/server/server-models.cpp index 51de216d46..baa7d2b886 100644 --- a/tools/server/server-models.cpp +++ b/tools/server/server-models.cpp @@ -1013,7 +1013,7 @@ server_http_proxy::server_http_proxy( // setup Client cli->set_follow_location(true); - cli->set_connection_timeout(0, 200000); // 200 milliseconds + cli->set_connection_timeout(5, 0); // 5 seconds cli->set_write_timeout(timeout_read, 0); // reversed for cli (client) vs srv (server) cli->set_read_timeout(timeout_write, 0); this->status = 500; // to be overwritten upon response diff --git a/tools/server/webui/src/lib/utils/favicon.ts b/tools/server/webui/src/lib/utils/favicon.ts index 7c64038017..c7801de198 100644 --- a/tools/server/webui/src/lib/utils/favicon.ts +++ b/tools/server/webui/src/lib/utils/favicon.ts @@ -2,6 +2,8 @@ * Favicon utility functions for extracting favicons from URLs. */ +import { getProxiedUrlString } from './cors-proxy'; + /** * Gets a favicon URL for a given URL using Google's favicon service. * Returns null if the URL is invalid. @@ -15,7 +17,8 @@ export function getFaviconUrl(urlString: string): string | null { const hostnameParts = url.hostname.split('.'); const rootDomain = hostnameParts.length >= 2 ? hostnameParts.slice(-2).join('.') : url.hostname; - return `https://www.google.com/s2/favicons?domain=${rootDomain}&sz=32`; + const googleFaviconUrl = `https://www.google.com/s2/favicons?domain=${rootDomain}&sz=32`; + return getProxiedUrlString(googleFaviconUrl); } catch { return null; }