diff --git a/config/default.yaml b/config/default.yaml index c315878b2..da04c0e95 100644 --- a/config/default.yaml +++ b/config/default.yaml @@ -285,9 +285,10 @@ import: videos: http: # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html enabled: false + # IPv6 is very strongly rate-limited on most sites supported by youtube-dl - forceipv4: - enabled: true + force_ipv4: false + # You can use an HTTP/HTTPS/SOCKS proxy with youtube-dl proxy: enabled: false diff --git a/config/production.yaml.example b/config/production.yaml.example index bbaafd9b4..ec38f4cf7 100644 --- a/config/production.yaml.example +++ b/config/production.yaml.example @@ -299,9 +299,10 @@ import: videos: http: # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html enabled: false + # IPv6 is very strongly rate-limited on most sites supported by youtube-dl - forceipv4: - enabled: true + force_ipv4: false + # You can use an HTTP/HTTPS/SOCKS proxy with youtube-dl proxy: enabled: false diff --git a/server/helpers/youtube-dl.ts b/server/helpers/youtube-dl.ts index 8733fe6cf..302b2e206 100644 --- a/server/helpers/youtube-dl.ts +++ b/server/helpers/youtube-dl.ts @@ -34,7 +34,11 @@ const processOptions = { function getYoutubeDLInfo (url: string, opts?: string[]): Promise { return new Promise((res, rej) => { let args = opts || [ '-j', '--flat-playlist' ] - if (CONFIG.IMPORT.VIDEOS.HTTP.FORCEIPV4) args.push('--force-ipv4') + + if (CONFIG.IMPORT.VIDEOS.HTTP.FORCE_IPV4) { + args.push('--force-ipv4') + } + args = wrapWithProxyOptions(args) safeGetYoutubeDL() diff --git a/server/initializers/config.ts b/server/initializers/config.ts index d1bbbc9a7..705223b0a 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -229,9 +229,7 @@ const CONFIG = { VIDEOS: { HTTP: { get ENABLED () { return config.get('import.videos.http.enabled') }, - FORCEIPV4: { - get ENABLED () { return config.get('import.videos.http.forceipv4.enabled') } - }, + get FORCE_IPV4 () { return config.get('import.videos.http.force_ipv4') }, PROXY: { get ENABLED () { return config.get('import.videos.http.proxy.enabled') }, get URL () { return config.get('import.videos.http.proxy.url') }