Initial commit: local_machine docs and scripts
This commit is contained in:
46
docs/connectivity/launchd/README.md
Normal file
46
docs/connectivity/launchd/README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# 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.
|
||||
30
docs/connectivity/launchd/com.hunab.telegram-socks.plist
Normal file
30
docs/connectivity/launchd/com.hunab.telegram-socks.plist
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>com.hunab.telegram-socks</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/usr/bin/ssh</string>
|
||||
<string>-D</string>
|
||||
<string>1081</string>
|
||||
<string>-N</string>
|
||||
<string>-o</string>
|
||||
<string>ServerAliveInterval=30</string>
|
||||
<string>-o</string>
|
||||
<string>ServerAliveCountMax=6</string>
|
||||
<string>ahau@149.154.64.19</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>ThrottleInterval</key>
|
||||
<integer>30</integer>
|
||||
<key>StandardOutPath</key>
|
||||
<string>/tmp/telegram-socks-tunnel.log</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>/tmp/telegram-socks-tunnel.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
13
docs/connectivity/launchd/install.sh
Executable file
13
docs/connectivity/launchd/install.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
# Устанавливает LaunchAgent: копирует plist в ~/Library/LaunchAgents/ и загружает.
|
||||
# После этого туннель 127.0.0.1:1081 будет подниматься при каждом входе в систему.
|
||||
set -e
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PLIST_NAME="com.hunab.telegram-socks.plist"
|
||||
DST="$HOME/Library/LaunchAgents/$PLIST_NAME"
|
||||
|
||||
mkdir -p "$HOME/Library/LaunchAgents"
|
||||
cp "$SCRIPT_DIR/$PLIST_NAME" "$DST"
|
||||
launchctl load "$DST"
|
||||
echo "Installed: $DST (loaded). Tunnel will start at login."
|
||||
lsof -i :1081 -sTCP:LISTEN 2>/dev/null && echo "Port 1081 is listening." || echo "Check port 1081 in a few seconds: lsof -i :1081"
|
||||
9
docs/connectivity/launchd/uninstall.sh
Executable file
9
docs/connectivity/launchd/uninstall.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Снимает LaunchAgent: выгружает и удаляет plist из ~/Library/LaunchAgents/.
|
||||
set -e
|
||||
PLIST_NAME="com.hunab.telegram-socks.plist"
|
||||
DST="$HOME/Library/LaunchAgents/$PLIST_NAME"
|
||||
|
||||
launchctl unload "$DST" 2>/dev/null || true
|
||||
rm -f "$DST"
|
||||
echo "Uninstalled: $DST"
|
||||
Reference in New Issue
Block a user