mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-06-15 18:13:40 +03:00
Fixed plugin installation ssl verification issue (#101)
* Added cert location debugging * Install certifi * Try adding manual cacert in install request * Properly use ssl * More efficiently load ssl certificate
This commit is contained in:
@@ -13,6 +13,8 @@ from subprocess import Popen
|
||||
|
||||
import json
|
||||
|
||||
import helpers
|
||||
|
||||
class PluginInstallContext:
|
||||
def __init__(self, artifact, name, version, hash) -> None:
|
||||
self.artifact = artifact
|
||||
@@ -72,7 +74,7 @@ class PluginBrowser:
|
||||
self.log.info(f"Installing {name} (Version: {version})")
|
||||
async with ClientSession() as client:
|
||||
self.log.debug(f"Fetching {artifact}")
|
||||
res = await client.get(artifact)
|
||||
res = await client.get(artifact, ssl=helpers.get_ssl_context())
|
||||
if res.status == 200:
|
||||
self.log.debug("Got 200. Reading...")
|
||||
data = await res.read()
|
||||
|
||||
7
backend/helpers.py
Normal file
7
backend/helpers.py
Normal file
@@ -0,0 +1,7 @@
|
||||
import ssl
|
||||
import certifi
|
||||
|
||||
ssl_ctx = ssl.create_default_context(cafile=certifi.where())
|
||||
|
||||
def get_ssl_context():
|
||||
return ssl_ctx
|
||||
@@ -4,7 +4,7 @@ from json.decoder import JSONDecodeError
|
||||
from aiohttp import ClientSession, web
|
||||
|
||||
from injector import inject_to_tab
|
||||
|
||||
import helpers
|
||||
|
||||
class Utilities:
|
||||
def __init__(self, context) -> None:
|
||||
@@ -48,7 +48,7 @@ class Utilities:
|
||||
|
||||
async def http_request(self, method="", url="", **kwargs):
|
||||
async with ClientSession() as web:
|
||||
async with web.request(method, url, **kwargs) as res:
|
||||
async with web.request(method, url, ssl=helpers.get_ssl_context(), **kwargs) as res:
|
||||
return {
|
||||
"status": res.status,
|
||||
"headers": dict(res.headers),
|
||||
|
||||
Reference in New Issue
Block a user