# Гайд по скриптам hotspot Скрипты для настройки и использования хотспота с VPN на Mac: установка WireGuard, TTL, запуск и остановка VPN. **Контекст:** [GUARANTEED_TETHERING_HIDE.md](../GUARANTEED_TETHERING_HIDE.md) — полная схема скрытия tethering (VPN на Mac, не на телефоне; TTL=65; USB модем). --- ## Обзор скриптов | Скрипт | Назначение | Когда запускать | |--------|------------|-----------------| | `setup-wireguard-mac.sh` | Первичная установка WireGuard и конфига | Один раз при настройке | | `set-ttl-macos.sh` | Установка TTL=65 (скрытие tethering) | Один раз, при необходимости — после перезагрузки | | `vpn-up.sh` | Запуск WireGuard VPN | Каждый раз при использовании USB/хотспота | | `vpn-down.sh` | Остановка WireGuard VPN | По окончании работы через хотспот | --- ## 1. setup-wireguard-mac.sh **Назначение:** Установка WireGuard на macOS и разовая настройка (конфиг в `/etc/wireguard/wg0.conf`, первый запуск VPN). **Запуск:** ```bash cd /Users/eternal/code/local_machine ./docs/hotspot/scripts/setup-wireguard-mac.sh ``` **Что делает:** 1. Проверяет наличие `wg-quick`; при отсутствии ставит `wireguard-tools` через Homebrew. 2. Создаёт `/etc/wireguard` (права `700`). 3. Копирует `docs/hotspot/wg-ru.conf` в `/etc/wireguard/wg0.conf` (права `600`). 4. Запускает `wg-quick up wg0`. 5. Проверяет внешний IP (ожидается `83.136.235.230`). **Требования:** - Файл конфигурации: `docs/hotspot/wg-ru.conf` (относительно корня репозитория). - Запуск из корня репо или с путём, где доступен `docs/hotspot/wg-ru.conf`. - `sudo` для установки в `/etc/wireguard` и для `wg-quick up`. **После установки:** VPN уже поднят; для следующих сессий используйте `vpn-up.sh` / `vpn-down.sh`. --- ## 2. set-ttl-macos.sh **Назначение:** Установка TTL=65 на Mac, чтобы после прохождения через телефон (TTL-1) оператор видел TTL=64 и не определял tethering. **Запуск:** ```bash ./docs/hotspot/scripts/set-ttl-macos.sh ``` **Что делает:** 1. Показывает текущий TTL. 2. Выполняет `sudo sysctl -w net.inet.ip.ttl=65`. 3. Проверяет, что TTL стал 65. 4. Добавляет `net.inet.ip.ttl=65` в `/etc/sysctl.conf`, если ещё нет (сохранится после перезагрузки). **Требования:** `sudo`. **Когда запускать:** Один раз после установки ОС/нового Mac; при необходимости — после каждой перезагрузки, если значение не подхватывается из `sysctl.conf`. **Проверка:** ```bash sysctl net.inet.ip.ttl # net.inet.ip.ttl: 65 ``` --- ## 3. vpn-up.sh **Назначение:** Быстрый запуск WireGuard VPN на Mac при использовании интернета через USB модем/хотспот. **Запуск:** ```bash ./docs/hotspot/scripts/vpn-up.sh ``` **Что делает:** 1. Выполняет `sudo wg-quick up wg0`. 2. Ждёт 2 секунды. 3. Проверяет внешний IP через `api.ipify.org` (ожидается `83.136.235.230`). 4. Выводит `sudo wg show`. **Требования:** - WireGuard уже настроен (`setup-wireguard-mac.sh` выполнен хотя бы раз). - Конфиг: `/etc/wireguard/wg0.conf`. - `sudo`. **Порядок при использовании хотспота:** сначала TTL=65 (если ещё не стоит), на телефоне включить USB модем **без VPN**, затем на Mac запустить этот скрипт. --- ## 4. vpn-down.sh **Назначение:** Остановка WireGuard VPN на Mac. **Запуск:** ```bash ./docs/hotspot/scripts/vpn-down.sh ``` **Что делает:** Выполняет `sudo wg-quick down wg0`. **Требования:** `sudo`. --- ## Типичный сценарий ### Первая настройка (один раз) ```bash cd /Users/eternal/code/local_machine # 1. Установить WireGuard и конфиг, поднять VPN ./docs/hotspot/scripts/setup-wireguard-mac.sh # 2. Установить TTL=65 ./docs/hotspot/scripts/set-ttl-macos.sh ``` ### Каждое использование хотспота 1. На телефоне: **не** включать VPN, включить **USB модем** (или Wi‑Fi точку доступа). 2. На Mac: ```bash ./docs/hotspot/scripts/vpn-up.sh ``` 3. Проверка: ```bash curl https://api.ipify.org # 83.136.235.230 ``` 4. По окончании: ```bash ./docs/hotspot/scripts/vpn-down.sh ``` --- ## Права на выполнение Если скрипты не запускаются: ```bash chmod +x docs/hotspot/scripts/setup-wireguard-mac.sh chmod +x docs/hotspot/scripts/set-ttl-macos.sh chmod +x docs/hotspot/scripts/vpn-up.sh chmod +x docs/hotspot/scripts/vpn-down.sh ``` --- ## Связанные документы - [GUARANTEED_TETHERING_HIDE.md](../GUARANTEED_TETHERING_HIDE.md) — полная схема: TTL, VPN на Mac, USB модем, порядок действий, решение проблем. - [QUICK_FIX_VPN_ROUTING.md](../QUICK_FIX_VPN_ROUTING.md) — быстрый фикс: VPN на Mac вместо телефона. - [ANDROID_VPN_TETHERING_ROUTING.md](../ANDROID_VPN_TETHERING_ROUTING.md) — почему tethering не идёт через VPN на Android. - [SPEED_LIMITATIONS_AND_USB_TETHERING.md](../SPEED_LIMITATIONS_AND_USB_TETHERING.md) — ограничения скорости и настройка USB tethering.