mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2025-08-22 22:34:01 -07:00
Merge acad161001
into 195f22f679
This commit is contained in:
commit
b02b3b3e50
4 changed files with 7 additions and 5 deletions
|
@ -101,7 +101,7 @@ Alternatively, refer to the [developer instructions](#developer-instructions) fo
|
|||
--proxy URL Use the specified HTTP/HTTPS/SOCKS
|
||||
proxy. To enable SOCKS proxy, specify a
|
||||
proper scheme. For example
|
||||
socks5://127.0.0.1:1080/. Pass in an
|
||||
socks5h://127.0.0.1:1080/. Pass in an
|
||||
empty string (--proxy "") for direct
|
||||
connection
|
||||
--socket-timeout SECONDS Time to wait before giving up, in
|
||||
|
|
|
@ -113,6 +113,8 @@ class TestSocks(unittest.TestCase):
|
|||
def test_socks5(self):
|
||||
self.assertTrue(isinstance(self._get_ip('socks5'), compat_str))
|
||||
|
||||
def test_socks5h(self):
|
||||
self.assertTrue(isinstance(self._get_ip('socks5h'), compat_str))
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
|
@ -205,7 +205,7 @@ def parseOpts(overrideArguments=None):
|
|||
default=None, metavar='URL',
|
||||
help='Use the specified HTTP/HTTPS/SOCKS proxy. To enable '
|
||||
'SOCKS proxy, specify a proper scheme. For example '
|
||||
'socks5://127.0.0.1:1080/. Pass in an empty string (--proxy "") '
|
||||
'socks5h://127.0.0.1:1080/. Pass in an empty string (--proxy "") '
|
||||
'for direct connection')
|
||||
network.add_option(
|
||||
'--socket-timeout',
|
||||
|
|
|
@ -79,7 +79,7 @@ def register_socks_protocols():
|
|||
# "Register" SOCKS protocols
|
||||
# In Python < 2.6.5, urlsplit() suffers from bug https://bugs.python.org/issue7904
|
||||
# URLs with protocols not in urlparse.uses_netloc are not handled correctly
|
||||
for scheme in ('socks', 'socks4', 'socks4a', 'socks5'):
|
||||
for scheme in ('socks', 'socks4', 'socks4a', 'socks5', 'socks5h'):
|
||||
if scheme not in compat_urlparse.uses_netloc:
|
||||
compat_urlparse.uses_netloc.append(scheme)
|
||||
|
||||
|
@ -2726,7 +2726,7 @@ def make_socks_conn_class(base_class, socks_proxy):
|
|||
compat_http_client.HTTPConnection, compat_http_client.HTTPSConnection))
|
||||
|
||||
url_components = compat_urlparse.urlparse(socks_proxy)
|
||||
if url_components.scheme.lower() == 'socks5':
|
||||
if url_components.scheme.lower() in ('socks5', 'socks5h'):
|
||||
socks_type = ProxyType.SOCKS5
|
||||
elif url_components.scheme.lower() in ('socks', 'socks4'):
|
||||
socks_type = ProxyType.SOCKS4
|
||||
|
@ -5586,7 +5586,7 @@ class PerRequestProxyHandler(compat_urllib_request.ProxyHandler):
|
|||
|
||||
if proxy == '__noproxy__':
|
||||
return None # No Proxy
|
||||
if compat_urlparse.urlparse(proxy).scheme.lower() in ('socks', 'socks4', 'socks4a', 'socks5'):
|
||||
if compat_urlparse.urlparse(proxy).scheme.lower() in ('socks', 'socks4', 'socks4a', 'socks5', 'socks5h'):
|
||||
req.add_header('Ytdl-socks-proxy', proxy)
|
||||
# youtube-dl's http/https handlers do wrapping the socket with socks
|
||||
return None
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue