Further integrate Simplified Privacy essentials library

This commit is contained in:
codeking 2026-03-18 20:10:29 +01:00
parent a3a9fb8843
commit f3298856ed

View file

@ -11,6 +11,7 @@ from core.models.system.SystemState import SystemState
from core.observers.ConnectionObserver import ConnectionObserver from core.observers.ConnectionObserver import ConnectionObserver
from core.services.WebServiceApiService import WebServiceApiService from core.services.WebServiceApiService import WebServiceApiService
from essentials.modules.TorModule import TorModule from essentials.modules.TorModule import TorModule
from essentials.services.ConnectionService import ConnectionService
from pathlib import Path from pathlib import Path
from subprocess import CalledProcessError from subprocess import CalledProcessError
from typing import Union, Optional, Any from typing import Union, Optional, Any
@ -18,7 +19,6 @@ import os
import random import random
import re import re
import shutil import shutil
import socket
import subprocess import subprocess
import sys import sys
import tempfile import tempfile
@ -137,7 +137,7 @@ class ConnectionController:
if profile.connection.code == 'tor': if profile.connection.code == 'tor':
port_number = ConnectionController.get_random_available_port_number() port_number = ConnectionService.get_random_available_port_number()
ConnectionController.establish_tor_session_connection(port_number, connection_observer=connection_observer) ConnectionController.establish_tor_session_connection(port_number, connection_observer=connection_observer)
session_state.network_port_numbers.tor.append(port_number) session_state.network_port_numbers.tor.append(port_number)
@ -146,14 +146,14 @@ class ConnectionController:
if ConfigurationController.get_endpoint_verification_enabled(): if ConfigurationController.get_endpoint_verification_enabled():
ProfileController.verify_wireguard_endpoint(profile, ignore=ignore) ProfileController.verify_wireguard_endpoint(profile, ignore=ignore)
port_number = ConnectionController.get_random_available_port_number() port_number = ConnectionService.get_random_available_port_number()
ConnectionController.establish_wireguard_session_connection(profile, session_directory, port_number) ConnectionController.establish_wireguard_session_connection(profile, session_directory, port_number)
session_state.network_port_numbers.wireguard.append(port_number) session_state.network_port_numbers.wireguard.append(port_number)
if profile.connection.masked: if profile.connection.masked:
while proxy_port_number is None or proxy_port_number == port_number: while proxy_port_number is None or proxy_port_number == port_number:
proxy_port_number = ConnectionController.get_random_available_port_number() proxy_port_number = ConnectionService.get_random_available_port_number()
ConnectionController.establish_proxy_session_connection(profile, session_directory, port_number, proxy_port_number) ConnectionController.establish_proxy_session_connection(profile, session_directory, port_number, proxy_port_number)
session_state.network_port_numbers.proxy.append(proxy_port_number) session_state.network_port_numbers.proxy.append(proxy_port_number)
@ -316,16 +316,6 @@ class ConnectionController:
https=f'socks5h://127.0.0.1:{port_number}' https=f'socks5h://127.0.0.1:{port_number}'
) )
@staticmethod
def get_random_available_port_number():
socket_instance = socket.socket()
socket_instance.bind(('', 0))
port_number = socket_instance.getsockname()[1]
socket_instance.close()
return port_number
@staticmethod @staticmethod
def await_connection(port_number: Optional[int] = None, connection_observer: Optional[ConnectionObserver] = None): def await_connection(port_number: Optional[int] = None, connection_observer: Optional[ConnectionObserver] = None):
@ -431,7 +421,7 @@ class ConnectionController:
@staticmethod @staticmethod
def __with_tor_connection(*args, task: Callable[..., Any], connection_observer: Optional[ConnectionObserver] = None, **kwargs): def __with_tor_connection(*args, task: Callable[..., Any], connection_observer: Optional[ConnectionObserver] = None, **kwargs):
port_number = ConnectionController.get_random_available_port_number() port_number = ConnectionService.get_random_available_port_number()
ConnectionController.establish_tor_session_connection(port_number, connection_observer=connection_observer) ConnectionController.establish_tor_session_connection(port_number, connection_observer=connection_observer)
ConnectionController.await_connection(port_number, connection_observer=connection_observer) ConnectionController.await_connection(port_number, connection_observer=connection_observer)