diff --git a/README.md b/README.md index 94562ce..e77f4a2 100644 --- a/README.md +++ b/README.md @@ -40,31 +40,64 @@ Telegram Desktop → SOCKS5 (127.0.0.1:1080) → TG WS Proxy → WSS → Telegra - **Открыть логи** — открыть файл логов - **Выход** — остановить прокси и закрыть приложение -### MacOS (Tray-приложение) +### macOS +Перейдите на [страницу релизов](https://github.com/Flowseal/tg-ws-proxy/releases) и скачайте **`TgWsProxy.dmg`** — универсальная сборка для Apple Silicon и Intel. + +1. Открыть образ +2. Перенести **TG WS Proxy.app** в папку **Applications** +3. При первом запуске macOS может попросить подтвердить открытие: **Системные настройки → Конфиденциальность и безопасность → Всё равно открыть** + +## Установка из исходников + +### Консольный proxy + +Для запуска только SOCKS5/WebSocket proxy без tray-интерфейса достаточно базовой установки: + +```bash +pip install -e . +``` + +После этого доступна команда: + +```bash +tg-ws-proxy +``` + +### Windows 10+ -<<<<<<< build/pyproject-migration ```bash pip install -e ".[win10]" ``` +Запуск tray-приложения: + +```bash +tg-ws-proxy-tray-win +``` + ### Windows 7 ```bash pip install -e ".[win7]" ``` -### Windows (Tray-приложение) +Запуск tray-приложения: ```bash -tg-ws-proxy-tray +tg-ws-proxy-tray-win ``` -======= -Перейдите на [страницу релизов](https://github.com/Flowseal/tg-ws-proxy/releases) и скачайте **`TgWsProxy.dmg`** — универсальная сборка для Apple Silicon и Intel. -1. Открыть образ -2. Перенести **TG WS Proxy.app** в папку **Applications** -3. При первом запуске macOS может попросить подтвердить открытие: **Системные настройки → Конфиденциальность и безопасность → Всё равно открыть** ->>>>>>> main +### macOS + +```bash +pip install -e ".[macos]" +``` + +Запуск tray-приложения: + +```bash +tg-ws-proxy-tray-macos +``` ### Консольный режим из исходников @@ -103,7 +136,8 @@ CLI команды объявляются в `pyproject.toml` в секции `[ ```toml [project.scripts] tg-ws-proxy = "proxy.tg_ws_proxy:main" -tg-ws-proxy-tray = "windows:main" +tg-ws-proxy-tray-win = "windows:main" +tg-ws-proxy-tray-macos = "macos:main" ``` ## Настройка Telegram Desktop @@ -140,6 +174,12 @@ Tray-приложение хранит данные в `%APPDATA%/TgWsProxy`: Проект содержит спецификации PyInstaller ([`packaging/windows.spec`](packaging/windows.spec), [`packaging/macos.spec`](packaging/macos.spec)) и GitHub Actions workflow ([`.github/workflows/build.yml`](.github/workflows/build.yml)) для автоматической сборки. +Минимально поддерживаемые версии ОС для текущих бинарных сборок: +- Windows 10+ для `TgWsProxy.exe` +- Windows 7 для `TgWsProxy-win7.exe` +- Intel macOS 10.15+ +- Apple Silicon macOS 11.0+ + ## Лицензия [MIT License](LICENSE) diff --git a/pyproject.toml b/pyproject.toml index ab2f8c0..fab74bc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,36 +24,49 @@ keywords = [ classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", + "Environment :: MacOS X :: Cocoa", "Environment :: Win32 (MS Windows)", "Intended Audience :: Customer Service", "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Topic :: System :: Networking :: Firewalls", ] dependencies = [ - "customtkinter==5.2.2", - "pystray==0.19.5", - "pyperclip==1.9.0", + "cryptography==41.0.7; platform_system == 'Windows' and python_version < '3.9'", + "cryptography==46.0.5; platform_system != 'Windows' or python_version >= '3.9'", ] [project.optional-dependencies] win7 = [ - "cryptography==41.0.7", + "customtkinter==5.2.2", "Pillow==10.4.0", "psutil==5.9.8", + "pystray==0.19.5", + "pyperclip==1.9.0", ] win10 = [ - "cryptography==46.0.5", + "customtkinter==5.2.2", "Pillow==12.1.1", "psutil==7.0.0", + "pystray==0.19.5", + "pyperclip==1.9.0", +] + +macos = [ + "Pillow==12.1.0", + "psutil==7.0.0", + "pyperclip==1.9.0", + "rumps==0.4.0", ] [project.scripts] tg-ws-proxy = "proxy.tg_ws_proxy:main" -tg-ws-proxy-tray = "windows:main" +tg-ws-proxy-tray-win = "windows:main" +tg-ws-proxy-tray-macos = "macos:main" [project.urls] Source = "https://github.com/Flowseal/tg-ws-proxy" @@ -64,6 +77,7 @@ packages = ["proxy"] [tool.hatch.build.force-include] "windows.py" = "windows.py" +"macos.py" = "macos.py" [tool.hatch.version] path = "proxy/__init__.py" diff --git a/requirements-macos.txt b/requirements-macos.txt index aa60e3a..b5937da 100644 --- a/requirements-macos.txt +++ b/requirements-macos.txt @@ -1,5 +1 @@ -cryptography==46.0.5 -Pillow==12.1.0 -psutil==7.0.0 -rumps==0.4.0 -pyperclip==1.9.0 +-e .[macos] diff --git a/requirements.txt b/requirements.txt index e4ecb10..baf343f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,10 +1 @@ -<<<<<<< build/pyproject-migration -e .[win10] -======= -cryptography==46.0.5 -customtkinter==5.2.2 -Pillow==12.1.0 -psutil==7.0.0 -pystray==0.19.5 -pyperclip==1.9.0 ->>>>>>> main