diff --git a/db.py b/db.py index d1c9ae4..8636066 100644 --- a/db.py +++ b/db.py @@ -2,7 +2,7 @@ import os import json if not os.path.exists('config.json'): - db = {"our_port": 0000, "ports": [], "domain": "http://0.0.0.0:8000"} + db = {"os": None,"our_port": 0000, "ports": [], "domain": "http://0.0.0.0:8000"} js = json.dumps(db, indent=2) with open("config.json", "w") as outfile: outfile.write(js) diff --git a/proxy.py b/proxy.py index 8ec4599..94e9336 100644 --- a/proxy.py +++ b/proxy.py @@ -1,4 +1,4 @@ -from os import system, name +from os import system from threading import Thread from time import sleep @@ -7,18 +7,20 @@ from status import * global http_out ; http_out = None def proxy_http(port): global http_out - if name == "posix": - http_out = system(f"./bore local 8000 --to bore.pub --port {port}") - elif name == "nt": - http_out = system(f"bore local 8000 --to bore.pub --port {port}") + os = read()['os'] + if os == 'Linux': + http_out = system(f'./bore local 8000 --to bore.pub --port {port}') + elif os == 'Windows' or os == 'Android': + http_out = system(f'bore local 8000 --to bore.pub --port {port}') global serv_out ; serv_out = None def proxy_serv(port): global serv_out - if name == "posix": - http_out = system(f"./bore local 8001 --to bore.pub --port {port}") - elif name == "nt": - http_out = system(f"bore local 8001 --to bore.pub --port {port}") + os = read()['os'] + if os == 'Linux': + http_out = system(f'./bore local 8001 --to bore.pub --port {port}') + elif os == 'Windows' or os == 'Android': + http_out = system(f'bore local 8001 --to bore.pub --port {port}') def watch_http(port): diff --git a/setup.py b/setup.py index 029bce2..ac9cc7d 100644 --- a/setup.py +++ b/setup.py @@ -1,51 +1,62 @@ -from os import system, name +from os import system from urllib.request import urlretrieve as download from db import * -config = {} -# Устанавливаем зависимости -system("pip install -r requirements.txt") - -# Скачиваем bore (для проброса портов) -if name == "posix": - download("https://github.com/ekzhang/bore/releases/download/v0.5.0/bore-v0.5.0-x86_64-unknown-linux-musl.tar.gz", "bore.tar.gz") - system("tar -zxvf bore.tar.gz") - system("rm -rf bore.tar.gz") - - import getpass - user = getpass.getuser() - - #system("mkdir ~/.streamlit") - #with open(f"/home/{user}/.streamlit/credentials.toml", "w") as f: - # f.write('[general]\nemail = "a@a.a"') - #f.close() -elif name == "nt": +print('''1. Linux +2. Windows +3. Android (Termux)''') +raw_os = input('ОС установки >> ') +oses = {'1': 'Linux', '2': 'Windows', '3': 'Android'} +os = oses[raw_os] + +# Записываем ОС в конфиг +conf = read() +conf['os'] = os +write(conf) + +print('''--- +[1/3] Устанавливаем зависимости python... +---''') +system('pip install -r requirements.txt') + +print('''--- +Скачиваем обратный прокси... +---''') +if os == 'Linux': + download('https://github.com/ekzhang/bore/releases/download/v0.5.0/bore-v0.5.0-x86_64-unknown-linux-musl.tar.gz', 'bore.tar.gz') + system('tar -zxvf bore.tar.gz') + system('rm -rf bore.tar.gz') +elif os == 'Windows': from shutil import unpack_archive as unpack - download("https://github.com/ekzhang/bore/releases/download/v0.5.0/bore-v0.5.0-x86_64-pc-windows-msvc.zip", "bore.zip") - unpack("bore.zip") - system("del bore.zip") - - #system("mkdir C:\\Users\\windows\\.streamlit") - #with open("C:\\Users\\windows\\.streamlit\\credentials.toml", "w") as f: - # f.write('[general]\nemail = "a@a.a"') - #f.close() + download('https://github.com/ekzhang/bore/releases/download/v0.5.0/bore-v0.5.0-x86_64-pc-windows-msvc.zip', 'bore.zip') + unpack('bore.zip') + system('del bore.zip') +elif os == 'Android': + system('pkg install bore-cli') else: - print("Увы, вероятно Ваша ОС не поддерживается.") - print("Завершение работы...") + print('Увы, вероятно Ваша ОС не поддерживается.') + print('Завершение работы...') exit() -# Создаём папку для кэшированных сайтов -system("mkdir cached") -system("mkdir verify") -system("mkdir mysites") +print('''--- +Создаём папки для работы... +---''') +system('mkdir cached') +system('mkdir verify') +system('mkdir mysites') # TODO -#print("Максимальный размер для кэшированных файлов. (в гигабайтах)") -#print("Укажите 0 для отключения ограничения.") -#max = input(">> ") +#print('Максимальный размер для кэшированных файлов. (в гигабайтах)') +#print('Укажите 0 для отключения ограничения.') +#max = input('>> ') # Записываем в конфиг -#config["max"] = max +#config['max'] = max #write(config) -print("\nЧтобы подключится к jetwork выполните: python main.py") +print(''' +--- +Установка завершена! + +Чтобы подключится к jetwork выполните: python main.py +---''')