distube-invidious 1.0.7 → 1.0.9

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;IACI,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IA4BnC;;;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,32 @@ 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: {
31
+ ...(originalFFmpegArgs.global || {}),
32
+ // User-Agent goes in global args
33
+ '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'
34
+ },
35
+ input: {
36
+ ...(originalFFmpegArgs.input || {}),
37
+ // Connection stability options
38
+ reconnect: '1',
39
+ reconnect_streamed: '1',
40
+ reconnect_delay_max: '5'
41
+ },
42
+ output: originalFFmpegArgs.output || []
43
+ };
44
+ console.log('[InvidiousPlugin] ✓ Auto-configured FFmpeg with browser User-Agent');
45
+ }
21
46
  // Required ExtractorPlugin Methods
22
47
  /**
23
48
  * Validates if URL is a YouTube URL.
@@ -70,10 +95,8 @@ export class InvidiousPlugin extends ExtractorPlugin {
70
95
  *
71
96
  * This method:
72
97
  * 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
98
+ * 2. Validates URLs leniently (lets FFmpeg try even if validation fails)
99
+ * 3. Prioritizes opus by quality (highest bitrate first), then AAC
77
100
  *
78
101
  * Quality priority:
79
102
  * 1. Opus audio (highest bitrate → lowest bitrate)
@@ -112,53 +135,49 @@ export class InvidiousPlugin extends ExtractorPlugin {
112
135
  }
113
136
  return 0;
114
137
  };
115
- // Helper: Validate URL using GET with Range header
138
+ // Helper: Validate URL leniently (always returns true, logs errors but continues)
116
139
  const validateUrl = async (url) => {
117
140
  try {
118
141
  const controller = new AbortController();
119
142
  const timeoutId = setTimeout(() => controller.abort(), 5000);
120
143
  const response = await fetch(url, {
121
- method: "GET",
144
+ method: "HEAD",
122
145
  headers: {
123
- Range: "bytes=0-1",
146
+ "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",
147
+ Accept: "*/*",
148
+ "Accept-Language": "en-US,en;q=0.9",
149
+ "Accept-Encoding": "gzip, deflate, br",
150
+ Origin: "https://www.youtube.com",
151
+ Referer: "https://www.youtube.com/",
152
+ "Sec-Fetch-Dest": "empty",
153
+ "Sec-Fetch-Mode": "cors",
154
+ "Sec-Fetch-Site": "cross-site",
155
+ "Sec-Ch-Ua": '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"',
156
+ "Sec-Ch-Ua-Mobile": "?0",
157
+ "Sec-Ch-Ua-Platform": '"Windows"',
124
158
  },
125
159
  signal: controller.signal,
126
160
  });
127
161
  clearTimeout(timeoutId);
128
- return response.status === 206 || response.status === 200;
162
+ // Accept 2xx and 3xx status codes
163
+ return response.status >= 200 && response.status < 400;
129
164
  }
130
165
  catch (error) {
131
- console.log(`[InvidiousPlugin] Validation failed: ${error.message}`);
132
- return false;
166
+ // On error, let FFmpeg try - it might work anyway
167
+ console.log(`[InvidiousPlugin] Validation error, continuing: ${error.message}`);
168
+ return true;
133
169
  }
134
170
  };
135
- // Helper: Process and validate a URL
136
- const tryUrl = async (url, formatName, decodeCipher = true) => {
171
+ // Helper: Try to validate and return a URL
172
+ const tryUrl = async (url, formatName) => {
137
173
  if (!url || isManifestUrl(url)) {
138
174
  return null;
139
175
  }
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
176
  console.log(`[InvidiousPlugin] Trying ${formatName}`);
153
177
  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
- }
178
+ await validateUrl(url);
179
+ console.log(`[InvidiousPlugin] ✓ Selected ${formatName}`);
180
+ return url;
162
181
  };
163
182
  // Extract and sort audio formats by quality
164
183
  console.log(`[InvidiousPlugin] Processing ${song.id}...`);
@@ -204,32 +223,39 @@ export class InvidiousPlugin extends ExtractorPlugin {
204
223
  aacFormats.sort((a, b) => b.bitrate - a.bitrate);
205
224
  otherFormats.sort((a, b) => b.bitrate - a.bitrate);
206
225
  console.log(`[InvidiousPlugin] Found ${opusFormats.length} opus, ${aacFormats.length} AAC, ${otherFormats.length} other audio formats`);
226
+ // ============================================================================
207
227
  // Priority 1: Try opus formats (highest to lowest bitrate)
228
+ // ============================================================================
208
229
  for (const format of opusFormats) {
209
230
  const result = await tryUrl(format.url, `opus (bitrate: ${format.bitrate}, itag: ${format.itag})`);
210
231
  if (result)
211
232
  return result;
212
233
  }
234
+ // ============================================================================
213
235
  // Priority 2: Try AAC formats (highest to lowest bitrate)
236
+ // ============================================================================
214
237
  for (const format of aacFormats) {
215
238
  const result = await tryUrl(format.url, `AAC (bitrate: ${format.bitrate}, itag: ${format.itag})`);
216
239
  if (result)
217
240
  return result;
218
241
  }
242
+ // ============================================================================
219
243
  // Priority 3: Try other audio formats
244
+ // ============================================================================
220
245
  for (const format of otherFormats) {
221
246
  const result = await tryUrl(format.url, `${format.type} (bitrate: ${format.bitrate})`);
222
247
  if (result)
223
248
  return result;
224
249
  }
250
+ // ============================================================================
225
251
  // No valid stream found - throw error
252
+ // ============================================================================
226
253
  console.error(`[InvidiousPlugin] ERROR: No valid audio stream found for ${song.id}`);
227
254
  console.error(`[InvidiousPlugin] Opus formats tried: ${opusFormats.length}`);
228
255
  console.error(`[InvidiousPlugin] AAC formats tried: ${aacFormats.length}`);
229
256
  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.");
257
+ console.error(`[InvidiousPlugin] Try: different Invidious instance or check if video is available`);
258
+ 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
259
  }
234
260
  /**
235
261
  * 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.9",
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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"}