diff --git a/CHANGELOG.md b/CHANGELOG.md index 9096a87..0dde9d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +* [v2.4.0](https://github.com/newt-sc/a4kSubtitles/releases/tag/service.subtitles.a4ksubtitles%2Fservice.subtitles.a4ksubtitles-2.4.0): + * Fix some ssl issues + * [v2.3.0](https://github.com/newt-sc/a4kSubtitles/releases/tag/service.subtitles.a4ksubtitles%2Fservice.subtitles.a4ksubtitles-2.3.0): * Add concurrency error handling diff --git a/a4kSubtitles/lib/request.py b/a4kSubtitles/lib/request.py index f843bb1..e33d751 100644 --- a/a4kSubtitles/lib/request.py +++ b/a4kSubtitles/lib/request.py @@ -4,8 +4,21 @@ import urllib3 import re import time +import ssl +import traceback from .kodi import get_int_setting from . import logger +from requests import adapters + +class TLSAdapter(adapters.HTTPAdapter): + def init_poolmanager(self, connections, maxsize, block=False): + ctx = ssl.create_default_context() + ctx.set_ciphers('DEFAULT@SECLEVEL=1') + self.poolmanager = urllib3.poolmanager.PoolManager(num_pools=connections, + maxsize=maxsize, + block=block, + ssl_version=ssl.PROTOCOL_TLSv1_2, + ssl_context=ctx) urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) @@ -35,15 +48,19 @@ def execute(core, request, progress=True): if next: request.pop('stream', None) - logger.debug('%s ^ - %s' % (request['method'], request['url'])) + logger.debug('%s ^ - %s, %s' % (request['method'], request['url'], core.json.dumps(request.get('params', {})))) try: - response = requests.request(verify=False, **request) + session = requests.session() + session.mount('https://', TLSAdapter()) + response = session.request(**request) + exc = '' except: # pragma: no cover + exc = traceback.format_exc() response = lambda: None response.text = '' response.content = '' response.status_code = 500 - logger.debug('%s $ - %s - %s' % (request['method'], request['url'], response.status_code)) + logger.debug('%s $ - %s - %s, %s' % (request['method'], request['url'], response.status_code, exc)) alt_request = validate(response) if alt_request: diff --git a/addon.xml b/addon.xml index 0bfae44..71f0136 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ @@ -27,6 +27,9 @@ Supports: OpenSubtitles, BSPlayer, Podnadpisi.NET, Subscene, Addic7ed screenshot-03.png +[v2.4.0]: + * Fix some ssl issues + [v2.3.0]: * Add concurrency error handling diff --git a/packages/addons.xml b/packages/addons.xml index 2bb98c1..f2d849f 100644 --- a/packages/addons.xml +++ b/packages/addons.xml @@ -4,7 +4,7 @@ @@ -30,6 +30,9 @@ Supports: OpenSubtitles, BSPlayer, Podnadpisi.NET, Subscene, Addic7ed screenshot-03.png +[v2.4.0]: + * Fix some ssl issues + [v2.3.0]: * Add concurrency error handling diff --git a/packages/addons.xml.crc b/packages/addons.xml.crc index d083771..5cdd450 100644 --- a/packages/addons.xml.crc +++ b/packages/addons.xml.crc @@ -1 +1 @@ -1cf652272d659fb7b413a06ee24601b01c3945c4 \ No newline at end of file +c2916b4b36e9d51f074627cb68c2be0e1e8b7949 \ No newline at end of file