cookies for ytdl
This commit is contained in:
parent
d56fc025f2
commit
f75783569e
@ -9,6 +9,345 @@ import * as xml2js from 'xml2js';
|
||||
|
||||
const service = google.youtube("v3");
|
||||
|
||||
const agent = ytdl.createAgent([
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885754.678493,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "__Secure-1PAPISID",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "Ydllg_a0ziZ2IRkW/AxTe18r6nUqk7BEbQ",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885754.678415,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "__Secure-1PSID",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "g.a000mwiFpDXHv-mE1JbzAv29Ye5X1D7V-zT1tEGx1_bd46Kree9yTMpJEGK4nnajwLM5d0hj7gACgYKAYUSARUSFQHGX2MiVlSE8GgO3Vmj3YT3n8k6WhoVAUF8yKoU4xPY7CM6zb7j98zdaVV70076",
|
||||
"id": 2
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1754861761.153214,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "__Secure-1PSIDCC",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "AKEyXzXzGpG2-NgDLDoR0-TXlyJVUQJQ_hzs2wEvAZmPy5VTxaOIXg4QrrR3N_v5EWUqhQ4q",
|
||||
"id": 3
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1754861754.678387,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "__Secure-1PSIDTS",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "sidts-CjIBUFGohzuXoAbjBYmkalmpToyVGhPcAMyp-r3IgiyU7WlYnluERYQWrB-zOvpwcD5F_RAA",
|
||||
"id": 4
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885754.678506,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "__Secure-3PAPISID",
|
||||
"path": "/",
|
||||
"sameSite": "no_restriction",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "Ydllg_a0ziZ2IRkW/AxTe18r6nUqk7BEbQ",
|
||||
"id": 5
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885754.678427,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "__Secure-3PSID",
|
||||
"path": "/",
|
||||
"sameSite": "no_restriction",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "g.a000mwiFpDXHv-mE1JbzAv29Ye5X1D7V-zT1tEGx1_bd46Kree9y4tCIp7vBEBU5tBLxdPiklQACgYKAVgSARUSFQHGX2MiCFYG1JWlH9dAu8gduZa6dRoVAUF8yKpMaD9-H5JRU8a-L-_Za4wd0076",
|
||||
"id": 6
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1754861761.153238,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "__Secure-3PSIDCC",
|
||||
"path": "/",
|
||||
"sameSite": "no_restriction",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "AKEyXzUy-4CY7B0Gu-XHjrZVVpAWPNJNET5PQOlbRbmaa_ecvp7AS8Nwf5gbDTfL47zj0Dez3Q",
|
||||
"id": 7
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1754861754.678402,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "__Secure-3PSIDTS",
|
||||
"path": "/",
|
||||
"sameSite": "no_restriction",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "sidts-CjIBUFGohzuXoAbjBYmkalmpToyVGhPcAMyp-r3IgiyU7WlYnluERYQWrB-zOvpwcD5F_RAA",
|
||||
"id": 8
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757453723.663338,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "__Secure-YEC",
|
||||
"path": "/",
|
||||
"sameSite": "lax",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "CgtVakdtMnJrZ2VwRSi_ut-1BjIKCgJERRIEEgAgKQ%3D%3D",
|
||||
"id": 9
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885754.678463,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "APISID",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": false,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "PzwvCMFIwi-WXHNK/Aa7aeSu6UGGiR3Xw-",
|
||||
"id": 10
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1723326359,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "CONSISTENCY",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "AKreu9uoPRzjfNbvjscAvYa4AnZ7yXSd9GkhniF8n1uodA2SI5_UawxviB_l5efAOS7TIHbrzFvCUM3riEdLFWvDQ0So_SGThxdrORfZ0vAZzDn30MIgE0ddEa_h-aBhNzX4ispknt4SY4E76opMTGsu",
|
||||
"id": 11
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885754.678441,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "HSID",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": false,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "An0F5SiZ_NJH4_Rx4",
|
||||
"id": 12
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885756.324828,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "LOGIN_INFO",
|
||||
"path": "/",
|
||||
"sameSite": "no_restriction",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "AFmmF2swRQIgQD5euCkX56qyeRocOC192DF6siCwmZiG5RFdXIsIOKQCIQDVYMUXa9fafpFC4gJAi32F-LsqO7a5ptBfytQ0ooI-7g:QUQ3MjNmd1RmUlRfd25hTUFDT214TF9pcHlXcEh5ZHAzc2d0Rjc2WjZVUEJCRW1KSV9QRTlBZXpTLXA1QXFtdExyMzFncVdteTE4N1pMWk9yUnhTVU8taF93eEZlRm95UTdubHJ3emt4SVBYeVNjQ0dDREtnb2JWeHhHeU1HYy1xVlhlZTU4V3g3TnEyMm9uWDZzTzlBZHhjSG81dXZ3WnJn",
|
||||
"id": 13
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1739136959.800355,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "NID",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "516=aE2sFI_rh_Rh7q0T-GD9vzWm4pf6Uak1iFjvzBFuRr8wxfSmJEDS6NzXpXKLLNKi_ba-NaxkIxkfhKJ9I3ODz9TmFnuTwQVvGbSordWz2DI3IvtXEygFNEGTTW1WuKBOHO-WXjdM2nuQ4b7d3KWiDttthySlnE6l0vur98aENPo",
|
||||
"id": 14
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885758.099494,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "PREF",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "f6=40000000&tz=Europe.Berlin",
|
||||
"id": 15
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885754.678475,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "SAPISID",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "Ydllg_a0ziZ2IRkW/AxTe18r6nUqk7BEbQ",
|
||||
"id": 16
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885754.678333,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "SID",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": false,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "g.a000mwiFpDXHv-mE1JbzAv29Ye5X1D7V-zT1tEGx1_bd46Kree9yaWb-XRQACGvVe52ZscToXgACgYKAc4SARUSFQHGX2MipK_BxY_xGkd82ZuR_-usghoVAUF8yKoD-HK1Ms_BeaLioA-9grr10076",
|
||||
"id": 17
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1754861761.153147,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "SIDCC",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": false,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "AKEyXzVET2aVXEooYcLzVZcKqrNU4ugR61hBJSb9_Kg9YQSdRmMSiwZNQZEHDNA0spao7jlE",
|
||||
"id": 18
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757453733.489585,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "SOCS",
|
||||
"path": "/",
|
||||
"sameSite": "lax",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "CAESFggDEgk2NjA1NTYzMjIaBWVuLUdCIAEaBgiA29q1Bg",
|
||||
"id": 19
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1757885754.678452,
|
||||
"hostOnly": false,
|
||||
"httpOnly": true,
|
||||
"name": "SSID",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": true,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "AMLcUMa2BaB8t4bo0",
|
||||
"id": 20
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1723325764,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "ST-hcbf8d",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": false,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "session_logininfo=AFmmF2swRQIgQD5euCkX56qyeRocOC192DF6siCwmZiG5RFdXIsIOKQCIQDVYMUXa9fafpFC4gJAi32F-LsqO7a5ptBfytQ0ooI-7g%3AQUQ3MjNmd1RmUlRfd25hTUFDT214TF9pcHlXcEh5ZHAzc2d0Rjc2WjZVUEJCRW1KSV9QRTlBZXpTLXA1QXFtdExyMzFncVdteTE4N1pMWk9yUnhTVU8taF93eEZlRm95UTdubHJ3emt4SVBYeVNjQ0dDREtnb2JWeHhHeU1HYy1xVlhlZTU4V3g3TnEyMm9uWDZzTzlBZHhjSG81dXZ3WnJn",
|
||||
"id": 21
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1723325763,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "ST-l3hjtt",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": false,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "session_logininfo=AFmmF2swRQIgQD5euCkX56qyeRocOC192DF6siCwmZiG5RFdXIsIOKQCIQDVYMUXa9fafpFC4gJAi32F-LsqO7a5ptBfytQ0ooI-7g%3AQUQ3MjNmd1RmUlRfd25hTUFDT214TF9pcHlXcEh5ZHAzc2d0Rjc2WjZVUEJCRW1KSV9QRTlBZXpTLXA1QXFtdExyMzFncVdteTE4N1pMWk9yUnhTVU8taF93eEZlRm95UTdubHJ3emt4SVBYeVNjQ0dDREtnb2JWeHhHeU1HYy1xVlhlZTU4V3g3TnEyMm9uWDZzTzlBZHhjSG81dXZ3WnJn",
|
||||
"id": 22
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1723325763,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "ST-tladcw",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": false,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "session_logininfo=AFmmF2swRQIgQD5euCkX56qyeRocOC192DF6siCwmZiG5RFdXIsIOKQCIQDVYMUXa9fafpFC4gJAi32F-LsqO7a5ptBfytQ0ooI-7g%3AQUQ3MjNmd1RmUlRfd25hTUFDT214TF9pcHlXcEh5ZHAzc2d0Rjc2WjZVUEJCRW1KSV9QRTlBZXpTLXA1QXFtdExyMzFncVdteTE4N1pMWk9yUnhTVU8taF93eEZlRm95UTdubHJ3emt4SVBYeVNjQ0dDREtnb2JWeHhHeU1HYy1xVlhlZTU4V3g3TnEyMm9uWDZzTzlBZHhjSG81dXZ3WnJn",
|
||||
"id": 23
|
||||
},
|
||||
{
|
||||
"domain": ".youtube.com",
|
||||
"expirationDate": 1723325764,
|
||||
"hostOnly": false,
|
||||
"httpOnly": false,
|
||||
"name": "ST-xuwub9",
|
||||
"path": "/",
|
||||
"sameSite": "unspecified",
|
||||
"secure": false,
|
||||
"session": false,
|
||||
"storeId": "1",
|
||||
"value": "session_logininfo=AFmmF2swRQIgQD5euCkX56qyeRocOC192DF6siCwmZiG5RFdXIsIOKQCIQDVYMUXa9fafpFC4gJAi32F-LsqO7a5ptBfytQ0ooI-7g%3AQUQ3MjNmd1RmUlRfd25hTUFDT214TF9pcHlXcEh5ZHAzc2d0Rjc2WjZVUEJCRW1KSV9QRTlBZXpTLXA1QXFtdExyMzFncVdteTE4N1pMWk9yUnhTVU8taF93eEZlRm95UTdubHJ3emt4SVBYeVNjQ0dDREtnb2JWeHhHeU1HYy1xVlhlZTU4V3g3TnEyMm9uWDZzTzlBZHhjSG81dXZ3WnJn",
|
||||
"id": 24
|
||||
}
|
||||
]);
|
||||
|
||||
export async function getVideoById(access_token, video_id) {
|
||||
const video = await service.videos.list({
|
||||
access_token,
|
||||
@ -60,7 +399,7 @@ export async function getChannelInfo(access_token) {
|
||||
part: "id,contentDetails,snippet",
|
||||
mine: true,
|
||||
maxResults: 1
|
||||
}).then(res => res);
|
||||
}, {agent}).then(res => res);
|
||||
|
||||
if (!channel.data.items[0]) {
|
||||
throw new Error("no_channel");
|
||||
@ -121,7 +460,7 @@ export async function getAccessToken(fastify, request) {
|
||||
|
||||
export async function getVideoDetails(video_url) {
|
||||
if (!(ytdl.validateURL(video_url))) throw new Error("Invalid Youtube URL");
|
||||
const info = await ytdl.getBasicInfo(video_url);
|
||||
const info = await ytdl.getBasicInfo(video_url, {agent});
|
||||
return {
|
||||
title: info.videoDetails.title,
|
||||
description: info.videoDetails.description
|
||||
@ -177,3 +516,4 @@ export async function getVideoWithCaptions(video_url) {
|
||||
captions: await parseXMLCaptions(captions)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user