1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2026-02-22 16:36:54 +00:00

Add proxy nocheckcertificate and client_certificate options to YoutubeDL

This commit is contained in:
coletdjnz
2024-09-08 17:23:20 +12:00
parent 40ab38b660
commit a3cf32ad5b
2 changed files with 30 additions and 1 deletions

View File

@@ -340,10 +340,15 @@ class YoutubeDL:
legacyserverconnect: Explicitly allow HTTPS connection to servers that do not
support RFC 5746 secure renegotiation
nocheckcertificate: Do not verify SSL certificates
proxy_nocheckcertificate: Do not verify SSL certificates for HTTPS proxy
client_certificate: Path to client certificate file in PEM format. May include the private key
client_certificate_key: Path to private key file for client certificate
client_certificate_password: Password for client certificate private key, if encrypted.
If not provided and the key is encrypted, yt-dlp will ask interactively
proxy_client_certificate: Path to client certificate file in PEM format for HTTPS proxy. May include the private key
proxy_client_certificate_key: Path to private key file for client certificate for HTTPS proxy.
proxy_client_certificate_password: Password for client certificate private key, if encrypted, for HTTPS proxy.
If not provided and the key is encrypted, yt-dlp will ask interactively
prefer_insecure: Use HTTP instead of HTTPS to retrieve information.
(Only supported by some extractors)
enable_file_urls: Enable file:// URLs. This is disabled by default for security reasons.
@@ -4221,6 +4226,7 @@ class YoutubeDL:
proxies=proxies,
prefer_system_certs='no-certifi' in self.params['compat_opts'],
verify=not self.params.get('nocheckcertificate'),
proxy_verify=not self.params.get('proxy_nocheckcertificate'),
**traverse_obj(self.params, {
'verbose': 'debug_printtraffic',
'source_address': 'source_address',
@@ -4233,6 +4239,11 @@ class YoutubeDL:
'client_certificate_key': 'client_certificate_key',
'client_certificate_password': 'client_certificate_password',
},
'proxy_client_cert': {
'client_certificate': 'proxy_client_certificate',
'client_certificate_key': 'proxy_client_certificate_key',
'client_certificate_password': 'proxy_client_certificate_password',
},
}),
))
director.preferences.update(preferences or [])