diff --git a/addon.xml b/addon.xml index e5b9d04..9ed5703 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ diff --git a/resources/lib/mysession.py b/resources/lib/mysession.py new file mode 100644 index 0000000..364dc43 --- /dev/null +++ b/resources/lib/mysession.py @@ -0,0 +1,32 @@ +# encoding: utf-8 +# +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import unicode_literals, absolute_import, division + +import requests + +import ssl +from requests.adapters import HTTPAdapter +from requests.packages.urllib3.poolmanager import PoolManager + +class CustomAdapter(HTTPAdapter, object): + try: + ctx = ssl.create_default_context() + ctx.set_ciphers('DEFAULT@SECLEVEL=1') + + def init_poolmanager(self, connections, maxsize, block=False): + self.poolmanager = PoolManager( + num_pools=connections, + maxsize=maxsize, + block=block, + ssl_version=ssl.PROTOCOL_TLS, + ssl_context=self.ctx + ) + except: + pass + +class MySession(requests.Session, object): + def __init__(self, *args, **kwargs): + super(MySession, self).__init__(*args, **kwargs) + self.mount('https://', CustomAdapter()) diff --git a/resources/lib/network.py b/resources/lib/network.py index 2b4ca54..93a5810 100644 --- a/resources/lib/network.py +++ b/resources/lib/network.py @@ -7,11 +7,12 @@ from __future__ import unicode_literals, absolute_import, division import json import requests +from .mysession import MySession from .log import LOG, print_json class Network(object): headers = {} - session = requests.Session() + session = MySession() def load_url(self, url, headers = None): if headers is None: headers = self.headers diff --git a/resources/lib/proxy.py b/resources/lib/proxy.py index 389db58..5671467 100644 --- a/resources/lib/proxy.py +++ b/resources/lib/proxy.py @@ -42,13 +42,14 @@ from contextlib import closing from .b64 import encode_base64 from .log import LOG +from .mysession import MySession from .addon import profile_dir, addon from .useragent import useragent from ttml2ssa import Ttml2SsaAddon ttml = Ttml2SsaAddon() -session = requests.Session() +session = MySession() session.headers.update({'user-agent': useragent}) previous_tokens = []