From d4071448b3a64324c301a7a837a850ce48a0b148 Mon Sep 17 00:00:00 2001 From: AlfonzM Date: Tue, 28 Sep 2021 23:46:46 +0800 Subject: [PATCH] Fix: Sanitize master.json URL to prevent encrypted video and audio files --- index.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index eb51853..8c53324 100644 --- a/index.js +++ b/index.js @@ -5,10 +5,11 @@ const log = (...args) => console.log("→", ...args); const list = require("./videojson.js"); function loadVideo(num, cb) { - let masterUrl = list[num].url; - if (!masterUrl.endsWith("?base64_init=1")) { - masterUrl += "?base64_init=1"; - } + let rawMasterUrl = new URL(list[num].url); + rawMasterUrl.searchParams.delete('query_string_ranges'); + rawMasterUrl.searchParams.set('base64_init', 1); + + let masterUrl = rawMasterUrl.toString(); getJson(masterUrl, num, (err, json) => { if (err) {