47 lines
2.4 KiB
Markdown
47 lines
2.4 KiB
Markdown
# LaunchAgent: SOCKS-туннель для Telegram при входе в систему
|
||
|
||
Поднимает `ssh -D 1081 ahau@149.154.64.19` при логине и перезапускает при обрыве.
|
||
|
||
- **Порт:** 1081 (отдельно от Cursor 10809, конфликтов нет)
|
||
- **Сервер:** 149.154.64.19 (ru.hunab.app), пользователь ahau
|
||
|
||
## Установка (один раз — дальше работает при каждом входе)
|
||
|
||
```bash
|
||
# из корня репо local_machine
|
||
./connectivity/launchd/install.sh
|
||
```
|
||
|
||
Скрипт копирует plist в `~/Library/LaunchAgents/` и выполняет `launchctl load`. После этого туннель будет автоматически подниматься при каждом старте/входе в систему.
|
||
|
||
Проверка: туннель уже должен быть поднят (RunAtLoad), порт слушает:
|
||
|
||
```bash
|
||
lsof -i :1081
|
||
# или
|
||
./connectivity/scripts/telegram-socks-tunnel.sh status
|
||
```
|
||
|
||
## Удаление
|
||
|
||
```bash
|
||
./connectivity/launchd/uninstall.sh
|
||
```
|
||
|
||
## Поведение
|
||
|
||
- **RunAtLoad** — запуск при входе в систему
|
||
- **KeepAlive** — при обрыве SSH launchd перезапускает туннель
|
||
- **ThrottleInterval 30** — не чаще одного перезапуска в 30 секунд при постоянных падениях
|
||
- Лог: `/tmp/telegram-socks-tunnel.log` (при желании замените путь в plist после копирования)
|
||
|
||
## Требования
|
||
|
||
- SSH-ключ для `ahau@149.154.64.19` должен быть доступен при логине (в клюchain или без пароля), иначе туннель не поднимется. Проверка вручную: `ssh -D 1081 -N ahau@149.154.64.19`.
|
||
- Если используете алиас из `~/.ssh/config` (например `hsites-ahau`), в plist можно заменить `ahau@149.154.64.19` на `hsites-ahau`.
|
||
|
||
## Конфликты портов
|
||
|
||
- **10809** — Cursor SOCKS (скрипт `docs/cursor/scripts/cursor-socks-tunnel.sh`), не пересекается с 1081.
|
||
- **1081** — если у вас уже слушает Shadowsocks или другой прокси, смените порт в plist (и в Telegram/приложениях) или отключите этот LaunchAgent.
|