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' };