distube-invidious 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,9 +1,14 @@
1
- import { ExtractorPlugin, Playlist, ResolveOptions, Song } from "distube";
1
+ import { DisTube, ExtractorPlugin, Playlist, ResolveOptions, Song } from "distube";
2
2
  import type { InvidiousPluginOptions } from "./types.js";
3
3
  export declare class InvidiousPlugin extends ExtractorPlugin {
4
4
  readonly instance: string;
5
5
  private readonly timeout;
6
6
  constructor(options: InvidiousPluginOptions);
7
+ /**
8
+ * Initialize the plugin with DisTube.
9
+ * Configures FFmpeg globally with browser-like headers for Google Video compatibility.
10
+ */
11
+ init(distube: DisTube): void;
7
12
  /**
8
13
  * Validates if URL is a YouTube URL.
9
14
  * Calls stripQuery() first to remove tracking parameters.
@@ -23,10 +28,8 @@ export declare class InvidiousPlugin extends ExtractorPlugin {
23
28
  *
24
29
  * This method:
25
30
  * 1. Searches adaptiveFormats for audio-only streams
26
- * 2. Decodes the n= cipher parameter using YouTube's transform algorithm
27
- * 3. Adds ratebypass=yes for compatibility
28
- * 4. Validates URLs using GET with Range headers
29
- * 5. Prioritizes opus by quality (highest bitrate first), then AAC
31
+ * 2. Validates URLs leniently (lets FFmpeg try even if validation fails)
32
+ * 3. Prioritizes opus by quality (highest bitrate first), then AAC
30
33
  *
31
34
  * Quality priority:
32
35
  * 1. Opus audio (highest bitrate → lowest bitrate)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,cAAc,EACd,IAAI,EAEL,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EACV,sBAAsB,EAIvB,MAAM,YAAY,CAAC;AAYpB,qBAAa,eAAgB,SAAQ,eAAe;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,sBAAsB;IAe3C;;;OAGG;IAEH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI9B;;;OAGG;IAEG,OAAO,CAAC,CAAC,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAsBjC;;OAEG;IAEG,UAAU,CAAC,CAAC,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAsB1B;;;;;;;;;;;;;;OAcG;IAEG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAkN/C;;OAEG;IAEG,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAgBlD;;OAEG;IAEG,QAAQ,CAAC,CAAC,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAsDvB;;OAEG;YAEW,gBAAgB;IA2B9B;;OAEG;IAEH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IAEH,OAAO,CAAC,UAAU;IA4BlB;;OAEG;IAEH,OAAO,CAAC,kBAAkB;CAqB3B;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EACf,QAAQ,EACR,cAAc,EACd,IAAI,EAEL,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EACV,sBAAsB,EAIvB,MAAM,YAAY,CAAC;AAWpB,qBAAa,eAAgB,SAAQ,eAAe;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,sBAAsB;IAa3C;;;OAGG;IACM,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAgCrC;;;OAGG;IAEH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI9B;;;OAGG;IAEG,OAAO,CAAC,CAAC,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAsBjC;;OAEG;IAEG,UAAU,CAAC,CAAC,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAsB1B;;;;;;;;;;;;OAYG;IAEG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IA6N/C;;OAEG;IAEG,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAgBlD;;OAEG;IAEG,QAAQ,CAAC,CAAC,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAsDvB;;OAEG;YAEW,gBAAgB;IA2B9B;;OAEG;IAEH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IAEH,OAAO,CAAC,UAAU;IA4BlB;;OAEG;IAEH,OAAO,CAAC,kBAAkB;CAqB3B;AAED,eAAe,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { ExtractorPlugin, Playlist, Song, DisTubeError, } from "distube";
2
2
  import fetch from "node-fetch";
3
- import { fixUrl as decodeCipherUrl } from "./cipherDecoder.js";
4
3
  import { stripQuery, isYouTubeUrl, extractVideoId, extractPlaylistId, } from "./url-utils.js";
5
4
  // InvidiousPlugin Class
6
5
  export class InvidiousPlugin extends ExtractorPlugin {
@@ -18,6 +17,33 @@ export class InvidiousPlugin extends ExtractorPlugin {
18
17
  this.instance = normalized;
19
18
  this.timeout = options.timeout ?? 10000;
20
19
  }
20
+ /**
21
+ * Initialize the plugin with DisTube.
22
+ * Configures FFmpeg globally with browser-like headers for Google Video compatibility.
23
+ */
24
+ init(distube) {
25
+ super.init(distube);
26
+ // Automatically configure FFmpeg with proper headers for Google Video URLs
27
+ const originalFFmpegArgs = distube.options.ffmpeg?.args || {};
28
+ distube.options.ffmpeg = distube.options.ffmpeg || {};
29
+ distube.options.ffmpeg.args = {
30
+ global: originalFFmpegArgs.global || {},
31
+ input: {
32
+ ...(originalFFmpegArgs.input || {}),
33
+ // Add browser-like headers that Google expects
34
+ headers: "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\r\n" +
35
+ "Accept: */*\r\n" +
36
+ "Accept-Language: en-US,en;q=0.9\r\n" +
37
+ "Origin: https://www.youtube.com\r\n" +
38
+ "Referer: https://www.youtube.com/",
39
+ reconnect: "1",
40
+ reconnect_streamed: "1",
41
+ reconnect_delay_max: "5",
42
+ },
43
+ output: originalFFmpegArgs.output || [],
44
+ };
45
+ console.log("[InvidiousPlugin] Configured FFmpeg with browser headers for Google Video compatibility");
46
+ }
21
47
  // Required ExtractorPlugin Methods
22
48
  /**
23
49
  * Validates if URL is a YouTube URL.
@@ -70,10 +96,8 @@ export class InvidiousPlugin extends ExtractorPlugin {
70
96
  *
71
97
  * This method:
72
98
  * 1. Searches adaptiveFormats for audio-only streams
73
- * 2. Decodes the n= cipher parameter using YouTube's transform algorithm
74
- * 3. Adds ratebypass=yes for compatibility
75
- * 4. Validates URLs using GET with Range headers
76
- * 5. Prioritizes opus by quality (highest bitrate first), then AAC
99
+ * 2. Validates URLs leniently (lets FFmpeg try even if validation fails)
100
+ * 3. Prioritizes opus by quality (highest bitrate first), then AAC
77
101
  *
78
102
  * Quality priority:
79
103
  * 1. Opus audio (highest bitrate → lowest bitrate)
@@ -112,53 +136,49 @@ export class InvidiousPlugin extends ExtractorPlugin {
112
136
  }
113
137
  return 0;
114
138
  };
115
- // Helper: Validate URL using GET with Range header
139
+ // Helper: Validate URL leniently (always returns true, logs errors but continues)
116
140
  const validateUrl = async (url) => {
117
141
  try {
118
142
  const controller = new AbortController();
119
143
  const timeoutId = setTimeout(() => controller.abort(), 5000);
120
144
  const response = await fetch(url, {
121
- method: "GET",
145
+ method: "HEAD",
122
146
  headers: {
123
- Range: "bytes=0-1",
147
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
148
+ Accept: "*/*",
149
+ "Accept-Language": "en-US,en;q=0.9",
150
+ "Accept-Encoding": "gzip, deflate, br",
151
+ Origin: "https://www.youtube.com",
152
+ Referer: "https://www.youtube.com/",
153
+ "Sec-Fetch-Dest": "empty",
154
+ "Sec-Fetch-Mode": "cors",
155
+ "Sec-Fetch-Site": "cross-site",
156
+ "Sec-Ch-Ua": '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"',
157
+ "Sec-Ch-Ua-Mobile": "?0",
158
+ "Sec-Ch-Ua-Platform": '"Windows"',
124
159
  },
