From 9eed3b5b67187cf708418168fdb4e8209175e404 Mon Sep 17 00:00:00 2001 From: wukko Date: Thu, 16 May 2024 21:00:11 +0600 Subject: [PATCH] config: move streamLifespan --- src/config.json | 1 - src/modules/config.js | 2 +- src/modules/stream/manage.js | 6 +++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/config.json b/src/config.json index 640b2433..c81828af 100644 --- a/src/config.json +++ b/src/config.json @@ -1,5 +1,4 @@ { - "streamLifespan": 90000, "genericUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "authorInfo": { "support": { diff --git a/src/modules/config.js b/src/modules/config.js index 737d9716..cfe9e36c 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -45,6 +45,7 @@ const rateLimitMax: (process.env.RATELIMIT_MAX && parseInt(process.env.RATELIMIT_MAX)) || 20, durationLimit: (process.env.DURATION_LIMIT && parseInt(process.env.DURATION_LIMIT)) || 10800, + streamLifespan: 90, processingPriority: process.platform !== 'win32' && process.env.PROCESSING_PRIORITY @@ -55,7 +56,6 @@ export const services = servicesConfigJson.config, audioIgnore = servicesConfigJson.audioIgnore, version = packageJson.version, - streamLifespan = config.streamLifespan, genericUserAgent = config.genericUserAgent, repo = packageJson.bugs.url.replace('/issues', ''), authorInfo = config.authorInfo, diff --git a/src/modules/stream/manage.js b/src/modules/stream/manage.js index 86334fa2..e36932c5 100644 --- a/src/modules/stream/manage.js +++ b/src/modules/stream/manage.js @@ -3,7 +3,7 @@ import { randomBytes } from "crypto"; import { nanoid } from "nanoid"; import { decryptStream, encryptStream, generateHmac } from "../sub/crypto.js"; -import { streamLifespan, env } from "../config.js"; +import { env } from "../config.js"; import { strict as assert } from "assert"; // optional dependency @@ -12,7 +12,7 @@ const freebind = env.freebindCIDR && await import('freebind').catch(() => {}); const M3U_SERVICES = ['dailymotion', 'vimeo', 'rutube']; const streamCache = new NodeCache({ - stdTTL: streamLifespan/1000, + stdTTL: env.streamLifespan/1000, checkperiod: 10, deleteOnExpire: true }) @@ -28,7 +28,7 @@ export function createStream(obj) { const streamID = nanoid(), iv = randomBytes(16).toString('base64url'), secret = randomBytes(32).toString('base64url'), - exp = new Date().getTime() + streamLifespan, + exp = new Date().getTime() + env.streamLifespan, hmac = generateHmac(`${streamID},${exp},${iv},${secret}`, hmacSalt), streamData = { exp: exp,