From ad450ccb128c63d529e3e0309e821fdacd27dc30 Mon Sep 17 00:00:00 2001 From: redlineo Date: Wed, 16 Sep 2026 18:25:55 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20InsecureSslAdapter=20=D1=81=20ssl.=5Fcre?= =?UTF-8?q?ate=5Funverified=5Fcontext=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=85=D0=BE=D0=B4=D0=B0=20=D1=81=D0=B0=D0=BC=D0=BE=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D1=81?= =?UTF-8?q?=D0=B5=D1=80=D1=82=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) 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]: