Some refactor again

This commit is contained in:
BarsTiger
2023-06-27 22:49:28 +03:00
parent e2384de2d7
commit 914f48a92b
5 changed files with 35 additions and 8 deletions

View File

@@ -1,2 +1,7 @@
from .onion import Onion
from .onion import get_available_port
__all__ = [
'Onion',
'get_available_port'
]

View File

@@ -49,7 +49,7 @@ class Onion(object):
tor_cookie_auth_file: str
tor_data_directory: tempfile.TemporaryDirectory
tor_path: str = dirs.get_tor_paths()
tor_proc: subprocess.Popen
tor_proc: subprocess.Popen | None
c: Controller
connected_to_tor: bool = False
auth_string: str

View File

@@ -16,7 +16,12 @@ def get_latest_version() -> str:
return res
def get_build() -> Literal['windows-x86_64', 'linux-x86_64', 'macos-x86_64', 'macos-aarch64']:
def get_build() -> Literal[
'windows-x86_64',
'linux-x86_64',
'macos-x86_64',
'macos-aarch64'
]:
if sys.platform == 'win32':
return 'windows-x86_64'
elif sys.platform == 'linux':
@@ -31,18 +36,25 @@ def get_build() -> Literal['windows-x86_64', 'linux-x86_64', 'macos-x86_64', 'ma
raise 'System not supported'
def get_tor_expert_bundles(version: str = get_latest_version(), platform: str = get_build()):
return f'https://dist.torproject.org/torbrowser/{version}/tor-expert-bundle-{version}-{platform}.tar.gz'
def get_tor_expert_bundles(version: str = get_latest_version(),
platform: str = get_build()):
return f'https://dist.torproject.org/torbrowser/{version}/tor-expert-bundle-' \
f'{version}-{platform}.tar.gz'
def download_tor(url: str = get_tor_expert_bundles(), dist: str = 'tor'):
if not os.path.exists(dist):
os.makedirs(dist)
(tar := tarfile.open(fileobj=io.BytesIO(requests.get(url).content), mode='r:gz')).extractall(members=[
tarinfo for tarinfo in tar.getmembers()
if tarinfo.name.startswith("tor/")
], path=dist)
(tar := tarfile.open(fileobj=io.BytesIO(requests.get(url).content),
mode='r:gz')).extractall(
members=
[
tarinfo
for tarinfo
in tar.getmembers()
if tarinfo.name.startswith("tor/")
], path=dist)
if __name__ == '__main__':