pyproject fixes; macos support

This commit is contained in:
Flowseal 2026-03-18 21:54:58 +03:00
parent 99b5c722e1
commit 54c6f3881b
4 changed files with 72 additions and 31 deletions

View File

@ -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 ```bash
pip install -e ".[win10]" pip install -e ".[win10]"
``` ```
Запуск tray-приложения:
```bash
tg-ws-proxy-tray-win
```
### Windows 7 ### Windows 7
```bash ```bash
pip install -e ".[win7]" pip install -e ".[win7]"
``` ```
### Windows (Tray-приложение) Запуск tray-приложения:
```bash ```bash
tg-ws-proxy-tray tg-ws-proxy-tray-win
``` ```
=======
Перейдите на [страницу релизов](https://github.com/Flowseal/tg-ws-proxy/releases) и скачайте **`TgWsProxy.dmg`** — универсальная сборка для Apple Silicon и Intel.
1. Открыть образ ### macOS
2. Перенести **TG WS Proxy.app** в папку **Applications**
3. При первом запуске macOS может попросить подтвердить открытие: **Системные настройки → Конфиденциальность и безопасность → Всё равно открыть** ```bash
>>>>>>> main pip install -e ".[macos]"
```
Запуск tray-приложения:
```bash
tg-ws-proxy-tray-macos
```
### Консольный режим из исходников ### Консольный режим из исходников
@ -103,7 +136,8 @@ CLI команды объявляются в `pyproject.toml` в секции `[
```toml ```toml
[project.scripts] [project.scripts]
tg-ws-proxy = "proxy.tg_ws_proxy:main" 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 ## Настройка 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)) для автоматической сборки. Проект содержит спецификации 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) [MIT License](LICENSE)

View File

@ -24,36 +24,49 @@ keywords = [
classifiers = [ classifiers = [
"Development Status :: 5 - Production/Stable", "Development Status :: 5 - Production/Stable",
"Environment :: Console", "Environment :: Console",
"Environment :: MacOS X :: Cocoa",
"Environment :: Win32 (MS Windows)", "Environment :: Win32 (MS Windows)",
"Intended Audience :: Customer Service", "Intended Audience :: Customer Service",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License", "License :: OSI Approved :: MIT License",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows", "Operating System :: Microsoft :: Windows",
"Topic :: System :: Networking :: Firewalls", "Topic :: System :: Networking :: Firewalls",
] ]
dependencies = [ dependencies = [
"customtkinter==5.2.2", "cryptography==41.0.7; platform_system == 'Windows' and python_version < '3.9'",
"pystray==0.19.5", "cryptography==46.0.5; platform_system != 'Windows' or python_version >= '3.9'",
"pyperclip==1.9.0",
] ]
[project.optional-dependencies] [project.optional-dependencies]
win7 = [ win7 = [
"cryptography==41.0.7", "customtkinter==5.2.2",
"Pillow==10.4.0", "Pillow==10.4.0",
"psutil==5.9.8", "psutil==5.9.8",
"pystray==0.19.5",
"pyperclip==1.9.0",
] ]
win10 = [ win10 = [
"cryptography==46.0.5", "customtkinter==5.2.2",
"Pillow==12.1.1", "Pillow==12.1.1",
"psutil==7.0.0", "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] [project.scripts]
tg-ws-proxy = "proxy.tg_ws_proxy:main" 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] [project.urls]
Source = "https://github.com/Flowseal/tg-ws-proxy" Source = "https://github.com/Flowseal/tg-ws-proxy"
@ -64,6 +77,7 @@ packages = ["proxy"]
[tool.hatch.build.force-include] [tool.hatch.build.force-include]
"windows.py" = "windows.py" "windows.py" = "windows.py"
"macos.py" = "macos.py"
[tool.hatch.version] [tool.hatch.version]
path = "proxy/__init__.py" path = "proxy/__init__.py"

View File

@ -1,5 +1 @@
cryptography==46.0.5 -e .[macos]
Pillow==12.1.0
psutil==7.0.0
rumps==0.4.0
pyperclip==1.9.0

View File

@ -1,10 +1 @@
<<<<<<< build/pyproject-migration
-e .[win10] -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