From 9b4f49fcf6c7791dc1d8f54080eca9cf06273eed Mon Sep 17 00:00:00 2001 From: J4mez <58501310+J4mez@users.noreply.github.com> Date: Fri, 31 May 2024 14:53:25 +0200 Subject: [PATCH 1/5] web: stop password managers from autofilling data into url area (#533) fixed dashlane autofill phone in url input --- src/modules/pageRender/page.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/pageRender/page.js b/src/modules/pageRender/page.js index 19e08b50..2c166177 100644 --- a/src/modules/pageRender/page.js +++ b/src/modules/pageRender/page.js @@ -594,7 +594,7 @@ export default function(obj) {
- +
From 7ebd9bc0ffb8ab486fbbab650576f1324b10f78a Mon Sep 17 00:00:00 2001 From: wukko Date: Fri, 31 May 2024 20:10:16 +0600 Subject: [PATCH 2/5] servicesConfig: temporarily disable reddit support reddit's media server times out unexpectedly --- src/modules/processing/servicesConfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/processing/servicesConfig.json b/src/modules/processing/servicesConfig.json index ae4cd9f0..a725473e 100644 --- a/src/modules/processing/servicesConfig.json +++ b/src/modules/processing/servicesConfig.json @@ -15,7 +15,7 @@ "alias": "reddit videos & gifs", "patterns": ["r/:sub/comments/:id/:title", "user/:user/comments/:id/:title"], "subdomains": "*", - "enabled": true + "enabled": false }, "twitter": { "alias": "twitter videos & voice", From fe7d4974e434d68c6527e48988846f25e5b29a8c Mon Sep 17 00:00:00 2001 From: dumbmoron Date: Thu, 6 Jun 2024 14:39:28 +0000 Subject: [PATCH 3/5] stream: move pipe to shared functions --- src/modules/stream/shared.js | 10 ++++++++++ src/modules/stream/types.js | 12 +----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/modules/stream/shared.js b/src/modules/stream/shared.js index 4dbd59d3..1e2f2e25 100644 --- a/src/modules/stream/shared.js +++ b/src/modules/stream/shared.js @@ -28,4 +28,14 @@ export function getHeaders(service) { // Converting all header values to strings return Object.entries({ ...defaultHeaders, ...serviceHeaders[service] }) .reduce((p, [key, val]) => ({ ...p, [key]: String(val) }), {}) +} + +export function pipe(from, to, done) { + from.on('error', done) + .on('close', done); + + to.on('error', done) + .on('close', done); + + from.pipe(to); } \ No newline at end of file diff --git a/src/modules/stream/types.js b/src/modules/stream/types.js index 2036b360..2372d6c1 100644 --- a/src/modules/stream/types.js +++ b/src/modules/stream/types.js @@ -6,7 +6,7 @@ import { create as contentDisposition } from "content-disposition-header"; import { metadataManager } from "../sub/utils.js"; import { destroyInternalStream } from "./manage.js"; import { env, ffmpegArgs, hlsExceptions } from "../config.js"; -import { getHeaders, closeResponse } from "./shared.js"; +import { getHeaders, closeResponse, pipe } from "./shared.js"; function toRawHeaders(headers) { return Object.entries(headers) @@ -28,16 +28,6 @@ function killProcess(p) { }, 5000); } -function pipe(from, to, done) { - from.on('error', done) - .on('close', done); - - to.on('error', done) - .on('close', done); - - from.pipe(to); -} - function getCommand(args) { if (!isNaN(env.processingPriority)) { return ['nice', ['-n', env.processingPriority.toString(), ffmpeg, ...args]] From 85bed9aa7479dc8175fbcab3d590c7cc685b75d4 Mon Sep 17 00:00:00 2001 From: dumbmoron Date: Thu, 6 Jun 2024 14:45:36 +0000 Subject: [PATCH 4/5] stream/internal: use pipe() to handle internal streams --- src/modules/stream/internal.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/modules/stream/internal.js b/src/modules/stream/internal.js index fae23f57..833adf7d 100644 --- a/src/modules/stream/internal.js +++ b/src/modules/stream/internal.js @@ -1,7 +1,7 @@ import { request } from 'undici'; import { Readable } from 'node:stream'; import { assert } from 'console'; -import { getHeaders } from './shared.js'; +import { getHeaders, pipe } from './shared.js'; const CHUNK_SIZE = BigInt(8e6); // 8 MB const min = (a, b) => a < b ? a : b; @@ -66,8 +66,7 @@ async function handleYoutubeStream(streamInfo, res) { if (headerValue) res.setHeader(headerName, headerValue); } - stream.pipe(res); - stream.on('error', () => res.end()); + pipe(stream, res, () => res.end()); } catch { res.end(); } @@ -97,8 +96,7 @@ export async function internalStream(streamInfo, res) { if (req.statusCode < 200 || req.statusCode > 299) return res.end(); - req.body.pipe(res); - req.body.on('error', () => res.end()); + pipe(req.body, res, () => res.end()); } catch { streamInfo.controller.abort(); } From 4c8cd9dd30181da072b1555a47fde705103610e7 Mon Sep 17 00:00:00 2001 From: wukko Date: Fri, 7 Jun 2024 14:52:55 +0600 Subject: [PATCH 5/5] youtube: change innertube client to ios --- src/modules/processing/services/youtube.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/processing/services/youtube.js b/src/modules/processing/services/youtube.js index fae4e04d..f350612a 100644 --- a/src/modules/processing/services/youtube.js +++ b/src/modules/processing/services/youtube.js @@ -61,7 +61,7 @@ export default async function(o) { } try { - info = await yt.getBasicInfo(o.id, 'WEB'); + info = await yt.getBasicInfo(o.id, 'IOS'); } catch(e) { if (e?.message === 'This video is unavailable') { return { error: 'ErrorCouldntFetch' };