untube 2.9.3 → 2.10.0
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/README.md +5 -1
- package/dist/cookie-manager.d.ts +1 -0
- package/dist/cookie-manager.d.ts.map +1 -1
- package/dist/cookie-manager.js +69 -47
- package/dist/cookie-manager.js.map +1 -1
- package/dist/index.d.ts +1 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +74 -43
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -126,7 +126,11 @@ stream.pipe(fs.createWriteStream('video.mp4'));
|
|
|
126
126
|
| Option | Type | Default | Description |
|
|
127
127
|
| :--- | :--- | :--- | :--- |
|
|
128
128
|
| `proxy` | `string` | `undefined` | Proxy URL (HTTP/HTTPS). |
|
|
129
|
-
| `cookies` | `string \| RawCookie` | `undefined` | Path to Netscape cookie file or `RawCookie` instance. |
|
|
129
|
+
| `cookies` | `string \| RawCookie` | `undefined` | Path to Netscape cookie file or `RawCookie` instance. Cookie files are updated in place with rotations/deletions from YouTube's `Set-Cookie` responses. |
|
|
130
|
+
| `client` | `string` | `undefined` | Force a specific InnerTube client (`visionos`, `mweb`, `web`). Defaults to trying them in that order. |
|
|
131
|
+
| `potProviderUrl` | `string` | `undefined` | bgutil-compatible PO token provider. Accepts either a base URL (e.g. `http://127.0.0.1:4416`) or the full `/get_pot` endpoint. Tokens are bound to the visitor data used for the request and cached in memory. |
|
|
132
|
+
|
|
133
|
+
> **Note on PO tokens:** clients other than `visionos` may require a PO token for their stream URLs to be accepted by the CDN. With a provider configured, expect ~1 provider request per `getVideoInfo` call when an authenticated client is used.
|
|
130
134
|
|
|
131
135
|
---
|
|
132
136
|
|
package/dist/cookie-manager.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie-manager.d.ts","sourceRoot":"","sources":["../src/cookie-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAU,MAAM,cAAc,CAAC;AAEjD,qBAAa,SAAS;IAEP,MAAM,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBADjD,MAAM,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EACtC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAE/D;AAED,cAAM,aAAa;IACf,OAAO,CAAC,MAAM,CAAiC;
|
|
1
|
+
{"version":3,"file":"cookie-manager.d.ts","sourceRoot":"","sources":["../src/cookie-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAU,MAAM,cAAc,CAAC;AAEjD,qBAAa,SAAS;IAEP,MAAM,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBADjD,MAAM,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EACtC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAE/D;AAED,cAAM,aAAa;IACf,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,MAAM,CAAS;IAChB,GAAG,EAAE,SAAS,CAAC;gBAEV,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAKjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoErB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmD3B,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIpC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;CAMxD;AAED,eAAe,aAAa,CAAC"}
|
package/dist/cookie-manager.js
CHANGED
|
@@ -10,6 +10,7 @@ export class RawCookie {
|
|
|
10
10
|
}
|
|
11
11
|
class CookieManager {
|
|
12
12
|
source;
|
|
13
|
+
loaded = false;
|
|
13
14
|
jar;
|
|
14
15
|
constructor(source) {
|
|
15
16
|
this.source = source;
|
|
@@ -19,14 +20,21 @@ class CookieManager {
|
|
|
19
20
|
if (!this.source)
|
|
20
21
|
return;
|
|
21
22
|
let content = '';
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
else if (typeof this.source === 'string') {
|
|
26
|
-
if (fs.existsSync(this.source)) {
|
|
27
|
-
content = fs.readFileSync(this.source, 'utf8');
|
|
23
|
+
try {
|
|
24
|
+
if (this.source instanceof RawCookie) {
|
|
25
|
+
content = await this.source.onRead();
|
|
28
26
|
}
|
|
27
|
+
else if (typeof this.source === 'string') {
|
|
28
|
+
if (fs.existsSync(this.source)) {
|
|
29
|
+
content = fs.readFileSync(this.source, 'utf8');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
console.warn('Failed to load cookies; continuing without them:', err.message);
|
|
35
|
+
return;
|
|
29
36
|
}
|
|
37
|
+
this.loaded = true;
|
|
30
38
|
if (!content)
|
|
31
39
|
return;
|
|
32
40
|
const lines = content.split('\n');
|
|
@@ -50,21 +58,21 @@ class CookieManager {
|
|
|
50
58
|
const expires = parseInt(parts[4], 10);
|
|
51
59
|
const name = parts[5];
|
|
52
60
|
const value = parts[6];
|
|
53
|
-
const cookie = new Cookie({
|
|
54
|
-
key: name,
|
|
55
|
-
value: value,
|
|
56
|
-
domain: domain?.startsWith('.') ? domain.substring(1) : domain,
|
|
57
|
-
path: path,
|
|
58
|
-
secure: secure,
|
|
59
|
-
httpOnly: isHttpOnly,
|
|
60
|
-
hostOnly: !includesSubdomains,
|
|
61
|
-
expires: expires <= 0 ? 'Infinity' : new Date(expires * 1000)
|
|
62
|
-
});
|
|
63
|
-
const protocol = secure ? 'https' : 'http';
|
|
64
|
-
const domainProp = cookie.domain || 'youtube.com';
|
|
65
|
-
const host = domainProp.startsWith('.') ? domainProp.substring(1) : domainProp;
|
|
66
|
-
const url = `${protocol}://${host}${path}`;
|
|
67
61
|
try {
|
|
62
|
+
const cookie = new Cookie({
|
|
63
|
+
key: name,
|
|
64
|
+
value: value,
|
|
65
|
+
domain: domain?.startsWith('.') ? domain.substring(1) : domain,
|
|
66
|
+
path: path,
|
|
67
|
+
secure: secure,
|
|
68
|
+
httpOnly: isHttpOnly,
|
|
69
|
+
hostOnly: !includesSubdomains,
|
|
70
|
+
expires: expires <= 0 ? 'Infinity' : new Date(expires * 1000)
|
|
71
|
+
});
|
|
72
|
+
const protocol = secure ? 'https' : 'http';
|
|
73
|
+
const domainProp = cookie.domain || 'youtube.com';
|
|
74
|
+
const host = domainProp.startsWith('.') ? domainProp.substring(1) : domainProp;
|
|
75
|
+
const url = `${protocol}://${host}${path}`;
|
|
68
76
|
this.jar.setCookieSync(cookie, url, { ignoreError: true });
|
|
69
77
|
}
|
|
70
78
|
catch (e) {
|
|
@@ -72,36 +80,50 @@ class CookieManager {
|
|
|
72
80
|
}
|
|
73
81
|
}
|
|
74
82
|
async save() {
|
|
75
|
-
let out = '# Netscape HTTP Cookie File\n';
|
|
76
|
-
out += '# This file was generated by Node.js\n\n';
|
|
77
|
-
const allCookies = await new Promise((resolve, reject) => {
|
|
78
|
-
this.jar.store.getAllCookies((err, cookies) => {
|
|
79
|
-
if (err)
|
|
80
|
-
reject(err);
|
|
81
|
-
else
|
|
82
|
-
resolve(cookies || []);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
for (const cookie of allCookies) {
|
|
86
|
-
let prefix = cookie.httpOnly ? '#HttpOnly_' : '';
|
|
87
|
-
let domain = cookie.domain || '';
|
|
88
|
-
if (!cookie.hostOnly && !domain.startsWith('.'))
|
|
89
|
-
domain = '.' + domain;
|
|
90
|
-
const includeSubdomains = domain.startsWith('.') || !cookie.hostOnly ? 'TRUE' : 'FALSE';
|
|
91
|
-
const path = cookie.path || '/';
|
|
92
|
-
const secure = cookie.secure ? 'TRUE' : 'FALSE';
|
|
93
|
-
const expires = cookie.expires === 'Infinity' || !cookie.expires ? 0 : Math.floor(new Date(cookie.expires).getTime() / 1000);
|
|
94
|
-
const name = cookie.key;
|
|
95
|
-
const value = cookie.value;
|
|
96
|
-
out += `${prefix}${domain}\t${includeSubdomains}\t${path}\t${secure}\t${expires}\t${name}\t${value}\n`;
|
|
97
|
-
}
|
|
98
83
|
if (!this.source)
|
|
99
84
|
return;
|
|
100
|
-
if (this.
|
|
101
|
-
|
|
85
|
+
if (!this.loaded) {
|
|
86
|
+
console.warn('Skipping cookie save because the initial cookie load failed');
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
let out = '# Netscape HTTP Cookie File\n';
|
|
91
|
+
out += '# This file was generated by Node.js\n\n';
|
|
92
|
+
const allCookies = await new Promise((resolve, reject) => {
|
|
93
|
+
this.jar.store.getAllCookies((err, cookies) => {
|
|
94
|
+
if (err)
|
|
95
|
+
reject(err);
|
|
96
|
+
else
|
|
97
|
+
resolve(cookies || []);
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
const seen = new Set();
|
|
101
|
+
for (const cookie of allCookies) {
|
|
102
|
+
let prefix = cookie.httpOnly ? '#HttpOnly_' : '';
|
|
103
|
+
let domain = cookie.domain || '';
|
|
104
|
+
if (!cookie.hostOnly && !domain.startsWith('.'))
|
|
105
|
+
domain = '.' + domain;
|
|
106
|
+
const includeSubdomains = domain.startsWith('.') || !cookie.hostOnly ? 'TRUE' : 'FALSE';
|
|
107
|
+
const path = cookie.path || '/';
|
|
108
|
+
const secure = cookie.secure ? 'TRUE' : 'FALSE';
|
|
109
|
+
const expires = cookie.expires === 'Infinity' || !cookie.expires ? 0 : Math.floor(new Date(cookie.expires).getTime() / 1000);
|
|
110
|
+
const name = cookie.key;
|
|
111
|
+
const value = cookie.value;
|
|
112
|
+
const dedupeKey = `${domain}\t${path}\t${name}`;
|
|
113
|
+
if (seen.has(dedupeKey))
|
|
114
|
+
continue;
|
|
115
|
+
seen.add(dedupeKey);
|
|
116
|
+
out += `${prefix}${domain}\t${includeSubdomains}\t${path}\t${secure}\t${expires}\t${name}\t${value}\n`;
|
|
117
|
+
}
|
|
118
|
+
if (this.source instanceof RawCookie) {
|
|
119
|
+
await this.source.onWrite(out);
|
|
120
|
+
}
|
|
121
|
+
else if (typeof this.source === 'string') {
|
|
122
|
+
fs.writeFileSync(this.source, out, 'utf8');
|
|
123
|
+
}
|
|
102
124
|
}
|
|
103
|
-
|
|
104
|
-
|
|
125
|
+
catch (err) {
|
|
126
|
+
console.warn('Failed to save cookies:', err.message);
|
|
105
127
|
}
|
|
106
128
|
}
|
|
107
129
|
getCookieString(url) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie-manager.js","sourceRoot":"","sources":["../src/cookie-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,OAAO,SAAS;IAEP;IACA;IAFX,YACW,MAAsC,EACtC,OAAiD;QADjD,WAAM,GAAN,MAAM,CAAgC;QACtC,YAAO,GAAP,OAAO,CAA0C;IACzD,CAAC;CACP;AAED,MAAM,aAAa;IACP,MAAM,CAAiC;
|
|
1
|
+
{"version":3,"file":"cookie-manager.js","sourceRoot":"","sources":["../src/cookie-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -69,15 +69,12 @@ export interface InnerTubeClientConfig {
|
|
|
69
69
|
deviceModel?: string;
|
|
70
70
|
osName?: string;
|
|
71
71
|
osVersion?: string;
|
|
72
|
-
thirdParty?: {
|
|
73
|
-
embedUrl?: string;
|
|
74
|
-
};
|
|
75
72
|
}
|
|
76
73
|
export declare const CLIENT_CONFIGS: Record<string, InnerTubeClientConfig>;
|
|
77
74
|
export interface GetVideoInfoOptions {
|
|
78
75
|
cookies?: string | RawCookie;
|
|
79
76
|
proxy?: string;
|
|
80
|
-
client?: 'visionos' | '
|
|
77
|
+
client?: 'visionos' | 'mweb' | 'web' | string;
|
|
81
78
|
potProviderUrl?: string;
|
|
82
79
|
}
|
|
83
80
|
declare function getVideoInfo(videoId: string, options?: GetVideoInfoOptions): Promise<VideoInfo>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAsB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC7I,OAAO,EAAE,WAAW,EAAY,MAAM,aAAa,CAAA;AAInD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,61 @@ import fs from 'node:fs/promises';
|
|
|
9
9
|
import { downloadVideoParallel } from './downloader.js';
|
|
10
10
|
import { ytmusic, getTrackInfo } from './ytmusic.js';
|
|
11
11
|
const globalPreprocessedPlayerCache = new Map();
|
|
12
|
+
const poTokenCache = new Map();
|
|
13
|
+
const POT_CACHE_TTL_MS = 6 * 60 * 60 * 1000;
|
|
14
|
+
function resolvePotEndpoint(providerUrl) {
|
|
15
|
+
try {
|
|
16
|
+
const url = new URL(providerUrl);
|
|
17
|
+
if (url.pathname === '' || url.pathname === '/') {
|
|
18
|
+
url.pathname = '/get_pot';
|
|
19
|
+
}
|
|
20
|
+
return url.toString();
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return providerUrl;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async function fetchPoToken(endpoint, contentBinding, dispatcher) {
|
|
27
|
+
try {
|
|
28
|
+
const res = await fetch(endpoint, {
|
|
29
|
+
method: 'POST',
|
|
30
|
+
headers: { 'Content-Type': 'application/json' },
|
|
31
|
+
body: JSON.stringify(contentBinding ? { content_binding: contentBinding } : {}),
|
|
32
|
+
dispatcher
|
|
33
|
+
});
|
|
34
|
+
if (!res.ok) {
|
|
35
|
+
console.warn(`PO Token provider returned ${res.status} ${res.statusText}`);
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const data = await res.json();
|
|
39
|
+
const poToken = data?.poToken || data?.po_token;
|
|
40
|
+
if (!poToken) {
|
|
41
|
+
console.warn('PO Token provider response did not contain a token');
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
poToken,
|
|
46
|
+
visitorData: data?.contentBinding || data?.visitor_data || data?.visitorData
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
console.warn('Failed to fetch PO Token from provider:', err.message);
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async function getPoToken(providerUrl, contentBinding, dispatcher) {
|
|
55
|
+
const endpoint = resolvePotEndpoint(providerUrl);
|
|
56
|
+
const cacheKey = `${endpoint}|${contentBinding || ''}`;
|
|
57
|
+
const cached = poTokenCache.get(cacheKey);
|
|
58
|
+
if (cached && cached.expires > Date.now())
|
|
59
|
+
return cached;
|
|
60
|
+
const fresh = await fetchPoToken(endpoint, contentBinding, dispatcher);
|
|
61
|
+
if (!fresh)
|
|
62
|
+
return null;
|
|
63
|
+
const entry = { ...fresh, expires: Date.now() + POT_CACHE_TTL_MS };
|
|
64
|
+
poTokenCache.set(cacheKey, entry);
|
|
65
|
+
return entry;
|
|
66
|
+
}
|
|
12
67
|
export const CLIENT_CONFIGS = {
|
|
13
68
|
web: {
|
|
14
69
|
name: 'web',
|
|
@@ -30,17 +85,6 @@ export const CLIENT_CONFIGS = {
|
|
|
30
85
|
osName: 'visionOS',
|
|
31
86
|
osVersion: '26.5.23O471'
|
|
32
87
|
},
|
|
33
|
-
web_embedded: {
|
|
34
|
-
name: 'web_embedded',
|
|
35
|
-
clientName: 'WEB_EMBEDDED_PLAYER',
|
|
36
|
-
clientVersion: '2.20260708.00.00',
|
|
37
|
-
clientId: '56',
|
|
38
|
-
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
|
|
39
|
-
origin: 'https://www.youtube.com',
|
|
40
|
-
thirdParty: {
|
|
41
|
-
embedUrl: 'https://www.reddit.com/'
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
88
|
mweb: {
|
|
45
89
|
name: 'mweb',
|
|
46
90
|
clientName: 'MWEB',
|
|
@@ -48,14 +92,6 @@ export const CLIENT_CONFIGS = {
|
|
|
48
92
|
clientId: '2',
|
|
49
93
|
userAgent: 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36',
|
|
50
94
|
origin: 'https://m.youtube.com'
|
|
51
|
-
},
|
|
52
|
-
tv_downgraded: {
|
|
53
|
-
name: 'tv_downgraded',
|
|
54
|
-
clientName: 'TVHTML5',
|
|
55
|
-
clientVersion: '5.20260707',
|
|
56
|
-
clientId: '7',
|
|
57
|
-
userAgent: 'Mozilla/5.0 (ChromiumStylePlatform) Cobalt/Version',
|
|
58
|
-
origin: 'https://www.youtube.com'
|
|
59
95
|
}
|
|
60
96
|
};
|
|
61
97
|
async function getVideoInfo(videoId, options = {}) {
|
|
@@ -102,10 +138,13 @@ async function getVideoInfo(videoId, options = {}) {
|
|
|
102
138
|
const sapisidCookie = cm.jar.getCookiesSync(apiUrl).find((c) => c.key === 'SAPISID');
|
|
103
139
|
let candidateClientNames;
|
|
104
140
|
if (options.client) {
|
|
141
|
+
if (!CLIENT_CONFIGS[options.client]) {
|
|
142
|
+
throw new Error(`Unknown InnerTube client "${options.client}". Available clients: ${Object.keys(CLIENT_CONFIGS).join(', ')}`);
|
|
143
|
+
}
|
|
105
144
|
candidateClientNames = [options.client];
|
|
106
145
|
}
|
|
107
146
|
else {
|
|
108
|
-
candidateClientNames = ['visionos', '
|
|
147
|
+
candidateClientNames = ['visionos', 'mweb', 'web'];
|
|
109
148
|
}
|
|
110
149
|
let json = null;
|
|
111
150
|
let lastError = null;
|
|
@@ -116,7 +155,7 @@ async function getVideoInfo(videoId, options = {}) {
|
|
|
116
155
|
continue;
|
|
117
156
|
}
|
|
118
157
|
generatedPoToken = undefined;
|
|
119
|
-
const clientConfig = CLIENT_CONFIGS[clientKey]
|
|
158
|
+
const clientConfig = CLIENT_CONFIGS[clientKey];
|
|
120
159
|
const clientVersion = (clientKey === 'mweb' && ytcfg.INNERTUBE_CLIENT_VERSION) ? ytcfg.INNERTUBE_CLIENT_VERSION : clientConfig.clientVersion;
|
|
121
160
|
const clientPayload = {
|
|
122
161
|
clientName: clientConfig.clientName,
|
|
@@ -147,27 +186,19 @@ async function getVideoInfo(videoId, options = {}) {
|
|
|
147
186
|
}
|
|
148
187
|
}
|
|
149
188
|
};
|
|
150
|
-
|
|
151
|
-
payload.context.thirdParty = clientConfig.thirdParty;
|
|
152
|
-
}
|
|
189
|
+
let clientVisitorData = visitorData;
|
|
153
190
|
if (clientKey !== 'visionos' && options.potProviderUrl) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
const tokenData = await res.json();
|
|
161
|
-
const poToken = tokenData?.poToken || tokenData?.po_token;
|
|
162
|
-
if (poToken) {
|
|
163
|
-
generatedPoToken = poToken;
|
|
164
|
-
payload.serviceIntegrityDimensions = { poToken };
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
catch (err) {
|
|
168
|
-
console.warn('Failed to fetch PO Token from provider:', err.message);
|
|
191
|
+
const pot = await getPoToken(options.potProviderUrl, visitorData, dispatcher);
|
|
192
|
+
if (pot) {
|
|
193
|
+
generatedPoToken = pot.poToken;
|
|
194
|
+
payload.serviceIntegrityDimensions = { poToken: pot.poToken };
|
|
195
|
+
if (pot.visitorData)
|
|
196
|
+
clientVisitorData = pot.visitorData;
|
|
169
197
|
}
|
|
170
198
|
}
|
|
199
|
+
if (clientVisitorData) {
|
|
200
|
+
clientPayload.visitorData = clientVisitorData;
|
|
201
|
+
}
|
|
171
202
|
const apiHeaders = {
|
|
172
203
|
'User-Agent': clientConfig.userAgent,
|
|
173
204
|
'Content-Type': 'application/json',
|
|
@@ -175,8 +206,8 @@ async function getVideoInfo(videoId, options = {}) {
|
|
|
175
206
|
'X-Youtube-Client-Version': clientVersion,
|
|
176
207
|
'Origin': clientConfig.origin
|
|
177
208
|
};
|
|
178
|
-
if (
|
|
179
|
-
apiHeaders['X-Goog-Visitor-Id'] =
|
|
209
|
+
if (clientVisitorData) {
|
|
210
|
+
apiHeaders['X-Goog-Visitor-Id'] = clientVisitorData;
|
|
180
211
|
}
|
|
181
212
|
if (clientKey !== 'visionos') {
|
|
182
213
|
if (apiCookieString) {
|
|
@@ -221,8 +252,8 @@ async function getVideoInfo(videoId, options = {}) {
|
|
|
221
252
|
const adaptiveFmts = resJson.streamingData?.adaptiveFormats || [];
|
|
222
253
|
if (adaptiveFmts.length > 0) {
|
|
223
254
|
const usableAdaptive = adaptiveFmts.filter((f) => f.url || f.signatureCipher || f.cipher);
|
|
224
|
-
if (usableAdaptive.length
|
|
225
|
-
lastError = new Error(`YouTube Error (${clientKey}): Soft-block detected (
|
|
255
|
+
if (usableAdaptive.length * 2 < adaptiveFmts.length) {
|
|
256
|
+
lastError = new Error(`YouTube Error (${clientKey}): Soft-block detected (${usableAdaptive.length}/${adaptiveFmts.length} adaptive formats usable; SABR-only response)`);
|
|
226
257
|
continue;
|
|
227
258
|
}
|
|
228
259
|
}
|
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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"}
|