mirror of
https://github.com/Yuvi9587/Kemono-Downloader.git
synced 2025-12-29 16:14:44 +00:00
Socks 4 and 5 proxy support
This commit is contained in:
parent
de202961a0
commit
4bf57eb752
@ -849,12 +849,24 @@ class DownloaderApp (QWidget ):
|
|||||||
settings['proxy_port'] = self.settings.value(PROXY_PORT_KEY, "", type=str)
|
settings['proxy_port'] = self.settings.value(PROXY_PORT_KEY, "", type=str)
|
||||||
settings['proxy_username'] = self.settings.value(PROXY_USERNAME_KEY, "", type=str)
|
settings['proxy_username'] = self.settings.value(PROXY_USERNAME_KEY, "", type=str)
|
||||||
settings['proxy_password'] = self.settings.value(PROXY_PASSWORD_KEY, "", type=str)
|
settings['proxy_password'] = self.settings.value(PROXY_PASSWORD_KEY, "", type=str)
|
||||||
|
proxy_type_str = self.settings.value("proxy_type", "HTTP", type=str)
|
||||||
|
|
||||||
settings['proxies'] = None
|
settings['proxies'] = None
|
||||||
if settings['proxy_enabled'] and settings['proxy_host'] and settings['proxy_port']:
|
if settings['proxy_enabled'] and settings['proxy_host'] and settings['proxy_port']:
|
||||||
proxy_str = f"http://{settings['proxy_host']}:{settings['proxy_port']}"
|
|
||||||
|
# Determine correct scheme
|
||||||
|
scheme = "http"
|
||||||
|
if proxy_type_str == "SOCKS5":
|
||||||
|
scheme = "socks5h" # 'socks5h' forces remote DNS resolution (safer/better for bypassing)
|
||||||
|
elif proxy_type_str == "SOCKS4":
|
||||||
|
scheme = "socks4"
|
||||||
|
|
||||||
|
# Build URL string
|
||||||
if settings['proxy_username'] and settings['proxy_password']:
|
if settings['proxy_username'] and settings['proxy_password']:
|
||||||
proxy_str = f"http://{settings['proxy_username']}:{settings['proxy_password']}@{settings['proxy_host']}:{settings['proxy_port']}"
|
proxy_str = f"{scheme}://{settings['proxy_username']}:{settings['proxy_password']}@{settings['proxy_host']}:{settings['proxy_port']}"
|
||||||
|
else:
|
||||||
|
proxy_str = f"{scheme}://{settings['proxy_host']}:{settings['proxy_port']}"
|
||||||
|
|
||||||
settings['proxies'] = {'http': proxy_str, 'https': proxy_str}
|
settings['proxies'] = {'http': proxy_str, 'https': proxy_str}
|
||||||
|
|
||||||
return settings
|
return settings
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user