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