105 lines
3.3 KiB
Markdown
105 lines
3.3 KiB
Markdown
# TG WS Proxy — macOS
|
||
|
||
macOS-версия [tg-ws-proxy](https://github.com/Flowseal/tg-ws-proxy) с нативным menu bar приложением.
|
||
|
||
## Как это работает
|
||
|
||
```
|
||
Telegram Desktop → SOCKS5 (127.0.0.1:1080) → TG WS Proxy → WSS (kws*.web.telegram.org) → Telegram DC
|
||
```
|
||
|
||
Полный функциональный паритет с Windows-версией:
|
||
- Локальный SOCKS5-прокси
|
||
- Автоматическое переключение WebSocket → TCP fallback
|
||
- GUI-настройки
|
||
- Просмотр логов
|
||
- Одна копия через lock-файл
|
||
- Первый запуск с инструкцией
|
||
|
||
## Установка
|
||
|
||
### Из исходников
|
||
|
||
```bash
|
||
# Клонируй оригинальный репозиторий
|
||
git clone https://github.com/Flowseal/tg-ws-proxy
|
||
cd tg-ws-proxy
|
||
|
||
# Скопируй файлы из этого порта в репозиторий:
|
||
# macos.py, macos.spec, requirements_macos.txt
|
||
|
||
# Установи зависимости
|
||
pip install -r requirements_macos.txt
|
||
|
||
# Запуск
|
||
python macos.py
|
||
```
|
||
|
||
### Сборка .app
|
||
|
||
```bash
|
||
pip install pyinstaller
|
||
pyinstaller macos.spec
|
||
# Результат: dist/TgWsProxy.app
|
||
```
|
||
|
||
## GUI
|
||
|
||
Приложение живёт в menu bar (строка меню вверху экрана). Нет иконки в Dock.
|
||
|
||
**Меню:**
|
||
- **Открыть в Telegram** — откроет `tg://socks?...` ссылку, Telegram сам добавит прокси
|
||
- **Перезапустить прокси** — горячий перезапуск
|
||
- **Настройки…** — окно с полями Host, Port, DC IPs, Verbose
|
||
- **Открыть логи** — откроет файл логов в TextEdit
|
||
- **Выход** — остановить прокси и закрыть
|
||
|
||
## Конфигурация
|
||
|
||
Хранится в `~/Library/Application Support/TgWsProxy/config.json`:
|
||
|
||
```json
|
||
{
|
||
"port": 1080,
|
||
"host": "127.0.0.1",
|
||
"dc_ip": [
|
||
"2:149.154.167.220",
|
||
"4:149.154.167.220"
|
||
],
|
||
"verbose": false
|
||
}
|
||
```
|
||
|
||
Логи: `~/Library/Application Support/TgWsProxy/proxy.log`
|
||
|
||
## Настройка Telegram Desktop
|
||
|
||
### Автоматически
|
||
Нажми **«Открыть в Telegram»** в меню строки меню.
|
||
|
||
### Вручную
|
||
1. Telegram → **Настройки** → **Продвинутые настройки** → **Тип подключения** → **Прокси**
|
||
2. Добавь прокси:
|
||
- **Тип:** SOCKS5
|
||
- **Сервер:** `127.0.0.1`
|
||
- **Порт:** `1080`
|
||
- **Логин/Пароль:** пусто
|
||
|
||
## Зависимости
|
||
|
||
| Библиотека | Назначение |
|
||
|-----------|------------|
|
||
| `rumps` | macOS menu bar framework |
|
||
| `cryptography` | MTProto obfuscation (из оригинала) |
|
||
| `psutil` | Проверка запущенных копий |
|
||
| `tkinter` | GUI окна (входит в стандартный Python) |
|
||
|
||
## Отличия от Windows-версии
|
||
|
||
| | Windows | macOS |
|
||
|---|---|---|
|
||
| GUI-фреймворк | pystray + tkinter | rumps + tkinter |
|
||
| Конфиг | `%APPDATA%\TgWsProxy\` | `~/Library/Application Support/TgWsProxy/` |
|
||
| Иконка в трее | Системный трей | Menu bar (строка меню) |
|
||
| Сборка | PyInstaller → .exe | PyInstaller → .app |
|