fix: InsecureSslAdapter с ssl._create_unverified_context для обхода самоподписанных сертификатов

This commit is contained in:
redlineo committed 2026-09-16 18:25:55 +03:00
1 parent 6836060de8
commit ad450ccb12
1 file changed
+17 -2
+17 -2
View File
@@ -9,6 +9,7 @@ PoC-скрипт для автоматической выгрузки релиз
import json import json
import logging import logging
import sys import sys
import ssl
import time import time
import warnings import warnings
from copy import deepcopy from copy import deepcopy
@@ -18,9 +19,21 @@ from typing import Any, Dict, List, Optional, Tuple
import requests import requests
import yaml 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") logger = logging.getLogger("sandbox_gitflic")
@@ -164,6 +177,7 @@ class GitFlicClient:
}) })
if not self.verify_ssl: if not self.verify_ssl:
self._session.verify = False self._session.verify = False
self._session.mount("https://", InsecureSslAdapter())
logger.warning("Проверка SSL-сертификата отключена для GitFlic") logger.warning("Проверка SSL-сертификата отключена для GitFlic")
def _request(self, method: str, path: str, **kwargs) -> requests.Response: def _request(self, method: str, path: str, **kwargs) -> requests.Response:
@@ -361,6 +375,7 @@ class PTSandboxClient:
}) })
if not self.verify_ssl: if not self.verify_ssl:
self._session.verify = False self._session.verify = False
self._session.mount("https://", InsecureSslAdapter())
logger.warning("Проверка SSL-сертификата отключена для PT Sandbox") logger.warning("Проверка SSL-сертификата отключена для PT Sandbox")
def upload_file(self, file_path: Path) -> Optional[str]: def upload_file(self, file_path: Path) -> Optional[str]: