]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/helpers/youtube-dl.ts
Fix youtube-dl update with proxy
[github/Chocobozzz/PeerTube.git] / server / helpers / youtube-dl.ts
index 3072affed79ab9e17af9147ad84a1906dbdf28f9..0392ec4c7ca3a2277e0b312df84a654adec1ccb9 100644 (file)
@@ -1,6 +1,5 @@
 import { createWriteStream } from 'fs'
 import { ensureDir, move, pathExists, remove, writeFile } from 'fs-extra'
-import got from 'got'
 import { join } from 'path'
 import { CONFIG } from '@server/initializers/config'
 import { HttpStatusCode } from '../../shared/models/http/http-error-codes'
@@ -9,6 +8,7 @@ import { CONSTRAINTS_FIELDS, VIDEO_CATEGORIES, VIDEO_LANGUAGES, VIDEO_LICENCES }
 import { peertubeTruncate, pipelinePromise, root } from './core-utils'
 import { isVideoFileExtnameValid } from './custom-validators/videos'
 import { logger } from './logger'
+import { peertubeGot } from './requests'
 import { generateVideoImportTmpPath } from './utils'
 
 export type YoutubeDLInfo = {
@@ -343,7 +343,9 @@ class YoutubeDL {
     await ensureDir(binDirectory)
 
     try {
-      const result = await got(url, { followRedirect: false })
+      const gotContext = { bodyKBLimit: 20_000 }
+
+      const result = await peertubeGot(url, { followRedirect: false, context: gotContext })
 
       if (result.statusCode !== HttpStatusCode.FOUND_302) {
         logger.error('youtube-dl update error: did not get redirect for the latest version link. Status %d', result.statusCode)
@@ -353,7 +355,7 @@ class YoutubeDL {
       const newUrl = result.headers.location
       const newVersion = /\/(\d{4}\.\d\d\.\d\d(\.\d)?)\/youtube-dl$/.exec(newUrl)[1]
 
-      const downloadFileStream = got.stream(newUrl)
+      const downloadFileStream = peertubeGot.stream(newUrl, { context: gotContext })
       const writeStream = createWriteStream(bin, { mode: 493 })
 
       await pipelinePromise(