Files
local_machine/docs/hotspot/scripts/README.md
2026-03-14 20:03:57 +03:00

164 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Гайд по скриптам 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 модем** (или WiFi точку доступа).
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.