diff --git a/main.py b/main.py index f574f32..30dd4ed 100644 --- a/main.py +++ b/main.py @@ -9,6 +9,7 @@ PoC-скрипт для автоматической выгрузки релиз import json import logging import sys +import ssl import time import warnings from copy import deepcopy @@ -18,9 +19,21 @@ from typing import Any, Dict, List, Optional, Tuple import requests import yaml -import urllib3 +from requests.adapters import HTTPAdapter +from urllib3.poolmanager import PoolManager -urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + +class InsecureSslAdapter(HTTPAdapter): + """Adapter that bypasses SSL verification entirely.""" + def init_poolmanager(self, *args, **kwargs): + ctx = ssl._create_unverified_context() + kwargs["ssl_context"] = ctx + return super().init_poolmanager(*args, **kwargs) + + def proxy_manager_for(self, *args, **kwargs): + ctx = ssl._create_unverified_context() + kwargs["ssl_context"] = ctx + return super().proxy_manager_for(*args, **kwargs) logger = logging.getLogger("sandbox_gitflic") @@ -164,6 +177,7 @@ class GitFlicClient: }) if not self.verify_ssl: self._session.verify = False + self._session.mount("https://", InsecureSslAdapter()) logger.warning("Проверка SSL-сертификата отключена для GitFlic") def _request(self, method: str, path: str, **kwargs) -> requests.Response: @@ -361,6 +375,7 @@ class PTSandboxClient: }) if not self.verify_ssl: self._session.verify = False + self._session.mount("https://", InsecureSslAdapter()) logger.warning("Проверка SSL-сертификата отключена для PT Sandbox") def upload_file(self, file_path: Path) -> Optional[str]: