diff --git a/src/pyload/core/config/default.cfg b/src/pyload/core/config/default.cfg index 5ca85a1053..bd7b0f58c7 100644 --- a/src/pyload/core/config/default.cfg +++ b/src/pyload/core/config/default.cfg @@ -7,6 +7,7 @@ general - "General": debug;trace;stack debug_level : "Debug level" = trace int min_free_space : "Minimum free space in MiB" = 1024 bool folder_per_package : "Create folder for each package" = True + bool ssl_verify : "Peer's SSL certificate verification" = True permission - "Permissions": bool change_user : "Change user of running process" = False str user : "Username for ownership" = user diff --git a/src/pyload/core/network/http/http_request.py b/src/pyload/core/network/http/http_request.py index 05a08b99fb..fe5d099005 100644 --- a/src/pyload/core/network/http/http_request.py +++ b/src/pyload/core/network/http/http_request.py @@ -103,7 +103,7 @@ def init_handle(self): self.c.setopt(pycurl.NOPROGRESS, 1) if hasattr(pycurl, "AUTOREFERER"): self.c.setopt(pycurl.AUTOREFERER, 1) - self.c.setopt(pycurl.SSL_VERIFYPEER, 0) + self.c.setopt(pycurl.SSL_VERIFYPEER, 1) self.c.setopt(pycurl.LOW_SPEED_TIME, 60) self.c.setopt(pycurl.LOW_SPEED_LIMIT, 5) if hasattr(pycurl, "USE_SSL"): @@ -114,7 +114,7 @@ def init_handle(self): self.c.setopt( pycurl.USERAGENT, - b"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", + b"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0", ) if pycurl.version_info()[7]: self.c.setopt(pycurl.ENCODING, b"gzip, deflate") @@ -174,6 +174,9 @@ def set_interface(self, options): if "timeout" in options: self.c.setopt(pycurl.LOW_SPEED_TIME, int(options["timeout"])) + if "ssl_verify" in options: + self.c.setopt(pycurl.SSL_VERIFYPEER, 1 if options["ssl_verify"] else 0) + def add_cookies(self): """ put cookies from curl handle to cj. diff --git a/src/pyload/core/network/request_factory.py b/src/pyload/core/network/request_factory.py index 48832554ef..197c39aca2 100644 --- a/src/pyload/core/network/request_factory.py +++ b/src/pyload/core/network/request_factory.py @@ -112,6 +112,7 @@ def get_options(self): "interface": self.iface(), "proxies": self.get_proxies(), "ipv6": self.pyload.config.get("download", "ipv6"), + "ssl_verify": self.pyload.config.get("general", "ssl_verify"), } def update_bucket(self):