feat: добавлено использование хеширования для ключа кеша
All checks were successful
Build and Deploy Gateway / build-and-deploy (push) Successful in 6s

Refs: None
This commit is contained in:
2026-05-08 21:57:54 +03:00
parent 499d2d3367
commit 781cbbb026

View File

@@ -1,6 +1,7 @@
import http from "node:http";
import fs from "node:fs";
import path from "node:path";
import crypto from "node:crypto";
import { spawn, spawnSync } from "node:child_process";
import { settings } from "./config.js";
import { fetchSubscription } from "./subscription.js";
@@ -625,7 +626,8 @@ async function handleApi(req, res) {
return sendJson(res, 400, { success: false, error: "Укажите url" });
// Кеш — файл рядом с custom-rule-sets.json
const cacheKey = Buffer.from(url).toString("base64url").slice(0, 48);
// Используем crypto hash чтобы избежать коллизий при одинаковом префиксе URL
const cacheKey = crypto.createHash("sha1").update(url).digest("hex");
const cacheFile = path.join(
settings.dataDir,
`ruleset-cache-${cacheKey}.json`,