125
160
  signal: controller.signal,
126
161
  });
127
162
  clearTimeout(timeoutId);
128
- return response.status === 206 || response.status === 200;
163
+ // Accept 2xx and 3xx status codes
164
+ return response.status >= 200 && response.status < 400;
129
165
  }
130
166
  catch (error) {
131
- console.log(`[InvidiousPlugin] Validation failed: ${error.message}`);
132
- return false;
167
+ // On error, let FFmpeg try - it might work anyway
168
+ console.log(`[InvidiousPlugin] Validation error, continuing: ${error.message}`);
169
+ return true;
133
170
  }
134
171
  };
135
- // Helper: Process and validate a URL
136
- const tryUrl = async (url, formatName, decodeCipher = true) => {
172
+ // Helper: Try to validate and return a URL
173
+ const tryUrl = async (url, formatName) => {
137
174
  if (!url || isManifestUrl(url)) {
138
175
  return null;
139
176
  }
140
- // Decode n= cipher if present and requested
141
- if (decodeCipher && url.includes("n=")) {
142
- try {
143
- console.log(`[InvidiousPlugin] Decoding n= cipher...`);
144
- url = await decodeCipherUrl(url);
145
- console.log(`[InvidiousPlugin] ✓ Cipher decoded`);
146
- }
147
- catch (error) {
148
- console.log(`[InvidiousPlugin] ⚠ Cipher decode failed: ${error.message}`);
149
- // Continue with original URL
150
- }
151
- }
152
177
  console.log(`[InvidiousPlugin] Trying ${formatName}`);
153
178
  console.log(`[InvidiousPlugin] URL: ${url.substring(0, 100)}...`);
154
- if (await validateUrl(url)) {
155
- console.log(`[InvidiousPlugin] ✓ Validation passed!`);
156
- return url;
157
- }
158
- else {
159
- console.log(`[InvidiousPlugin] ✗ Validation failed`);
160
- return null;
161
- }
179
+ await validateUrl(url);
180
+ console.log(`[InvidiousPlugin] ✓ Selected ${formatName}`);
181
+ return url;
162
182
  };
163
183
  // Extract and sort audio formats by quality
164
184
  console.log(`[InvidiousPlugin] Processing ${song.id}...`);
@@ -204,32 +224,39 @@ export class InvidiousPlugin extends ExtractorPlugin {
204
224
  aacFormats.sort((a, b) => b.bitrate - a.bitrate);
205
225
  otherFormats.sort((a, b) => b.bitrate - a.bitrate);
206
226
  console.log(`[InvidiousPlugin] Found ${opusFormats.length} opus, ${aacFormats.length} AAC, ${otherFormats.length} other audio formats`);
227
+ // ============================================================================
207
228
  // Priority 1: Try opus formats (highest to lowest bitrate)
229
+ // ============================================================================
208
230
  for (const format of opusFormats) {
209
231
  const result = await tryUrl(format.url, `opus (bitrate: ${format.bitrate}, itag: ${format.itag})`);
210
232
  if (result)
211
233
  return result;
212
234
  }
235
+ // ============================================================================
213
236
  // Priority 2: Try AAC formats (highest to lowest bitrate)
237
+ // ============================================================================
214
238
  for (const format of aacFormats) {
215
239
  const result = await tryUrl(format.url, `AAC (bitrate: ${format.bitrate}, itag: ${format.itag})`);
216
240
  if (result)
217
241
  return result;
218
242
  }
243
+ // ============================================================================
219
244
  // Priority 3: Try other audio formats
245
+ // ============================================================================
220
246
  for (const format of otherFormats) {
221
247
  const result = await tryUrl(format.url, `${format.type} (bitrate: ${format.bitrate})`);
222
248
  if (result)
223
249
  return result;
224
250
  }
251
+ // ============================================================================
225
252
  // No valid stream found - throw error
253
+ // ============================================================================
226
254
  console.error(`[InvidiousPlugin] ERROR: No valid audio stream found for ${song.id}`);
227
255
  console.error(`[InvidiousPlugin] Opus formats tried: ${opusFormats.length}`);
228
256
  console.error(`[InvidiousPlugin] AAC formats tried: ${aacFormats.length}`);
229
257
  console.error(`[InvidiousPlugin] Other formats tried: ${otherFormats.length}`);
230
- console.error(`[InvidiousPlugin] All URLs failed validation`);
231
- console.error(`[InvidiousPlugin] Try: different Invidious instance, check region restrictions, or check if video is available`);
232
- throw new DisTubeError("CANNOT_GET_STREAM_URL", "No playable audio stream found. All URLs failed validation. Try a different Invidious instance or check if the video is available.");
258
+ console.error(`[InvidiousPlugin] Try: different Invidious instance or check if video is available`);
259
+ throw new DisTubeError("CANNOT_GET_STREAM_URL", "No playable audio stream found. Try a different Invidious instance or check if the video is available.");
233
260
  }
234
261
  /**
235
262
  * Gets related songs for a given song.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "distube-invidious",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "author": "techtimefor",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,9 +0,0 @@
1
- /**
2
- * Decode a ciphered n= parameter.
3
- */
4
- export declare function decodeN(n: string): Promise<string>;
5
- /**
6
- * Fix a YouTube URL by decoding its n= parameter if present and ensuring ratebypass.
7
- */
8
- export declare function fixUrl(url: string): Promise<string>;
9
- //# sourceMappingURL=cipherDecoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cipherDecoder.d.ts","sourceRoot":"","sources":["../src/cipherDecoder.ts"],"names":[],"mappings":"AAiOA;;GAEG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGxD;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBzD"}
@@ -1,229 +0,0 @@
1
- // cipherDecoder.ts
2
- // Strict YouTube cipher decoder (dynamic, yt-dlp-style-ish)
3
- // Fetches player JS, extracts the n-transform function, and applies it.
4
- import fetch from "node-fetch";
5
- let cachedTransform = null;
6
- let cachedPlayerUrl = null;
7
- let cachedPlayerCode = null;
8
- /**
9
- * Fetch a YouTube watch page and extract the player JS URL.
10
- */
11
- async function getPlayerUrl() {
12
- if (cachedPlayerUrl)
13
- return cachedPlayerUrl;
14
- const res = await fetch("https://www.youtube.com/watch?v=dQw4w9WgXcQ");
15
- if (!res.ok) {
16
- throw new Error(`Failed to fetch watch page: ${res.status} ${res.statusText}`);
17
- }
18
- const html = await res.text();
19
- // Try multiple patterns, YouTube changes this often.
20
- const patterns = [
21
- /"jsUrl":"([^"]+)"/, // modern
22
- /"PLAYER_JS_URL":"([^"]+)"/,
23
- /"js":"([^"]+base\.js)"/,
24
- /"assets":\{"js":"([^"]+)"\}/,
25
- ];
26
- for (const re of patterns) {
27
- const m = html.match(re);
28
- if (m && m[1]) {
29
- const url = m[1].startsWith("http")
30
- ? m[1]
31
- : "https://www.youtube.com" + m[1];
32
- cachedPlayerUrl = url;
33
- return url;
34
- }
35
- }
36
- throw new Error("Could not find player JS URL in watch page");
37
- }
38
- /**
39
- * Fetch the player JS code.
40
- */
41
- async function getPlayerCode() {
42
- if (cachedPlayerCode)
43
- return cachedPlayerCode;
44
- const jsUrl = await getPlayerUrl();
45
- const res = await fetch(jsUrl);
46
- if (!res.ok) {
47
- throw new Error(`Failed to fetch player JS: ${res.status} ${res.statusText}`);
48
- }
49
- const code = await res.text();
50
- cachedPlayerCode = code;
51
- return code;
52
- }
53
- /**
54
- * Extract the name of the n-transform function from player JS.
55
- */
56
- function extractNFunctionName(jsCode) {
57
- const candidates = [
58
- // Older pattern
59
- /\.get\("n"\)\)&&\(b=([a-zA-Z0-9$]+)\([a-z]\)/,
60
- // Newer patterns
61
- /(?:\bncode|\bncode_)\s*=\s*([a-zA-Z0-9$]+)\([a-zA-Z0-9$]+\)/,
62
- /["']n["']\s*,\s*([a-zA-Z0-9$]+)\(/,
63
- /(?:\w+)=\w\.get\("n"\)\)&&\(\w=([a-zA-Z0-9$]+)\(\w\)\)/,
64
- ];
65
- for (const re of candidates) {
66
- const m = jsCode.match(re);
67
- if (m && m[1])
68
- return m[1];
69
- }
70
- throw new Error("Could not locate n-transform function name");
71
- }
72
- /**
73
- * Extract the body of a named function from player JS.
74
- */
75
- function extractFunctionBody(jsCode, fnName) {
76
- // Try function declaration: fnName=function(a){...}
77
- let re = new RegExp(`${fnName}=function\\(\\w\\){([^}]+)}`, "s");
78
- let m = jsCode.match(re);
79
- if (m && m[1])
80
- return m[1];
81
- // Try function declaration with more complex body
82
- re = new RegExp(`${fnName}=function\\(\\w\\){([^}]+?)};`, "s");
83
- m = jsCode.match(re);
84
- if (m && m[1])
85
- return m[1];
86
- // Try arrow function: fnName=(a)=>{...}
87
- re = new RegExp(`${fnName}=\\(\\w\\)=>{([^}]+)}`, "s");
88
- m = jsCode.match(re);
89
- if (m && m[1])
90
- return m[1];
91
- throw new Error("Could not extract n-transform function body");
92
- }
93
- /**
94
- * Extract helper object name used inside the n-transform function.
95
- */
96
- function extractHelperName(fnBody) {
97
- const m = fnBody.match(/([A-Za-z0-9$]{2})\.[A-Za-z0-9$]{2}\(\w, ?\d+\)/) ||
98
- fnBody.match(/([A-Za-z0-9$]{2})\.[A-Za-z0-9$]{2}\(\w, ?[A-Za-z0-9$]+\)/);
99
- if (!m || !m[1]) {
100
- throw new Error("Could not find helper object name");
101
- }
102
- return m[1];
103
- }
104
- /**
105
- * Extract helper object definition from player JS.
106
- */
107
- function extractHelperObject(jsCode, helperName) {
108
- const patterns = [
109
- new RegExp(`var ${helperName}={(.*?)};`, "s"),
110
- new RegExp(`let ${helperName}={(.*?)};`, "s"),
111
- new RegExp(`const ${helperName}={(.*?)};`, "s"),
112
- ];
113
- for (const re of patterns) {
114
- const m = jsCode.match(re);
115
- if (m && m[1])
116
- return m[1];
117
- }
118
- throw new Error("Could not extract helper object");
119
- }
120
- /**
121
- * Build operations map from helper object body.
122
- */
123
- function buildOperations(helperBody) {
124
- const operations = {};
125
- // Split object entries: name:function(a,b){...}
126
- const entries = helperBody.split("},");
127
- for (const entry of entries) {
128
- const [rawName, rawBody] = entry.split(":function");
129
- if (!rawName || !rawBody)
130
- continue;
131
- const name = rawName.trim();
132
- const body = rawBody;
133
- if (body.includes("reverse")) {
134
- operations[name] = (a) => a.reverse();
135
- }
136
- else if (body.includes("splice")) {
137
- operations[name] = (a, b) => {
138
- a.splice(0, b);
139
- };
140
- }
141
- else if (body.includes("var c=a[0];a[0]=a[b%a.length];a[b]=c")) {
142
- operations[name] = (a, b) => {
143
- const idx = b % a.length;
144
- const c = a[0];
145
- a[0] = a[idx];
146
- a[idx] = c;
147
- };
148
- }
149
- else if (body.includes("a.push(a.splice(0,b)[0])")) {
150
- operations[name] = (a, b) => {
151
- while (b-- > 0) {
152
- a.push(a.splice(0, 1)[0]);
153
- }
154
- };
155
- }
156
- // You can extend this with more patterns if YouTube adds new ops.
157
- }
158
- return operations;
159
- }
160
- /**
161
- * Build the transform function from the function body and operations map.
162
- */
163
- function buildTransform(fnBody, operations) {
164
- // Find all calls like: helper.op(a, 3)
165
- const calls = fnBody.match(/([A-Za-z0-9$]{2})\.([A-Za-z0-9$]{2})\(\w, ?(\d+)\)/g) || [];
166
- const steps = [];
167
- for (const call of calls) {
168
- const m = call.match(/([A-Za-z0-9$]{2})\.([A-Za-z0-9$]{2})\(\w, ?(\d+)\)/);
169
- if (!m)
170
- continue;
171
- const method = m[2];
172
- const arg = parseInt(m[3], 10);
173
- steps.push({ method, arg });
174
- }
175
- return (n) => {
176
- const arr = n.split("");
177
- for (const step of steps) {
178
- const op = operations[step.method];
179
- if (op) {
180
- op(arr, step.arg);
181
- }
182
- }
183
- return arr.join("");
184
- };
185
- }
186
- /**
187
- * Get (or build) the n-transform function.
188
- */
189
- async function getTransform() {
190
- if (cachedTransform)
191
- return cachedTransform;
192
- const jsCode = await getPlayerCode();
193
- const fnName = extractNFunctionName(jsCode);
194
- const fnBody = extractFunctionBody(jsCode, fnName);
195
- const helperName = extractHelperName(fnBody);
196
- const helperBody = extractHelperObject(jsCode, helperName);
197
- const operations = buildOperations(helperBody);
198
- const transform = buildTransform(fnBody, operations);
199
- cachedTransform = transform;
200
- return transform;
201
- }
202
- /**
203
- * Decode a ciphered n= parameter.
204
- */
205
- export async function decodeN(n) {
206
- const transform = await getTransform();
207
- return transform(n);
208
- }
209
- /**
210
- * Fix a YouTube URL by decoding its n= parameter if present and ensuring ratebypass.
211
- */
212
- export async function fixUrl(url) {
213
- const u = new URL(url);
214
- const n = u.searchParams.get("n");
215
- if (n) {
216
- try {
217
- const decoded = await decodeN(n);
218
- u.searchParams.set("n", decoded);
219
- }
220
- catch (e) {
221
- console.warn("[cipherDecoder] Failed to decode n= cipher:", e.message);
222
- }
223
- }
224
- if (!u.searchParams.has("ratebypass")) {
225
- u.searchParams.set("ratebypass", "yes");
226
- }
227
- return u.toString();
228
- }
229
- //# sourceMappingURL=cipherDecoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cipherDecoder.js","sourceRoot":"","sources":["../src/cipherDecoder.ts"],"names":[],"mappings":"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"}