From 5321cbe6c728b4abd5b8c8f549a72fa8e0f3c439 Mon Sep 17 00:00:00 2001 From: linshenjianlu Date: Sun, 3 May 2026 13:43:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(entry):=20=E7=BB=95=E8=BF=87=20Gitea=20raw?= =?UTF-8?q?=20=E7=BC=93=E5=AD=98=E7=A1=AE=E4=BF=9D=E5=AD=90=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E7=83=AD=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ToolHub.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ToolHub.js b/ToolHub.js index fa0f2a1..6054b7d 100644 --- a/ToolHub.js +++ b/ToolHub.js @@ -5,6 +5,11 @@ var GIT_BASE = "https://git.xin-blog.com/linshenjianlu/ShortX_ToolHub/raw/branch/main/code/"; var __dirChecked = false; +function buildNoCacheUrl(urlStr) { + var sep = String(urlStr).indexOf("?") >= 0 ? "&" : "?"; + return String(urlStr) + sep + "_toolhub_ts=" + java.lang.System.currentTimeMillis(); +} + function getLogPath() { return shortx.getShortXDir() + "/ToolHub/logs/init.log"; } @@ -105,12 +110,15 @@ function setDirPerms(path) { function getRemoteLastModified(urlStr) { try { - var url = new java.net.URL(urlStr); + var url = new java.net.URL(buildNoCacheUrl(urlStr)); var conn = url.openConnection(); + conn.setUseCaches(false); conn.setRequestMethod("HEAD"); conn.setConnectTimeout(5000); conn.setReadTimeout(10000); conn.setRequestProperty("User-Agent", "ShortX-ToolHub/1.0"); + conn.setRequestProperty("Cache-Control", "no-cache, no-store, must-revalidate"); + conn.setRequestProperty("Pragma", "no-cache"); var code = conn.getResponseCode(); if (code !== 200) return null; var lm = conn.getHeaderField("Last-Modified"); @@ -141,11 +149,14 @@ function saveLocalLastModified(relPath, lm) { } function downloadFile(urlStr, destFile) { - var url = new java.net.URL(urlStr); + var url = new java.net.URL(buildNoCacheUrl(urlStr)); var conn = url.openConnection(); + conn.setUseCaches(false); conn.setConnectTimeout(10000); conn.setReadTimeout(30000); conn.setRequestProperty("User-Agent", "ShortX-ToolHub/1.0"); + conn.setRequestProperty("Cache-Control", "no-cache, no-store, must-revalidate"); + conn.setRequestProperty("Pragma", "no-cache"); var code = conn.getResponseCode(); if (code !== 200) throw "HTTP " + code; var expectedLen = conn.getContentLength();