Initial commit: local_machine docs and scripts
This commit is contained in:
158
docs/connectivity/vpn/DEPLOY_WIREGUARD_RU.md
Normal file
158
docs/connectivity/vpn/DEPLOY_WIREGUARD_RU.md
Normal file
@@ -0,0 +1,158 @@
|
||||
# 🚀 Развертывание WireGuard на ru.hunab.app
|
||||
|
||||
## Быстрая инструкция
|
||||
|
||||
### Шаг 1: Подключитесь к серверу
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19
|
||||
# Пароль: w99z2fBSkO4gU
|
||||
```
|
||||
|
||||
### Шаг 2: Выполните команды развертывания
|
||||
|
||||
```bash
|
||||
# Создание директорий
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config
|
||||
sudo chown -R ahau:ahau /opt/app/vpn
|
||||
|
||||
# Остановка существующего контейнера (если есть)
|
||||
docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
docker rm hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
|
||||
# Запуск WireGuard контейнера
|
||||
cd /opt/app/vpn/wireguard
|
||||
|
||||
docker run -d \
|
||||
--name hunab-vpn-wireguard-ru \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=SYS_MODULE \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/Moscow \
|
||||
-e SERVERURL=149.154.64.19 \
|
||||
-e SERVERPORT=51820 \
|
||||
-e PEERS=1 \
|
||||
-e PEERDNS=8.8.8.8 \
|
||||
-e INTERNAL_SUBNET=10.14.14.0 \
|
||||
-v /opt/app/vpn/wireguard/config:/config \
|
||||
-p 51820:51820/udp \
|
||||
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
|
||||
--restart unless-stopped \
|
||||
linuxserver/wireguard:latest
|
||||
|
||||
# Ожидание создания конфигурации
|
||||
echo "Ожидание 30 секунд для создания конфигурации..."
|
||||
sleep 30
|
||||
|
||||
# Настройка Firewall
|
||||
sudo ufw allow 51820/udp comment 'WireGuard VPN RU'
|
||||
sudo ufw reload
|
||||
|
||||
# Проверка статуса
|
||||
docker ps | grep wireguard
|
||||
|
||||
# Просмотр конфигурации клиента
|
||||
echo "=== Конфигурация клиента ==="
|
||||
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
|
||||
```
|
||||
|
||||
### Шаг 3: Скопируйте конфигурацию
|
||||
|
||||
**С вашего компьютера:**
|
||||
|
||||
```bash
|
||||
# Скопируйте конфигурацию
|
||||
scp ahau@149.154.64.19:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/wg-ru.conf
|
||||
```
|
||||
|
||||
**Или просмотрите и скопируйте вручную:**
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19 'cat /opt/app/vpn/wireguard/config/peer1/peer1.conf'
|
||||
```
|
||||
|
||||
Затем скопируйте содержимое в файл `docs/hotspot/wg-ru.conf`.
|
||||
|
||||
### Шаг 4: Импортируйте в WireGuard на Android
|
||||
|
||||
1. Скопируйте файл `wg-ru.conf` на телефон
|
||||
2. Откройте приложение WireGuard
|
||||
3. Нажмите **"+"** → **"Создать из файла или архива"**
|
||||
4. Выберите файл `wg-ru.conf`
|
||||
5. Подключитесь!
|
||||
|
||||
---
|
||||
|
||||
## Проверка работы
|
||||
|
||||
После импорта конфигурации проверьте:
|
||||
|
||||
1. **IP адрес должен быть российским:**
|
||||
- Откройте https://whatismyipaddress.com/
|
||||
- Должен отображаться IP: **149.154.64.19**
|
||||
|
||||
2. **Подключение активно:**
|
||||
- В приложении WireGuard статус должен быть "Подключено"
|
||||
|
||||
---
|
||||
|
||||
## Управление
|
||||
|
||||
### Просмотр статуса
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19 "docker ps | grep wireguard"
|
||||
```
|
||||
|
||||
### Просмотр логов
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19 "docker logs hunab-vpn-wireguard-ru"
|
||||
```
|
||||
|
||||
### Перезапуск
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19 "docker restart hunab-vpn-wireguard-ru"
|
||||
```
|
||||
|
||||
### Остановка
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19 "docker stop hunab-vpn-wireguard-ru"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Решение проблем
|
||||
|
||||
### Конфигурация не создается
|
||||
|
||||
Подождите еще 30-60 секунд и проверьте:
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19 "ls -la /opt/app/vpn/wireguard/config/peer1/"
|
||||
```
|
||||
|
||||
### Контейнер не запускается
|
||||
|
||||
Проверьте логи:
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19 "docker logs hunab-vpn-wireguard-ru"
|
||||
```
|
||||
|
||||
### Порт занят
|
||||
|
||||
Проверьте, что порт 51820 свободен:
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19 "sudo netstat -tuln | grep 51820"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Готово!
|
||||
|
||||
После выполнения всех шагов у вас будет рабочий WireGuard конфиг `wg-ru.conf` для использования из России! 🎉
|
||||
43
docs/connectivity/vpn/FINAL_DEPLOY_INSTRUCTIONS.md
Normal file
43
docs/connectivity/vpn/FINAL_DEPLOY_INSTRUCTIONS.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# 🚀 Финальные инструкции для получения рабочего конфига
|
||||
|
||||
## Проблема
|
||||
SSH порт 22 на сервере 149.154.64.19 закрыт, поэтому автоматическое развертывание невозможно.
|
||||
|
||||
## Решение
|
||||
|
||||
### Вариант 1: Если у вас есть доступ к серверу через другой терминал
|
||||
|
||||
1. **Выполните команду из файла `ONE_LINE_DEPLOY.txt`:**
|
||||
```bash
|
||||
cat docs/vpn/ONE_LINE_DEPLOY.txt
|
||||
```
|
||||
Скопируйте команду и выполните в SSH сеансе на сервере.
|
||||
|
||||
2. **После выполнения получите конфигурацию:**
|
||||
```bash
|
||||
./docs/vpn/scripts/get-wg-ru-config.sh
|
||||
```
|
||||
Или вручную:
|
||||
```bash
|
||||
scp ahau@149.154.64.19:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/wg-ru.conf
|
||||
```
|
||||
|
||||
### Вариант 2: Если SSH порт открыт на другом порту
|
||||
|
||||
Используйте команду с указанием порта:
|
||||
```bash
|
||||
ssh -p <PORT> ahau@149.154.64.19
|
||||
```
|
||||
|
||||
### Вариант 3: Если WireGuard уже развернут
|
||||
|
||||
Просто получите конфигурацию:
|
||||
```bash
|
||||
./docs/vpn/scripts/get-wg-ru-config.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## После получения конфигурации
|
||||
|
||||
Файл `docs/vpn/wg-ru.conf` будет содержать рабочий конфиг для импорта в WireGuard на Android.
|
||||
288
docs/connectivity/vpn/MAC_CLIENTS.md
Normal file
288
docs/connectivity/vpn/MAC_CLIENTS.md
Normal file
@@ -0,0 +1,288 @@
|
||||
# 🍎 macOS - Клиенты для Shadowsocks
|
||||
|
||||
## 📋 Обзор
|
||||
|
||||
Руководство по установке и настройке различных VPN клиентов для macOS.
|
||||
|
||||
**Параметры подключения:**
|
||||
```
|
||||
Server: 209.38.32.21
|
||||
Port: 8388
|
||||
Password: bNkSbuMQXgMXmuBLPQCA5cSUE
|
||||
Method: chacha20-ietf-poly1305
|
||||
```
|
||||
|
||||
**URI для импорта:**
|
||||
```
|
||||
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpiTmtTYnVNUVhnTVhtdUJMUFFDQTVjU1VFQDIwOS4zOC4zMi4yMTo4Mzg4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Рекомендуемые клиенты
|
||||
|
||||
### 1. ⭐ shadowsocks-libev (CLI) - Рекомендуется
|
||||
|
||||
**Почему:**
|
||||
- ✅ Работает без GUI приложений
|
||||
- ✅ Автозапуск при входе в систему
|
||||
- ✅ Стабильная работа
|
||||
- ✅ Низкое потребление ресурсов
|
||||
|
||||
**Установка:**
|
||||
```bash
|
||||
brew install shadowsocks-libev
|
||||
```
|
||||
|
||||
**Настройка:** См. [SHADOWSOCKS.md](./SHADOWSOCKS.md#macos)
|
||||
|
||||
**Управление:**
|
||||
```bash
|
||||
cd docs/servers/vpn
|
||||
./scripts/toggle-shadowsocks-proxy.sh # Переключение прокси
|
||||
./scripts/check-proxy-status.sh # Проверка статуса
|
||||
./scripts/fix-shadowsocks.sh # Автоматическое исправление
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. ⭐ ClashX
|
||||
|
||||
**Почему:**
|
||||
- ✅ Очень популярный клиент
|
||||
- ✅ Правила маршрутизации
|
||||
- ✅ Поддержка множества протоколов
|
||||
|
||||
**Установка:**
|
||||
1. Скачайте с: https://github.com/yichengchen/clashX/releases
|
||||
2. Или используйте ClashX Meta: https://github.com/MetaCubeX/ClashX.Meta/releases
|
||||
|
||||
**Настройка:**
|
||||
|
||||
1. Откройте ClashX → **Config** → **Edit Config**
|
||||
2. Замените содержимое на:
|
||||
|
||||
```yaml
|
||||
port: 7890
|
||||
socks-port: 7891
|
||||
allow-lan: false
|
||||
mode: rule
|
||||
log-level: info
|
||||
external-controller: 127.0.0.1:9090
|
||||
|
||||
proxies:
|
||||
- name: "Hunab Shadowsocks"
|
||||
type: ss
|
||||
server: 209.38.32.21
|
||||
port: 8388
|
||||
cipher: chacha20-ietf-poly1305
|
||||
password: bNkSbuMQXgMXmuBLPQCA5cSUE
|
||||
|
||||
proxy-groups:
|
||||
- name: "Proxy"
|
||||
type: select
|
||||
proxies:
|
||||
- "Hunab Shadowsocks"
|
||||
- DIRECT
|
||||
|
||||
- name: "Auto"
|
||||
type: url-test
|
||||
proxies:
|
||||
- "Hunab Shadowsocks"
|
||||
url: 'http://www.gstatic.com/generate_204'
|
||||
interval: 300
|
||||
|
||||
rules:
|
||||
- DOMAIN-SUFFIX,local,DIRECT
|
||||
- IP-CIDR,127.0.0.0/8,DIRECT
|
||||
- IP-CIDR,172.16.0.0/12,DIRECT
|
||||
- IP-CIDR,192.168.0.0/16,DIRECT
|
||||
- IP-CIDR,10.0.0.0/8,DIRECT
|
||||
- GEOIP,CN,DIRECT
|
||||
- MATCH,Proxy
|
||||
```
|
||||
|
||||
3. **Config** → **Reload Config**
|
||||
4. **Proxy** → **Hunab Shadowsocks**
|
||||
5. Включите **Set as System Proxy**
|
||||
|
||||
**GitHub:** https://github.com/yichengchen/clashX
|
||||
|
||||
---
|
||||
|
||||
### 3. ⭐ V2rayU
|
||||
|
||||
**Почему:**
|
||||
- ✅ Простая установка через Homebrew
|
||||
- ✅ Поддержка Shadowsocks из коробки
|
||||
- ✅ Простой интерфейс
|
||||
|
||||
**Установка:**
|
||||
```bash
|
||||
brew install --cask v2rayu
|
||||
```
|
||||
|
||||
**Настройка:**
|
||||
1. Откройте V2rayU
|
||||
2. **Servers** → **Add Server** → **Shadowsocks**
|
||||
3. Введите параметры подключения
|
||||
4. Выберите сервер и подключитесь
|
||||
|
||||
**GitHub:** https://github.com/yanue/V2rayU
|
||||
|
||||
---
|
||||
|
||||
### 4. ⭐ Outline
|
||||
|
||||
**Почему:**
|
||||
- ✅ Очень простой интерфейс
|
||||
- ✅ Разработан Google (Jigsaw)
|
||||
- ✅ Автоматическая настройка
|
||||
|
||||
**Установка:**
|
||||
- Mac App Store: https://apps.apple.com/app/outline/id1356177741
|
||||
- Или прямая загрузка: https://github.com/Jigsaw-Code/outline-client/releases
|
||||
|
||||
**Настройка:**
|
||||
1. Откройте Outline
|
||||
2. Нажмите **"+"** → **"Enter access key"**
|
||||
3. Вставьте ключ:
|
||||
```
|
||||
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpiTmtTYnVNUVhnTVhtdUJMUFFDQTVjU1VFQDIwOS4zOC4zMi4yMTo4Mzg4
|
||||
```
|
||||
4. Подключитесь
|
||||
|
||||
**GitHub:** https://github.com/Jigsaw-Code/outline-client
|
||||
|
||||
---
|
||||
|
||||
### 5. ShadowsocksX-NG
|
||||
|
||||
**Установка:**
|
||||
```bash
|
||||
brew install --cask shadowsocksx-ng
|
||||
```
|
||||
|
||||
**Настройка:**
|
||||
1. Откройте приложение → **Server Preferences** → **"+"**
|
||||
2. Введите параметры подключения
|
||||
3. Выберите сервер в меню и подключитесь
|
||||
4. Включите **"System Proxy"**
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Настройка системного прокси
|
||||
|
||||
### Автоматическая настройка (shadowsocks-libev)
|
||||
|
||||
Используйте скрипты:
|
||||
```bash
|
||||
cd docs/servers/vpn
|
||||
./scripts/enable-shadowsocks-full.sh # Включить для всего трафика
|
||||
```
|
||||
|
||||
### Ручная настройка
|
||||
|
||||
1. **System Settings** → **Network**
|
||||
2. Выберите активное подключение (Wi-Fi/Ethernet)
|
||||
3. **Details...** → **Proxies**
|
||||
4. Включите **SOCKS Proxy**:
|
||||
- Server: `127.0.0.1`
|
||||
- Port: `1080`
|
||||
5. Нажмите **OK**
|
||||
|
||||
**Или через командную строку:**
|
||||
```bash
|
||||
INTERFACE=$(networksetup -listallnetworkservices | grep -E "Wi-Fi|Ethernet" | head -1)
|
||||
networksetup -setsocksfirewallproxy "$INTERFACE" 127.0.0.1 1080
|
||||
networksetup -setsocksfirewallproxystate "$INTERFACE" on
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Переключение между Chrome VPN и Shadowsocks
|
||||
|
||||
### Использовать Chrome VPN
|
||||
|
||||
1. Выключите системный прокси:
|
||||
```bash
|
||||
cd docs/servers/vpn
|
||||
./scripts/toggle-shadowsocks-proxy.sh
|
||||
```
|
||||
2. Используйте Chrome VPN как обычно
|
||||
|
||||
### Использовать Shadowsocks
|
||||
|
||||
1. Включите системный прокси:
|
||||
```bash
|
||||
cd docs/servers/vpn
|
||||
./scripts/toggle-shadowsocks-proxy.sh
|
||||
```
|
||||
2. **Полностью закройте Chrome** (Cmd+Q)
|
||||
3. Откройте Chrome заново
|
||||
4. Проверьте IP: https://whatismyipaddress.com/
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Решение проблем
|
||||
|
||||
### Браузер показывает старый IP
|
||||
|
||||
1. **Отключите Chrome VPN расширение** (если активно)
|
||||
2. **Проверьте настройки Chrome:** `chrome://settings/system` → "Use system proxy settings"
|
||||
3. **Полностью закройте Chrome:** Cmd+Q
|
||||
4. **Откройте Chrome заново**
|
||||
|
||||
**Или используйте скрипт:**
|
||||
```bash
|
||||
cd docs/servers/vpn
|
||||
./scripts/fix-shadowsocks.sh
|
||||
```
|
||||
|
||||
### Прокси не работает
|
||||
|
||||
1. Проверьте статус:
|
||||
```bash
|
||||
cd docs/servers/vpn
|
||||
./scripts/check-proxy-status.sh
|
||||
```
|
||||
|
||||
2. Перезапустите Shadowsocks:
|
||||
```bash
|
||||
launchctl unload ~/Library/LaunchAgents/com.shadowsocks.local.plist
|
||||
launchctl load ~/Library/LaunchAgents/com.shadowsocks.local.plist
|
||||
```
|
||||
|
||||
### Firefox не использует системный прокси
|
||||
|
||||
Настройте вручную:
|
||||
1. **Preferences** → **Network Settings**
|
||||
2. **Manual proxy configuration**
|
||||
3. **SOCKS Host:** `127.0.0.1`
|
||||
4. **Port:** `1080`
|
||||
5. **SOCKS v5**
|
||||
|
||||
---
|
||||
|
||||
## 📊 Сравнение клиентов
|
||||
|
||||
| Клиент | Простота | Функции | Установка | Рекомендация |
|
||||
|--------|----------|---------|-----------|--------------|
|
||||
| **shadowsocks-libev** | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ **ЛУЧШИЙ** |
|
||||
| **ClashX** | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ✅ Очень популярный |
|
||||
| **V2rayU** | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ Хороший баланс |
|
||||
| **Outline** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ Очень простой |
|
||||
| **ShadowsocksX-NG** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ Оригинал |
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Полезные ссылки
|
||||
|
||||
- [Shadowsocks полное руководство](./SHADOWSOCKS.md)
|
||||
- [Скрипты управления](./scripts/)
|
||||
|
||||
---
|
||||
|
||||
**Версия:** 2.0
|
||||
**Дата:** 2025-01-XX
|
||||
|
||||
1
docs/connectivity/vpn/ONE_LINE_DEPLOY.txt
Normal file
1
docs/connectivity/vpn/ONE_LINE_DEPLOY.txt
Normal file
@@ -0,0 +1 @@
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config && sudo chown -R ahau:ahau /opt/app/vpn && docker stop hunab-vpn-wireguard-ru 2>/dev/null; docker rm hunab-vpn-wireguard-ru 2>/dev/null; cd /opt/app/vpn/wireguard && docker run -d --name hunab-vpn-wireguard-ru --cap-add=NET_ADMIN --cap-add=SYS_MODULE -e PUID=1000 -e PGID=1000 -e TZ=Europe/Moscow -e SERVERURL=149.154.64.19 -e SERVERPORT=51820 -e PEERS=1 -e PEERDNS=8.8.8.8 -e INTERNAL_SUBNET=10.14.14.0 -v /opt/app/vpn/wireguard/config:/config -p 51820:51820/udp --sysctl="net.ipv4.conf.all.src_valid_mark=1" --restart unless-stopped linuxserver/wireguard:latest && echo "Ожидание 45 секунд..." && sleep 45 && sudo ufw allow 51820/udp comment "WireGuard VPN RU" && sudo ufw reload && echo "=== КОНФИГУРАЦИЯ ===" && cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
|
||||
54
docs/connectivity/vpn/QUICK_DEPLOY_WG_RU.md
Normal file
54
docs/connectivity/vpn/QUICK_DEPLOY_WG_RU.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# 🚀 Быстрое развертывание WireGuard на ru.hunab.app
|
||||
|
||||
## Выполните эти команды в SSH сеансе на сервере
|
||||
|
||||
```bash
|
||||
# 1. Создание директорий
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config
|
||||
sudo chown -R ahau:ahau /opt/app/vpn
|
||||
|
||||
# 2. Остановка старых контейнеров
|
||||
docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
docker rm hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
|
||||
# 3. Запуск WireGuard
|
||||
cd /opt/app/vpn/wireguard
|
||||
|
||||
docker run -d \
|
||||
--name hunab-vpn-wireguard-ru \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=SYS_MODULE \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/Moscow \
|
||||
-e SERVERURL=149.154.64.19 \
|
||||
-e SERVERPORT=51820 \
|
||||
-e PEERS=1 \
|
||||
-e PEERDNS=8.8.8.8 \
|
||||
-e INTERNAL_SUBNET=10.14.14.0 \
|
||||
-v /opt/app/vpn/wireguard/config:/config \
|
||||
-p 51820:51820/udp \
|
||||
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
|
||||
--restart unless-stopped \
|
||||
linuxserver/wireguard:latest
|
||||
|
||||
# 4. Ожидание (45 секунд)
|
||||
sleep 45
|
||||
|
||||
# 5. Firewall
|
||||
sudo ufw allow 51820/udp comment 'WireGuard VPN RU'
|
||||
sudo ufw reload
|
||||
|
||||
# 6. Просмотр конфигурации
|
||||
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
|
||||
```
|
||||
|
||||
## После выполнения команд
|
||||
|
||||
Скопируйте вывод команды `cat` и вставьте в файл `docs/vpn/wg-ru.conf`
|
||||
|
||||
Или выполните с вашего компьютера:
|
||||
|
||||
```bash
|
||||
scp ahau@149.154.64.19:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/wg-ru.conf
|
||||
```
|
||||
115
docs/connectivity/vpn/README.md
Normal file
115
docs/connectivity/vpn/README.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# 🔐 VPN Решения для Hunab.app
|
||||
|
||||
## 📋 Обзор
|
||||
|
||||
Документация по VPN решениям для сервера 209.38.32.21. Все решения развернуты через Docker и готовы к использованию.
|
||||
|
||||
**Сервер:** 209.38.32.21 (Ubuntu 24.10)
|
||||
**Архитектура:** Docker-based deployment
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Быстрый старт
|
||||
|
||||
### Shadowsocks (Рекомендуется для обхода блокировок)
|
||||
|
||||
**Лучший выбор для обхода строгих блокировок и цензуры.**
|
||||
|
||||
- 📖 [Полное руководство](./SHADOWSOCKS.md)
|
||||
- ⚡ Быстрый старт: `bash scripts/deployment/deploy-vpn-shadowsocks.sh`
|
||||
- 📱 [Android инструкция](./SHADOWSOCKS.md#android)
|
||||
- 🍎 [macOS инструкция](./SHADOWSOCKS.md#macos)
|
||||
|
||||
**Параметры подключения:**
|
||||
```
|
||||
Server: 209.38.32.21
|
||||
Port: 8388
|
||||
Password: bNkSbuMQXgMXmuBLPQCA5cSUE
|
||||
Method: chacha20-ietf-poly1305
|
||||
```
|
||||
|
||||
### WireGuard (Рекомендуется для обычного использования)
|
||||
|
||||
**Проще в настройке, полное туннелирование из коробки.**
|
||||
|
||||
- 📖 [Полное руководство](./WIREGUARD.md)
|
||||
- ⚡ Быстрый старт: `bash scripts/deployment/deploy-vpn-wireguard.sh`
|
||||
|
||||
---
|
||||
|
||||
## 📚 Документация
|
||||
|
||||
### Основные руководства
|
||||
|
||||
- **[SHADOWSOCKS.md](./SHADOWSOCKS.md)** - Полное руководство по Shadowsocks
|
||||
- Развертывание сервера
|
||||
- Настройка клиентов (Android, macOS, CLI)
|
||||
- Решение проблем
|
||||
- Управление и мониторинг
|
||||
|
||||
- **[MAC_CLIENTS.md](./MAC_CLIENTS.md)** - Клиенты для macOS
|
||||
- ShadowsocksX-NG, ClashX, V2rayU, Outline
|
||||
- Настройка системного прокси
|
||||
- Решение проблем с браузерами
|
||||
- Альтернативные клиенты
|
||||
|
||||
- **[WIREGUARD.md](./WIREGUARD.md)** - Руководство по WireGuard
|
||||
- Развертывание
|
||||
- Настройка клиентов
|
||||
- Управление
|
||||
|
||||
- **[WHONIX.md](./WHONIX.md)** - Whonix для приватности
|
||||
- Установка на Mac
|
||||
- Настройка для Apple Silicon
|
||||
- Использование
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Скрипты
|
||||
|
||||
Все скрипты находятся в папке `scripts/`:
|
||||
|
||||
- `scripts/toggle-shadowsocks-proxy.sh` - Переключение системного прокси
|
||||
- `scripts/check-proxy-status.sh` - Проверка статуса прокси
|
||||
- `scripts/fix-shadowsocks.sh` - Автоматическое исправление
|
||||
- `scripts/enable-shadowsocks-full.sh` - Включение для всего трафика
|
||||
|
||||
**Использование:**
|
||||
```bash
|
||||
cd docs/servers/vpn
|
||||
./scripts/toggle-shadowsocks-proxy.sh
|
||||
./scripts/check-proxy-status.sh
|
||||
./scripts/fix-shadowsocks.sh
|
||||
./scripts/enable-shadowsocks-full.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Сравнение решений
|
||||
|
||||
| Критерий | Shadowsocks | WireGuard |
|
||||
|----------|-------------|-----------|
|
||||
| **Скорость** | 90-95% | 85-95% |
|
||||
| **Обход блокировок** | 🏆 Лучший | Хороший |
|
||||
| **Обнаружимость DPI** | 🏆 Сложнее | Легче |
|
||||
| **Настройка** | Простая | Очень простая |
|
||||
| **Полное туннелирование** | Требует настройку | Из коробки |
|
||||
|
||||
**Рекомендация:**
|
||||
- **Для обхода блокировок:** Shadowsocks
|
||||
- **Для обычного использования:** WireGuard
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Полезные ссылки
|
||||
|
||||
- [Shadowsocks Official](https://shadowsocks.org/)
|
||||
- [WireGuard Official](https://www.wireguard.com/)
|
||||
- [Whonix Official](https://www.whonix.org/)
|
||||
|
||||
---
|
||||
|
||||
**Версия:** 2.0
|
||||
**Дата:** 2025-01-XX
|
||||
**Статус:** ✅ Актуально
|
||||
|
||||
214
docs/connectivity/vpn/RU_PROXY_SERVER_ACCESS.md
Normal file
214
docs/connectivity/vpn/RU_PROXY_SERVER_ACCESS.md
Normal file
@@ -0,0 +1,214 @@
|
||||
# 🔐 Доступы и команды управления прокси-сервером
|
||||
|
||||
## 🌐 Сервер ru.hunab.app
|
||||
**IP:** 149.154.64.19
|
||||
**Провайдер:** Российский VPS
|
||||
**ОС:** Ubuntu 24.10
|
||||
|
||||
## 🔑 SSH Доступ
|
||||
```bash
|
||||
ssh ahau@149.154.64.19
|
||||
```
|
||||
**Пароль:** w99z2fBSkO4gU
|
||||
|
||||
**Альтернативный доступ с ключом:**
|
||||
```bash
|
||||
ssh -i ~/.ssh/id_rsa_ahau ahau@149.154.64.19
|
||||
```
|
||||
|
||||
## 👤 Пользователи
|
||||
- **ahau** - основной пользователь с sudo правами
|
||||
- **root** - доступен через ahau + sudo
|
||||
|
||||
## 🌍 URL'ы для проверки
|
||||
- **Основной сайт:** https://ru.hunab.app/
|
||||
- **Health check:** https://ru.hunab.app/proxy-health
|
||||
- **API:** https://ru.hunab.app/api/health
|
||||
|
||||
## 📁 Важные файлы
|
||||
```bash
|
||||
# NGINX конфигурация
|
||||
/etc/nginx/sites-available/ru.hunab.app
|
||||
|
||||
# SSL сертификаты
|
||||
/etc/letsencrypt/live/ru.hunab.app/
|
||||
|
||||
# Логи
|
||||
/var/log/nginx/ru.hunab.app.access.log
|
||||
/var/log/nginx/ru.hunab.app.error.log
|
||||
|
||||
# Кеш
|
||||
/var/cache/nginx/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 КОМАНДЫ УПРАВЛЕНИЯ
|
||||
|
||||
### 🌐 NGINX Управление
|
||||
```bash
|
||||
# Проверка статуса
|
||||
sudo systemctl status nginx
|
||||
|
||||
# Проверка конфигурации
|
||||
sudo nginx -t
|
||||
|
||||
# Перезагрузка конфигурации
|
||||
sudo systemctl reload nginx
|
||||
|
||||
# Полный перезапуск
|
||||
sudo systemctl restart nginx
|
||||
|
||||
# Просмотр активных сайтов
|
||||
sudo nginx -T | grep server_name
|
||||
```
|
||||
|
||||
### 🔒 SSL/TLS Управление
|
||||
```bash
|
||||
# Проверка сертификатов
|
||||
sudo certbot certificates
|
||||
|
||||
# Тест автообновления
|
||||
sudo certbot renew --dry-run
|
||||
|
||||
# Ручное обновление
|
||||
sudo certbot renew
|
||||
|
||||
# Проверка статуса автообновления
|
||||
sudo systemctl status certbot.timer
|
||||
sudo systemctl list-timers | grep certbot
|
||||
```
|
||||
|
||||
### 🛡️ Безопасность и Мониторинг
|
||||
```bash
|
||||
# UFW Firewall
|
||||
sudo ufw status verbose
|
||||
sudo ufw reload
|
||||
|
||||
# Fail2ban
|
||||
sudo systemctl status fail2ban
|
||||
sudo fail2ban-client status
|
||||
sudo fail2ban-client status nginx-limit-req
|
||||
|
||||
# Просмотр заблокированных IP
|
||||
sudo fail2ban-client get nginx-limit-req banip
|
||||
```
|
||||
|
||||
### 📊 Логи и Мониторинг
|
||||
```bash
|
||||
# NGINX логи
|
||||
sudo tail -f /var/log/nginx/ru.hunab.app.access.log
|
||||
sudo tail -f /var/log/nginx/ru.hunab.app.error.log
|
||||
|
||||
# Анализ трафика
|
||||
sudo grep "$(date '+%d/%b/%Y')" /var/log/nginx/ru.hunab.app.access.log | wc -l
|
||||
|
||||
# Поиск ошибок
|
||||
sudo grep -i error /var/log/nginx/ru.hunab.app.error.log | tail -20
|
||||
|
||||
# Системные логи
|
||||
sudo journalctl -u nginx -f
|
||||
sudo journalctl -u fail2ban -f
|
||||
```
|
||||
|
||||
### 🧪 Тестирование
|
||||
```bash
|
||||
# Health check прокси
|
||||
curl -I https://ru.hunab.app/proxy-health
|
||||
|
||||
# Проверка основного сайта
|
||||
curl -I https://ru.hunab.app/
|
||||
|
||||
# Проверка API
|
||||
curl -I https://ru.hunab.app/api/health
|
||||
|
||||
# Тест скорости ответа
|
||||
curl -w "@-" -o /dev/null -s https://ru.hunab.app/ <<'EOF'
|
||||
time_namelookup: %{time_namelookup}\n
|
||||
time_connect: %{time_connect}\n
|
||||
time_appconnect: %{time_appconnect}\n
|
||||
time_pretransfer: %{time_pretransfer}\n
|
||||
time_redirect: %{time_redirect}\n
|
||||
time_starttransfer: %{time_starttransfer}\n
|
||||
----------\n
|
||||
time_total: %{time_total}\n
|
||||
EOF
|
||||
```
|
||||
|
||||
### 💾 Кеширование
|
||||
```bash
|
||||
# Очистка кеша NGINX
|
||||
sudo rm -rf /var/cache/nginx/*
|
||||
sudo systemctl reload nginx
|
||||
|
||||
# Проверка размера кеша
|
||||
sudo du -sh /var/cache/nginx/
|
||||
|
||||
# Просмотр кешированных файлов
|
||||
sudo find /var/cache/nginx/ -type f | head -10
|
||||
```
|
||||
|
||||
### 🔄 Backup и Восстановление
|
||||
```bash
|
||||
# Backup конфигурации
|
||||
sudo cp /etc/nginx/sites-available/ru.hunab.app /home/ahau/nginx-backup-$(date +%Y%m%d).conf
|
||||
|
||||
# Backup SSL сертификатов
|
||||
sudo tar -czf /home/ahau/ssl-backup-$(date +%Y%m%d).tar.gz /etc/letsencrypt/
|
||||
|
||||
# Проверка свободного места
|
||||
df -h
|
||||
```
|
||||
|
||||
### ⚡ Быстрые диагностические команды
|
||||
```bash
|
||||
# Полная проверка состояния системы
|
||||
echo "=== NGINX Status ===" && sudo systemctl status nginx --no-pager && \
|
||||
echo "=== SSL Certificates ===" && sudo certbot certificates && \
|
||||
echo "=== Firewall Status ===" && sudo ufw status && \
|
||||
echo "=== Current Connections ===" && sudo ss -tuln | grep -E ':80|:443' && \
|
||||
echo "=== Recent Access ===" && sudo tail -5 /var/log/nginx/ru.hunab.app.access.log
|
||||
|
||||
# Проверка производительности
|
||||
echo "=== CPU Load ===" && uptime && \
|
||||
echo "=== Memory Usage ===" && free -h && \
|
||||
echo "=== Disk Usage ===" && df -h && \
|
||||
echo "=== Network Connections ===" && sudo netstat -anp | grep nginx | wc -l
|
||||
```
|
||||
|
||||
### 🚨 Экстренные команды
|
||||
```bash
|
||||
# Экстренная остановка NGINX
|
||||
sudo systemctl stop nginx
|
||||
|
||||
# Экстренный запуск с минимальной конфигурацией
|
||||
sudo nginx -t && sudo systemctl start nginx
|
||||
|
||||
# Откат к предыдущей конфигурации
|
||||
sudo cp /home/ahau/nginx-backup-YYYYMMDD.conf /etc/nginx/sites-available/ru.hunab.app
|
||||
sudo systemctl reload nginx
|
||||
|
||||
# Проверка процессов NGINX
|
||||
sudo ps aux | grep nginx
|
||||
sudo pgrep nginx | xargs sudo kill -9 # Крайний случай!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ ВАЖНЫЕ ЗАМЕТКИ
|
||||
- Прокси настроен и работает в production
|
||||
- SSL автообновление активно (certbot.timer)
|
||||
- Все security компоненты настроены
|
||||
- Требуется только мониторинг работоспособности
|
||||
|
||||
## 🇷🇺 АВТОМАТИЧЕСКИЙ РЕДИРЕКТ
|
||||
|
||||
**Статус:** ✅ РЕАЛИЗОВАНО И РАЗВЕРНУТО (8 декабря 2025)
|
||||
**Версия:** v3.0
|
||||
|
||||
Автоматический редирект российских пользователей на `ru.hunab.app` реализован на фронтенде:
|
||||
- Немедленный редирект в HTML (до загрузки JS)
|
||||
- Проверка загрузки статических ресурсов
|
||||
- Автоматический редирект в JavaScript
|
||||
|
||||
📖 **Детальная документация:** [`AUTOMATIC_REDIRECT_SOLUTION.md`](./AUTOMATIC_REDIRECT_SOLUTION.md)
|
||||
347
docs/connectivity/vpn/SHADOWSOCKS.md
Normal file
347
docs/connectivity/vpn/SHADOWSOCKS.md
Normal file
@@ -0,0 +1,347 @@
|
||||
# 🚀 Shadowsocks VPN - Полное руководство
|
||||
|
||||
## 📋 Обзор
|
||||
|
||||
Shadowsocks VPN - **лучший выбор для обхода строгих блокировок**. Маскирует трафик под обычный веб-трафик, что делает его очень эффективным против DPI (Deep Packet Inspection) и интернет-цензуры.
|
||||
|
||||
**Преимущества:**
|
||||
- ✅ **90-95% от пропускной способности** (очень быстрый)
|
||||
- ✅ **Сложнее обнаружить** через DPI
|
||||
- ✅ **Эффективен против цензуры** (разработан для Китая)
|
||||
- ✅ **TCP протокол** (проходит через корпоративные прокси)
|
||||
|
||||
**Параметры подключения:**
|
||||
```
|
||||
Server: 209.38.32.21
|
||||
Port: 8388
|
||||
Password: bNkSbuMQXgMXmuBLPQCA5cSUE
|
||||
Method: chacha20-ietf-poly1305
|
||||
```
|
||||
|
||||
**URI для импорта:**
|
||||
```
|
||||
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpiTmtTYnVNUVhnTVhtdUJMUFFDQTVjU1VFQDIwOS4zOC4zMi4yMTo4Mzg4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Развертывание сервера
|
||||
|
||||
### Автоматическое развертывание
|
||||
|
||||
```bash
|
||||
bash scripts/deployment/deploy-vpn-shadowsocks.sh
|
||||
```
|
||||
|
||||
Скрипт автоматически:
|
||||
1. ✅ Проверит подключение к серверу
|
||||
2. ✅ Сгенерирует безопасный пароль
|
||||
3. ✅ Создаст необходимые директории
|
||||
4. ✅ Настроит Docker контейнер
|
||||
5. ✅ Обновит firewall правила
|
||||
6. ✅ Запустит VPN сервер
|
||||
7. ✅ Создаст клиентскую конфигурацию
|
||||
|
||||
### Статус сервера
|
||||
|
||||
**Контейнер:** `hunab-vpn-shadowsocks`
|
||||
**Статус:** ✅ Запущен и работает
|
||||
**Порт:** 8388 (TCP/UDP)
|
||||
**Firewall:** ✅ Настроен
|
||||
|
||||
**Проверка статуса:**
|
||||
```bash
|
||||
ssh hunab-prod "docker ps | grep shadowsocks"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📱 Настройка клиентов
|
||||
|
||||
### Android
|
||||
|
||||
1. Установите приложение **Shadowsocks** из Google Play (разработчик: Max Lv)
|
||||
2. Нажмите **"+"** → **"Manual Settings"**
|
||||
3. Введите параметры:
|
||||
```
|
||||
Server: 209.38.32.21
|
||||
Remote Port: 8388
|
||||
Password: bNkSbuMQXgMXmuBLPQCA5cSUE
|
||||
Method: chacha20-ietf-poly1305
|
||||
```
|
||||
4. Нажмите **"Подключиться"**
|
||||
|
||||
**Альтернативные клиенты для Android:**
|
||||
- ShadowsocksR - больше функций
|
||||
- Outline - очень простой
|
||||
- V2rayNG - много протоколов
|
||||
- Clash for Android - правила маршрутизации
|
||||
|
||||
### macOS
|
||||
|
||||
#### Вариант 1: ShadowsocksX-NG (GUI)
|
||||
|
||||
```bash
|
||||
brew install --cask shadowsocksx-ng
|
||||
```
|
||||
|
||||
1. Откройте приложение → **Server Preferences** → **"+"**
|
||||
2. Введите параметры подключения
|
||||
3. Выберите сервер в меню и подключитесь
|
||||
4. Включите **"System Proxy"**
|
||||
|
||||
#### Вариант 2: shadowsocks-libev (CLI) - Рекомендуется
|
||||
|
||||
```bash
|
||||
brew install shadowsocks-libev
|
||||
```
|
||||
|
||||
**Настройка:**
|
||||
```bash
|
||||
mkdir -p ~/.shadowsocks
|
||||
cat > ~/.shadowsocks/config.json <<EOF
|
||||
{
|
||||
"server": "209.38.32.21",
|
||||
"server_port": 8388,
|
||||
"local_address": "127.0.0.1",
|
||||
"local_port": 1080,
|
||||
"password": "bNkSbuMQXgMXmuBLPQCA5cSUE",
|
||||
"method": "chacha20-ietf-poly1305",
|
||||
"timeout": 300,
|
||||
"fast_open": true
|
||||
}
|
||||
EOF
|
||||
```
|
||||
|
||||
**Автозапуск:**
|
||||
```bash
|
||||
cat > ~/Library/LaunchAgents/com.shadowsocks.local.plist <<EOF
|
||||
<?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.shadowsocks.local</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/opt/homebrew/bin/ss-local</string>
|
||||
<string>-c</string>
|
||||
<string>${HOME}/.shadowsocks/config.json</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>StandardOutPath</key>
|
||||
<string>/tmp/shadowsocks.log</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>/tmp/shadowsocks.error.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
EOF
|
||||
|
||||
launchctl load ~/Library/LaunchAgents/com.shadowsocks.local.plist
|
||||
```
|
||||
|
||||
**Настройка системного прокси:**
|
||||
1. System Settings → Network → Wi-Fi/Ethernet → Details → Proxies
|
||||
2. Включите SOCKS Proxy: `127.0.0.1:1080`
|
||||
|
||||
**Или используйте скрипты:**
|
||||
```bash
|
||||
cd docs/servers/vpn
|
||||
./scripts/enable-shadowsocks-full.sh # Включить для всего трафика
|
||||
./scripts/toggle-shadowsocks-proxy.sh # Переключить прокси
|
||||
./scripts/check-proxy-status.sh # Проверить статус
|
||||
```
|
||||
|
||||
**Альтернативные клиенты для macOS:**
|
||||
- ClashX - очень популярный
|
||||
- V2rayU - простой интерфейс
|
||||
- Outline - очень простой
|
||||
- Surge - платный, но мощный
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Управление
|
||||
|
||||
### Проверка статуса
|
||||
|
||||
```bash
|
||||
# На сервере
|
||||
ssh hunab-prod "docker ps | grep shadowsocks"
|
||||
|
||||
# На клиенте (macOS CLI)
|
||||
launchctl list | grep shadowsocks
|
||||
```
|
||||
|
||||
### Просмотр логов
|
||||
|
||||
```bash
|
||||
# Сервер
|
||||
ssh hunab-prod "docker logs hunab-vpn-shadowsocks"
|
||||
|
||||
# Клиент (macOS)
|
||||
tail -f /tmp/shadowsocks.log
|
||||
tail -f /tmp/shadowsocks.error.log
|
||||
```
|
||||
|
||||
### Перезапуск
|
||||
|
||||
```bash
|
||||
# Сервер
|
||||
ssh hunab-prod "cd /opt/app && docker compose -f docker-compose.vpn-shadowsocks.yml restart"
|
||||
|
||||
# Клиент (macOS)
|
||||
launchctl unload ~/Library/LaunchAgents/com.shadowsocks.local.plist
|
||||
launchctl load ~/Library/LaunchAgents/com.shadowsocks.local.plist
|
||||
```
|
||||
|
||||
### Изменение пароля
|
||||
|
||||
```bash
|
||||
ssh hunab-prod
|
||||
cd /opt/app/vpn/shadowsocks
|
||||
|
||||
NEW_PASSWORD=$(openssl rand -base64 32 | tr -d "=+/" | cut -c1-25)
|
||||
sed -i "s/\"password\": \".*\"/\"password\": \"${NEW_PASSWORD}\"/" config.json
|
||||
docker restart hunab-vpn-shadowsocks
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Тестирование
|
||||
|
||||
### Проверка подключения
|
||||
|
||||
```bash
|
||||
# Через SOCKS5 прокси (macOS CLI)
|
||||
curl --socks5 127.0.0.1:1080 ifconfig.me
|
||||
# Должен показать: 209.38.32.21
|
||||
|
||||
# Прямое подключение
|
||||
curl ifconfig.me
|
||||
# Покажет ваш реальный IP
|
||||
```
|
||||
|
||||
### Проверка через браузер
|
||||
|
||||
1. Настройте системный прокси (см. выше)
|
||||
2. Откройте: https://whatismyipaddress.com/
|
||||
3. Должен отображаться IP: **209.38.32.21**
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Решение проблем
|
||||
|
||||
### Весь трафик не проходит через Shadowsocks
|
||||
|
||||
**Используйте скрипты:**
|
||||
```bash
|
||||
cd docs/servers/vpn
|
||||
./scripts/check-proxy-status.sh # Проверка статуса
|
||||
./scripts/fix-shadowsocks.sh # Автоматическое исправление
|
||||
```
|
||||
|
||||
**Ручная диагностика:**
|
||||
|
||||
1. **Проверка Shadowsocks:**
|
||||
```bash
|
||||
launchctl list | grep shadowsocks
|
||||
curl --socks5 127.0.0.1:1080 ifconfig.me
|
||||
```
|
||||
|
||||
2. **Проверка системного прокси:**
|
||||
```bash
|
||||
networksetup -getsocksfirewallproxy "Wi-Fi"
|
||||
# Должно показать: Enabled: Yes, Server: 127.0.0.1, Port: 1080
|
||||
```
|
||||
|
||||
3. **Настройка прокси:**
|
||||
```bash
|
||||
INTERFACE=$(networksetup -listallnetworkservices | grep -E "Wi-Fi|Ethernet" | head -1)
|
||||
networksetup -setsocksfirewallproxy "$INTERFACE" 127.0.0.1 1080
|
||||
networksetup -setsocksfirewallproxystate "$INTERFACE" on
|
||||
```
|
||||
|
||||
### Chrome не использует системный прокси
|
||||
|
||||
1. **Отключите Chrome VPN расширение** (если активно)
|
||||
2. **Проверьте настройки:** `chrome://settings/system` → "Use system proxy settings"
|
||||
3. **Полностью закройте Chrome:** Cmd+Q (не просто закрыть окно)
|
||||
4. **Откройте Chrome заново**
|
||||
|
||||
### Прокси не работает
|
||||
|
||||
1. Проверьте статус:
|
||||
```bash
|
||||
launchctl list | grep shadowsocks
|
||||
```
|
||||
|
||||
2. Проверьте логи:
|
||||
```bash
|
||||
cat /tmp/shadowsocks.error.log
|
||||
```
|
||||
|
||||
3. Перезапустите:
|
||||
```bash
|
||||
launchctl unload ~/Library/LaunchAgents/com.shadowsocks.local.plist
|
||||
launchctl load ~/Library/LaunchAgents/com.shadowsocks.local.plist
|
||||
```
|
||||
|
||||
### Порт 1080 занят
|
||||
|
||||
1. Проверьте, что использует порт:
|
||||
```bash
|
||||
lsof -i :1080
|
||||
```
|
||||
|
||||
2. Измените порт в `~/.shadowsocks/config.json`:
|
||||
```json
|
||||
"local_port": 1081
|
||||
```
|
||||
|
||||
3. Обновите системный прокси на новый порт
|
||||
|
||||
---
|
||||
|
||||
## 📊 Мониторинг
|
||||
|
||||
### Использование ресурсов
|
||||
|
||||
```bash
|
||||
ssh hunab-prod "docker stats hunab-vpn-shadowsocks --no-stream"
|
||||
```
|
||||
|
||||
### Активные подключения
|
||||
|
||||
```bash
|
||||
ssh hunab-prod "docker exec hunab-vpn-shadowsocks ss-server -c /etc/shadowsocks-libev/config.json -v"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔒 Безопасность
|
||||
|
||||
### Рекомендации
|
||||
|
||||
1. ✅ **Используйте порт 443** для маскировки под HTTPS трафик
|
||||
2. ✅ **Регулярно меняйте пароль** (каждые 1-3 месяца)
|
||||
3. ✅ **Используйте современные методы шифрования** (`chacha20-ietf-poly1305`)
|
||||
4. ✅ **Мониторинг трафика** - следите за использованием
|
||||
5. ✅ **Обновляйте контейнер** регулярно
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Полезные ссылки
|
||||
|
||||
- [Shadowsocks Official](https://shadowsocks.org/)
|
||||
- [Shadowsocks Docker Image](https://hub.docker.com/r/shadowsocks/shadowsocks-libev)
|
||||
- [Shadowsocks Clients](https://shadowsocks.org/en/download/clients.html)
|
||||
- [Shadowsocks GitHub](https://github.com/shadowsocks/shadowsocks-libev)
|
||||
|
||||
---
|
||||
|
||||
**Версия:** 2.0
|
||||
**Дата:** 2025-01-XX
|
||||
|
||||
167
docs/connectivity/vpn/WHONIX.md
Normal file
167
docs/connectivity/vpn/WHONIX.md
Normal file
@@ -0,0 +1,167 @@
|
||||
# 🔐 Whonix - Полное руководство для Mac
|
||||
|
||||
## 📋 Обзор
|
||||
|
||||
Whonix - приватная операционная система для максимальной анонимности. Состоит из двух виртуальных машин: Gateway (шлюз через Tor) и Workstation (изолированная рабочая среда).
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Установка
|
||||
|
||||
### Предварительные требования
|
||||
|
||||
- macOS (Intel или Apple Silicon)
|
||||
- Homebrew установлен
|
||||
- Минимум 4 GB RAM свободно
|
||||
- 20 GB свободного места на диске
|
||||
|
||||
### Шаг 1: Установка VirtualBox
|
||||
|
||||
**Для Intel Mac:**
|
||||
```bash
|
||||
brew install --cask virtualbox
|
||||
```
|
||||
|
||||
**Для Apple Silicon (M1/M2/M3):**
|
||||
VirtualBox не поддерживает эмуляцию x86 на Apple Silicon. Используйте:
|
||||
- **UTM** (бесплатно): `brew install --cask utm`
|
||||
- **Parallels Desktop** (платно, но лучше)
|
||||
|
||||
### Шаг 2: Скачивание образов Whonix
|
||||
|
||||
1. Перейдите на: https://www.whonix.org/wiki/Download
|
||||
2. Скачайте:
|
||||
- `Whonix-Gateway-*.ova` (~1.5 GB)
|
||||
- `Whonix-Workstation-*.ova` (~2.5 GB)
|
||||
|
||||
Сохраните в: `~/Downloads/whonix/`
|
||||
|
||||
### Шаг 3: Импорт в VirtualBox
|
||||
|
||||
**Через командную строку:**
|
||||
```bash
|
||||
VBoxManage import ~/Downloads/whonix/Whonix-Gateway-*.ova --vsys 0 --vmname "Whonix-Gateway"
|
||||
VBoxManage import ~/Downloads/whonix/Whonix-Workstation-*.ova --vsys 0 --vmname "Whonix-Workstation"
|
||||
```
|
||||
|
||||
**Через GUI:**
|
||||
1. Откройте VirtualBox
|
||||
2. File → Import Appliance
|
||||
3. Выберите `.ova` файлы
|
||||
|
||||
### Шаг 4: Настройка сети
|
||||
|
||||
**Gateway:**
|
||||
```bash
|
||||
VBoxManage modifyvm "Whonix-Gateway" --nic1 nat --nic2 intnet --intnet2 "whonix"
|
||||
```
|
||||
|
||||
**Workstation:**
|
||||
```bash
|
||||
VBoxManage modifyvm "Whonix-Workstation" --nic1 intnet --intnet1 "whonix"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Запуск Whonix
|
||||
|
||||
**Важно: Правильный порядок запуска**
|
||||
|
||||
1. **Сначала запустите Whonix-Gateway**
|
||||
```bash
|
||||
VBoxManage startvm "Whonix-Gateway" --type gui
|
||||
```
|
||||
Дождитесь полной загрузки (появится рабочий стол)
|
||||
|
||||
2. **Затем запустите Whonix-Workstation**
|
||||
```bash
|
||||
VBoxManage startvm "Whonix-Workstation" --type gui
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Валидация работы
|
||||
|
||||
В Whonix-Workstation проверьте:
|
||||
|
||||
1. **Проверка Tor:**
|
||||
- Откройте: https://check.torproject.org
|
||||
- Должно быть: "Congratulations. Your browser is configured to use Tor."
|
||||
|
||||
2. **Проверка IP:**
|
||||
- Откройте: https://whatismyipaddress.com
|
||||
- IP должен быть из сети Tor (не ваш реальный IP)
|
||||
|
||||
3. **Проверка DNS утечек:**
|
||||
- Откройте: https://dnsleaktest.com
|
||||
- Должны быть только DNS серверы Tor
|
||||
|
||||
---
|
||||
|
||||
## 🍎 Apple Silicon (M1/M2/M3)
|
||||
|
||||
### Проблема
|
||||
|
||||
VirtualBox не поддерживает эмуляцию x86 на Apple Silicon.
|
||||
|
||||
### Решение: UTM
|
||||
|
||||
1. Установите UTM:
|
||||
```bash
|
||||
brew install --cask utm
|
||||
```
|
||||
|
||||
2. Импортируйте Whonix в UTM:
|
||||
- Откройте UTM
|
||||
- Создать новую виртуальную машину
|
||||
- Выберите "Virtualize" → "Linux"
|
||||
- Импортируйте `.ova` файлы
|
||||
- **Важно:** Выберите архитектуру **x86_64** (эмуляция)
|
||||
|
||||
3. Настройте сеть:
|
||||
- Gateway: NAT для интернета
|
||||
- Workstation: Internal Network (shared с Gateway)
|
||||
|
||||
**Производительность:** Будет медленнее чем на Intel Mac (эмуляция), но работает.
|
||||
|
||||
### Альтернативы
|
||||
|
||||
- **Parallels Desktop** - лучше производительность, но платно
|
||||
- **Tails через USB** - нативная загрузка, быстрее
|
||||
- **VPN + Tor Browser** - нативное приложение, самое быстрое
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Решение проблем
|
||||
|
||||
### Gateway не запускается
|
||||
|
||||
1. Проверьте логи VirtualBox
|
||||
2. Проверьте настройки сети
|
||||
3. Убедитесь, что VirtualBox установлен правильно
|
||||
|
||||
### Workstation не может подключиться к интернету
|
||||
|
||||
1. Убедитесь, что Gateway запущен и полностью загружен
|
||||
2. Проверьте, что оба VM используют одну Internal Network "whonix"
|
||||
3. Перезапустите обе VM
|
||||
|
||||
### Медленная работа
|
||||
|
||||
1. Увеличьте RAM для VM (минимум 2 GB каждая)
|
||||
2. Увеличьте количество CPU ядер
|
||||
3. Используйте SSD (не внешний диск)
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Полезные ссылки
|
||||
|
||||
- [Whonix Official](https://www.whonix.org/)
|
||||
- [Whonix Documentation](https://www.whonix.org/wiki/Documentation)
|
||||
- [UTM Official](https://mac.getutm.app/)
|
||||
|
||||
---
|
||||
|
||||
**Версия:** 2.0
|
||||
**Дата:** 2025-01-XX
|
||||
|
||||
199
docs/connectivity/vpn/WIREGUARD.md
Normal file
199
docs/connectivity/vpn/WIREGUARD.md
Normal file
@@ -0,0 +1,199 @@
|
||||
# 🚀 WireGuard VPN - Полное руководство
|
||||
|
||||
## 📋 Обзор
|
||||
|
||||
WireGuard VPN позволяет подключаться к серверу 209.38.32.21 и использовать его как прокси для обхода интернет-ограничений.
|
||||
|
||||
**Преимущества:**
|
||||
- ✅ Современный протокол (state-of-the-art криптография)
|
||||
- ✅ Очень быстрый (85-95% от пропускной способности)
|
||||
- ✅ Простая настройка (минимум конфигурации)
|
||||
- ✅ Полное туннелирование из коробки
|
||||
- ✅ Низкое потребление ресурсов
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Развертывание сервера
|
||||
|
||||
### Автоматическое развертывание
|
||||
|
||||
```bash
|
||||
bash scripts/deployment/deploy-vpn-wireguard.sh
|
||||
```
|
||||
|
||||
Скрипт автоматически:
|
||||
1. ✅ Проверит подключение к серверу
|
||||
2. ✅ Создаст необходимые директории
|
||||
3. ✅ Настроит Docker контейнер
|
||||
4. ✅ Обновит firewall правила
|
||||
5. ✅ Запустит VPN сервер
|
||||
6. ✅ Создаст клиентскую конфигурацию
|
||||
|
||||
### Ручное развертывание
|
||||
|
||||
1. Подключитесь к серверу: `ssh hunab-prod`
|
||||
2. Создайте директории:
|
||||
```bash
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config
|
||||
sudo chown -R hunab:hunab /opt/app/vpn
|
||||
```
|
||||
3. Создайте docker-compose файл
|
||||
4. Запустите контейнер: `docker compose -f docker-compose.vpn.yml up -d`
|
||||
5. Откройте порт: `sudo ufw allow 51820/udp comment 'WireGuard VPN'`
|
||||
|
||||
---
|
||||
|
||||
## 📱 Настройка клиентов
|
||||
|
||||
### Android / iOS
|
||||
|
||||
1. Установите приложение **WireGuard** из Google Play / App Store
|
||||
2. Нажмите **"+"** → **"Создать из файла или архива"**
|
||||
3. Выберите файл `wireguard-peer1.conf` (созданный скриптом)
|
||||
4. Нажмите **"Подключиться"**
|
||||
|
||||
### Windows / macOS / Linux
|
||||
|
||||
1. Установите WireGuard клиент:
|
||||
- **Windows:** https://www.wireguard.com/install/
|
||||
- **macOS:** `brew install wireguard-tools`
|
||||
- **Linux:** `sudo apt install wireguard`
|
||||
|
||||
2. Импортируйте конфигурацию:
|
||||
```bash
|
||||
# Linux/macOS
|
||||
sudo cp wireguard-peer1.conf /etc/wireguard/wg0.conf
|
||||
sudo wg-quick up wg0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Проверка подключения
|
||||
|
||||
### На сервере
|
||||
|
||||
```bash
|
||||
# Проверка статуса контейнера
|
||||
docker ps | grep hunab-vpn-wireguard
|
||||
|
||||
# Просмотр логов
|
||||
docker logs hunab-vpn-wireguard
|
||||
|
||||
# Проверка подключенных клиентов
|
||||
docker exec hunab-vpn-wireguard wg show
|
||||
```
|
||||
|
||||
### На клиенте
|
||||
|
||||
```bash
|
||||
# Linux/macOS
|
||||
sudo wg show
|
||||
|
||||
# Проверка IP адреса
|
||||
curl ifconfig.me
|
||||
# Должен показать IP сервера 209.38.32.21
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Управление
|
||||
|
||||
### Добавление нового клиента
|
||||
|
||||
```bash
|
||||
ssh hunab-prod
|
||||
cd /opt/app
|
||||
docker compose -f docker-compose.vpn.yml down
|
||||
# Измените PEERS=1 на PEERS=2 в docker-compose.vpn.yml
|
||||
docker compose -f docker-compose.vpn.yml up -d
|
||||
# Новый конфиг будет в /opt/app/vpn/wireguard/config/peer2/peer2.conf
|
||||
```
|
||||
|
||||
### Остановка VPN
|
||||
|
||||
```bash
|
||||
ssh hunab-prod "cd /opt/app && docker compose -f docker-compose.vpn.yml down"
|
||||
```
|
||||
|
||||
### Перезапуск VPN
|
||||
|
||||
```bash
|
||||
ssh hunab-prod "cd /opt/app && docker compose -f docker-compose.vpn.yml restart wireguard"
|
||||
```
|
||||
|
||||
### Просмотр статистики
|
||||
|
||||
```bash
|
||||
ssh hunab-prod "docker exec hunab-vpn-wireguard wg show"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔒 Безопасность
|
||||
|
||||
### Рекомендации
|
||||
|
||||
1. ✅ **Храните конфигурационные файлы в безопасности**
|
||||
2. ✅ **Регулярно обновляйте ключи** (каждые 3-6 месяцев)
|
||||
3. ✅ **Мониторинг трафика**
|
||||
4. ✅ **Обновляйте контейнер** регулярно
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Решение проблем
|
||||
|
||||
### VPN не подключается
|
||||
|
||||
1. Проверьте статус контейнера: `docker ps | grep wireguard`
|
||||
2. Проверьте логи: `docker logs hunab-vpn-wireguard`
|
||||
3. Проверьте firewall: `sudo ufw status | grep 51820`
|
||||
4. Проверьте порт: `sudo netstat -tuln | grep 51820`
|
||||
|
||||
### Медленное подключение
|
||||
|
||||
1. Проверьте задержку: `ping 209.38.32.21`
|
||||
2. Проверьте нагрузку сервера: `docker stats hunab-vpn-wireguard`
|
||||
|
||||
### Клиент не получает IP
|
||||
|
||||
1. Проверьте конфигурацию: `sudo wg show`
|
||||
2. Перезапустите VPN на сервере
|
||||
|
||||
---
|
||||
|
||||
## 📊 Мониторинг
|
||||
|
||||
### Просмотр активных подключений
|
||||
|
||||
```bash
|
||||
ssh hunab-prod "docker exec hunab-vpn-wireguard wg show"
|
||||
```
|
||||
|
||||
### Просмотр трафика
|
||||
|
||||
```bash
|
||||
ssh hunab-prod "docker exec hunab-vpn-wireguard wg show wg0 transfer"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Примечания
|
||||
|
||||
- **Порт:** UDP 51820 (можно изменить)
|
||||
- **Сеть VPN:** 10.13.13.0/24 (можно изменить)
|
||||
- **Контейнер:** `hunab-vpn-wireguard`
|
||||
- **Конфигурация:** `/opt/app/vpn/wireguard/config/`
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Полезные ссылки
|
||||
|
||||
- [WireGuard Official](https://www.wireguard.com/)
|
||||
- [WireGuard Docker Image](https://github.com/linuxserver/docker-wireguard)
|
||||
- [WireGuard Client Apps](https://www.wireguard.com/install/)
|
||||
|
||||
---
|
||||
|
||||
**Версия:** 2.0
|
||||
**Дата:** 2025-01-XX
|
||||
|
||||
167
docs/connectivity/vpn/WIREGUARD_RU_SERVER.md
Normal file
167
docs/connectivity/vpn/WIREGUARD_RU_SERVER.md
Normal file
@@ -0,0 +1,167 @@
|
||||
# 🚀 WireGuard VPN на российском сервере (ru.hunab.app)
|
||||
|
||||
## 📋 Обзор
|
||||
|
||||
Развертывание WireGuard VPN на российском прокси-сервере для доступа из России.
|
||||
|
||||
**Сервер:** 149.154.64.19 (ru.hunab.app)
|
||||
**ОС:** Ubuntu 24.10
|
||||
**Архитектура:** Docker-based deployment
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Архитектура решения
|
||||
|
||||
```
|
||||
[Android/iPhone]
|
||||
↓
|
||||
[WireGuard Client]
|
||||
↓
|
||||
[ru.hunab.app:51820] ← Российский сервер 149.154.64.19 (доступен из РФ)
|
||||
↓
|
||||
[209.38.32.21] ← Основной VPN сервер (опционально через туннель)
|
||||
↓
|
||||
[Интернет]
|
||||
```
|
||||
|
||||
**Преимущества:**
|
||||
- ✅ Доступен из России (российский IP)
|
||||
- ✅ Стандартный WireGuard протокол
|
||||
- ✅ Работает на всех платформах
|
||||
- ✅ Не требует специальных клиентов
|
||||
- ✅ Элегантная архитектура
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Развертывание на российском сервере
|
||||
|
||||
### Автоматическое развертывание
|
||||
|
||||
```bash
|
||||
# Подключитесь к российскому серверу
|
||||
ssh ahau@149.154.64.19
|
||||
# Пароль: w99z2fBSkO4gU
|
||||
|
||||
# Создайте директории
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config
|
||||
sudo chown -R ahau:ahau /opt/app/vpn
|
||||
|
||||
# Разверните WireGuard через Docker
|
||||
cd /opt/app/vpn/wireguard
|
||||
docker run -d \
|
||||
--name hunab-vpn-wireguard-ru \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=SYS_MODULE \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/Moscow \
|
||||
-e SERVERURL=149.154.64.19 \
|
||||
-e SERVERPORT=51820 \
|
||||
-e PEERS=1 \
|
||||
-e PEERDNS=8.8.8.8 \
|
||||
-e INTERNAL_SUBNET=10.14.14.0 \
|
||||
-v /opt/app/vpn/wireguard/config:/config \
|
||||
-p 51820:51820/udp \
|
||||
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
|
||||
--restart unless-stopped \
|
||||
linuxserver/wireguard:latest
|
||||
```
|
||||
|
||||
### Настройка Firewall
|
||||
|
||||
```bash
|
||||
# Откройте порт WireGuard
|
||||
sudo ufw allow 51820/udp comment 'WireGuard VPN RU'
|
||||
sudo ufw reload
|
||||
```
|
||||
|
||||
### Проверка развертывания
|
||||
|
||||
```bash
|
||||
# Проверка контейнера
|
||||
docker ps | grep wireguard
|
||||
|
||||
# Просмотр логов
|
||||
docker logs hunab-vpn-wireguard-ru
|
||||
|
||||
# Проверка конфигурации клиента
|
||||
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📱 Получение конфигурации для Android
|
||||
|
||||
### Способ 1: Скачать с сервера
|
||||
|
||||
```bash
|
||||
# С вашего компьютера
|
||||
scp ahau@149.154.64.19:/opt/app/vpn/wireguard/config/peer1/peer1.conf ./wg-ru.conf
|
||||
```
|
||||
|
||||
### Способ 2: Просмотреть и скопировать
|
||||
|
||||
```bash
|
||||
ssh ahau@149.154.64.19 "cat /opt/app/vpn/wireguard/config/peer1/peer1.conf"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Альтернатива: Туннелирование через российский сервер
|
||||
|
||||
Если не хотите разворачивать отдельный WireGuard на российском сервере, можно настроить туннелирование:
|
||||
|
||||
### Вариант A: WireGuard через SSH туннель
|
||||
|
||||
```bash
|
||||
# На вашем компьютере создайте SSH туннель
|
||||
ssh -L 51820:209.38.32.21:51820 -N ahau@149.154.64.19
|
||||
|
||||
# В конфигурации WireGuard измените Endpoint:
|
||||
# Endpoint = 127.0.0.1:51820
|
||||
```
|
||||
|
||||
### Вариант B: WireProxy (если нужен SOCKS5)
|
||||
|
||||
WireProxy позволяет использовать WireGuard через SOCKS5 прокси, но требует установки дополнительного ПО на клиенте.
|
||||
|
||||
---
|
||||
|
||||
## 📊 Сравнение вариантов
|
||||
|
||||
| Критерий | Вариант 1 (WireGuard на RU) | Вариант 2 (SSH туннель) |
|
||||
|----------|----------------------------|-------------------------|
|
||||
| **Простота** | ✅ Просто | ⚠️ Требует SSH туннель |
|
||||
| **Производительность** | ✅ Высокая | ⚠️ Средняя |
|
||||
| **Мобильность** | ✅ Работает везде | ❌ Требует SSH клиент |
|
||||
| **Надежность** | ✅ Стабильно | ⚠️ Зависит от SSH |
|
||||
| **Рекомендация** | ✅ **Лучший выбор** | Для временного решения |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Рекомендуемое решение
|
||||
|
||||
**Развернуть WireGuard на российском сервере (Вариант 1)** - это самое элегантное и надежное решение:
|
||||
|
||||
1. ✅ Стандартный протокол WireGuard
|
||||
2. ✅ Работает на всех устройствах (Android, iOS, macOS, Windows)
|
||||
3. ✅ Не требует дополнительных туннелей
|
||||
4. ✅ Высокая производительность
|
||||
5. ✅ Простая настройка клиентов
|
||||
|
||||
---
|
||||
|
||||
## 📝 Следующие шаги
|
||||
|
||||
1. Разверните WireGuard на `149.154.64.19`
|
||||
2. Получите конфигурацию клиента
|
||||
3. Импортируйте в WireGuard на Android
|
||||
4. Проверьте подключение
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Связанная документация
|
||||
|
||||
- [WireGuard общее руководство](./WIREGUARD.md)
|
||||
- [Доступ к российскому серверу](./RU_PROXY_SERVER_ACCESS.md)
|
||||
- [Оптимизация хотспота](../hotspot/HOTSPOT_OPTIMIZATION.md)
|
||||
83
docs/connectivity/vpn/deploy-now.sh
Executable file
83
docs/connectivity/vpn/deploy-now.sh
Executable file
@@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
# Быстрое развертывание WireGuard на 149.154.64.19
|
||||
# Использование: ./docs/vpn/deploy-now.sh
|
||||
|
||||
set -e
|
||||
|
||||
SERVER="ahau@149.154.64.19"
|
||||
PASSWORD="w99z2fBSkO4gU"
|
||||
|
||||
echo "🚀 Развертывание WireGuard на ru.hunab.app (149.154.64.19)"
|
||||
echo "📝 Пароль: $PASSWORD"
|
||||
echo ""
|
||||
|
||||
echo "Выполняю команду на сервере..."
|
||||
echo "Пожалуйста, введите пароль когда потребуется: $PASSWORD"
|
||||
echo ""
|
||||
|
||||
ssh $SERVER << 'EOF'
|
||||
set -e
|
||||
|
||||
echo "1. Создание директорий..."
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config
|
||||
sudo chown -R ahau:ahau /opt/app/vpn
|
||||
|
||||
echo "2. Остановка старых контейнеров..."
|
||||
docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
docker rm hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
|
||||
echo "3. Запуск WireGuard..."
|
||||
cd /opt/app/vpn/wireguard
|
||||
docker run -d \
|
||||
--name hunab-vpn-wireguard-ru \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=SYS_MODULE \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/Moscow \
|
||||
-e SERVERURL=149.154.64.19 \
|
||||
-e SERVERPORT=51820 \
|
||||
-e PEERS=1 \
|
||||
-e PEERDNS=8.8.8.8 \
|
||||
-e INTERNAL_SUBNET=10.14.14.0 \
|
||||
-v /opt/app/vpn/wireguard/config:/config \
|
||||
-p 51820:51820/udp \
|
||||
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
|
||||
--restart unless-stopped \
|
||||
linuxserver/wireguard:latest
|
||||
|
||||
echo "4. Ожидание создания конфигурации (45 секунд)..."
|
||||
sleep 45
|
||||
|
||||
echo "5. Настройка Firewall..."
|
||||
sudo ufw allow 51820/udp comment 'WireGuard VPN RU' 2>/dev/null || true
|
||||
sudo ufw reload 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo "✅ Развертывание завершено!"
|
||||
echo ""
|
||||
echo "=== КОНФИГУРАЦИЯ КЛИЕНТА ==="
|
||||
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
|
||||
echo "==========================="
|
||||
EOF
|
||||
|
||||
echo ""
|
||||
echo "📥 Теперь получаю конфигурацию..."
|
||||
scp $SERVER:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/RuVPN.conf
|
||||
|
||||
if [ -f docs/vpn/RuVPN.conf ]; then
|
||||
echo ""
|
||||
echo "✅ Конфигурация сохранена в docs/vpn/RuVPN.conf"
|
||||
echo ""
|
||||
echo "📱 Импортируйте файл RuVPN.conf в WireGuard на телефоне!"
|
||||
echo ""
|
||||
cat docs/vpn/RuVPN.conf
|
||||
else
|
||||
echo ""
|
||||
echo "⚠️ Не удалось скопировать конфигурацию автоматически"
|
||||
echo "Выполните вручную:"
|
||||
echo " scp $SERVER:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/RuVPN.conf"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
64
docs/connectivity/vpn/scripts/check-proxy-status.sh
Executable file
64
docs/connectivity/vpn/scripts/check-proxy-status.sh
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "=== СТАТУС ПРОКСИ ==="
|
||||
echo ""
|
||||
|
||||
# Проверка Shadowsocks
|
||||
echo "1. Shadowsocks сервис:"
|
||||
if launchctl list | grep -q shadowsocks; then
|
||||
echo " ✅ Запущен"
|
||||
else
|
||||
echo " ❌ Не запущен"
|
||||
fi
|
||||
|
||||
# Проверка порта
|
||||
echo ""
|
||||
echo "2. Порт 1080:"
|
||||
if lsof -i :1080 | grep -q LISTEN; then
|
||||
echo " ✅ Слушает"
|
||||
else
|
||||
echo " ❌ Не слушает"
|
||||
fi
|
||||
|
||||
# Проверка системного прокси
|
||||
echo ""
|
||||
echo "3. Системный прокси:"
|
||||
INTERFACE=$(networksetup -listallnetworkservices | grep -E "Wi-Fi|Ethernet" | head -1)
|
||||
PROXY_STATUS=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Enabled:" | awk '{print $2}')
|
||||
if [ "$PROXY_STATUS" = "Yes" ]; then
|
||||
SERVER=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Server:" | awk '{print $2}')
|
||||
PORT=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Port:" | awk '{print $2}')
|
||||
echo " ✅ Включен: $SERVER:$PORT"
|
||||
else
|
||||
echo " ❌ Выключен"
|
||||
fi
|
||||
|
||||
# Проверка через curl
|
||||
echo ""
|
||||
echo "4. Тест подключения:"
|
||||
SS_IP=$(curl -s --socks5 127.0.0.1:1080 --max-time 5 ifconfig.me 2>/dev/null)
|
||||
DIRECT_IP=$(curl -s --max-time 5 ifconfig.me 2>/dev/null)
|
||||
|
||||
if [ -n "$SS_IP" ]; then
|
||||
echo " Через Shadowsocks: $SS_IP"
|
||||
if [ "$SS_IP" = "209.38.32.21" ]; then
|
||||
echo " ✅ Правильный IP"
|
||||
else
|
||||
echo " ⚠️ Неправильный IP"
|
||||
fi
|
||||
else
|
||||
echo " ❌ Shadowsocks не отвечает"
|
||||
fi
|
||||
|
||||
if [ -n "$DIRECT_IP" ]; then
|
||||
echo " Прямое подключение: $DIRECT_IP"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== РЕКОМЕНДАЦИИ ==="
|
||||
if [ "$PROXY_STATUS" != "Yes" ]; then
|
||||
echo "❌ Включите системный прокси: toggle-shadowsocks-proxy.sh"
|
||||
fi
|
||||
if [ -z "$SS_IP" ] || [ "$SS_IP" != "209.38.32.21" ]; then
|
||||
echo "❌ Shadowsocks не работает, проверьте: launchctl list | grep shadowsocks"
|
||||
fi
|
||||
61
docs/connectivity/vpn/scripts/deploy-wg-ru-simple.sh
Normal file
61
docs/connectivity/vpn/scripts/deploy-wg-ru-simple.sh
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
# Простые команды для развертывания WireGuard на ru.hunab.app
|
||||
# Выполните эти команды в SSH сеансе на сервере
|
||||
|
||||
echo "=== Шаг 1: Создание директорий ==="
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config
|
||||
sudo chown -R ahau:ahau /opt/app/vpn
|
||||
echo "✅ Готово"
|
||||
|
||||
echo ""
|
||||
echo "=== Шаг 2: Остановка старых контейнеров ==="
|
||||
docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
docker rm hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
echo "✅ Готово"
|
||||
|
||||
echo ""
|
||||
echo "=== Шаг 3: Запуск WireGuard ==="
|
||||
cd /opt/app/vpn/wireguard
|
||||
|
||||
docker run -d \
|
||||
--name hunab-vpn-wireguard-ru \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=SYS_MODULE \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/Moscow \
|
||||
-e SERVERURL=149.154.64.19 \
|
||||
-e SERVERPORT=51820 \
|
||||
-e PEERS=1 \
|
||||
-e PEERDNS=8.8.8.8 \
|
||||
-e INTERNAL_SUBNET=10.14.14.0 \
|
||||
-v /opt/app/vpn/wireguard/config:/config \
|
||||
-p 51820:51820/udp \
|
||||
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
|
||||
--restart unless-stopped \
|
||||
linuxserver/wireguard:latest
|
||||
|
||||
echo "✅ Контейнер запущен"
|
||||
|
||||
echo ""
|
||||
echo "=== Шаг 4: Ожидание создания конфигурации (45 секунд) ==="
|
||||
sleep 45
|
||||
|
||||
echo ""
|
||||
echo "=== Шаг 5: Настройка Firewall ==="
|
||||
sudo ufw allow 51820/udp comment 'WireGuard VPN RU'
|
||||
sudo ufw reload
|
||||
echo "✅ Готово"
|
||||
|
||||
echo ""
|
||||
echo "=== Шаг 6: Проверка статуса ==="
|
||||
docker ps | grep wireguard
|
||||
|
||||
echo ""
|
||||
echo "=== Шаг 7: Конфигурация клиента ==="
|
||||
echo "---"
|
||||
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
|
||||
echo "---"
|
||||
|
||||
echo ""
|
||||
echo "✅ Готово! Скопируйте конфигурацию выше в файл wg-ru.conf"
|
||||
65
docs/connectivity/vpn/scripts/deploy-wireguard-ru-manual.sh
Normal file
65
docs/connectivity/vpn/scripts/deploy-wireguard-ru-manual.sh
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Инструкция для ручного развертывания WireGuard на ru.hunab.app
|
||||
# Скопируйте и выполните эти команды на российском сервере
|
||||
|
||||
echo "=== Команды для развертывания WireGuard на ru.hunab.app ==="
|
||||
echo ""
|
||||
echo "1. Подключитесь к серверу:"
|
||||
echo " ssh ahau@149.154.64.19"
|
||||
echo " Пароль: w99z2fBSkO4gU"
|
||||
echo ""
|
||||
echo "2. Выполните следующие команды на сервере:"
|
||||
echo ""
|
||||
cat << 'COMMANDS'
|
||||
# Создание директорий
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config
|
||||
sudo chown -R ahau:ahau /opt/app/vpn
|
||||
|
||||
# Остановка и удаление существующего контейнера (если есть)
|
||||
docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
docker rm hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
|
||||
# Запуск WireGuard контейнера
|
||||
cd /opt/app/vpn/wireguard
|
||||
|
||||
docker run -d \
|
||||
--name hunab-vpn-wireguard-ru \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=SYS_MODULE \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/Moscow \
|
||||
-e SERVERURL=149.154.64.19 \
|
||||
-e SERVERPORT=51820 \
|
||||
-e PEERS=1 \
|
||||
-e PEERDNS=8.8.8.8 \
|
||||
-e INTERNAL_SUBNET=10.14.14.0 \
|
||||
-v /opt/app/vpn/wireguard/config:/config \
|
||||
-p 51820:51820/udp \
|
||||
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
|
||||
--restart unless-stopped \
|
||||
linuxserver/wireguard:latest
|
||||
|
||||
# Ожидание создания конфигурации
|
||||
echo "Ожидание 30 секунд..."
|
||||
sleep 30
|
||||
|
||||
# Настройка Firewall
|
||||
sudo ufw allow 51820/udp comment 'WireGuard VPN RU'
|
||||
sudo ufw reload
|
||||
|
||||
# Проверка статуса
|
||||
docker ps | grep wireguard
|
||||
|
||||
# Просмотр конфигурации клиента
|
||||
echo "=== Конфигурация клиента ==="
|
||||
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
|
||||
COMMANDS
|
||||
|
||||
echo ""
|
||||
echo "3. После выполнения команд на сервере, скопируйте конфигурацию:"
|
||||
echo " scp ahau@149.154.64.19:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/wg-ru.conf"
|
||||
echo ""
|
||||
echo " Или просмотрите и скопируйте вручную:"
|
||||
echo " ssh ahau@149.154.64.19 'cat /opt/app/vpn/wireguard/config/peer1/peer1.conf'"
|
||||
89
docs/connectivity/vpn/scripts/deploy-wireguard-ru.sh
Executable file
89
docs/connectivity/vpn/scripts/deploy-wireguard-ru.sh
Executable file
@@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Скрипт развертывания WireGuard на российском сервере ru.hunab.app
|
||||
|
||||
set -e
|
||||
|
||||
echo "=== Развертывание WireGuard на ru.hunab.app ==="
|
||||
echo ""
|
||||
|
||||
# Параметры подключения
|
||||
RU_SERVER="ahau@149.154.64.19"
|
||||
RU_IP="149.154.64.19"
|
||||
|
||||
echo "1. Подключение к серверу $RU_SERVER..."
|
||||
echo " (Введите пароль: w99z2fBSkO4gU)"
|
||||
echo ""
|
||||
|
||||
# Создание директорий
|
||||
ssh $RU_SERVER << 'EOF'
|
||||
set -e
|
||||
|
||||
echo "2. Создание директорий..."
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config
|
||||
sudo chown -R ahau:ahau /opt/app/vpn
|
||||
echo " ✅ Директории созданы"
|
||||
|
||||
echo ""
|
||||
echo "3. Проверка существующих контейнеров..."
|
||||
if docker ps -a | grep -q hunab-vpn-wireguard-ru; then
|
||||
echo " ⚠️ Контейнер уже существует, останавливаем..."
|
||||
docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
docker rm hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "4. Запуск WireGuard контейнера..."
|
||||
cd /opt/app/vpn/wireguard
|
||||
|
||||
docker run -d \
|
||||
--name hunab-vpn-wireguard-ru \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=SYS_MODULE \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/Moscow \
|
||||
-e SERVERURL=149.154.64.19 \
|
||||
-e SERVERPORT=51820 \
|
||||
-e PEERS=1 \
|
||||
-e PEERDNS=8.8.8.8 \
|
||||
-e INTERNAL_SUBNET=10.14.14.0 \
|
||||
-v /opt/app/vpn/wireguard/config:/config \
|
||||
-p 51820:51820/udp \
|
||||
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
|
||||
--restart unless-stopped \
|
||||
linuxserver/wireguard:latest
|
||||
|
||||
echo " ✅ Контейнер запущен"
|
||||
|
||||
echo ""
|
||||
echo "5. Ожидание создания конфигурации (30 секунд)..."
|
||||
sleep 30
|
||||
|
||||
echo ""
|
||||
echo "6. Настройка Firewall..."
|
||||
sudo ufw allow 51820/udp comment 'WireGuard VPN RU' 2>/dev/null || true
|
||||
sudo ufw reload 2>/dev/null || true
|
||||
echo " ✅ Firewall настроен"
|
||||
|
||||
echo ""
|
||||
echo "7. Проверка статуса..."
|
||||
docker ps | grep wireguard || echo " ⚠️ Контейнер не найден в списке"
|
||||
|
||||
echo ""
|
||||
echo "8. Конфигурация клиента:"
|
||||
echo "---"
|
||||
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf 2>/dev/null || echo " ⚠️ Конфигурация еще не создана, подождите еще 30 секунд"
|
||||
echo "---"
|
||||
|
||||
EOF
|
||||
|
||||
echo ""
|
||||
echo "✅ Развертывание завершено!"
|
||||
echo ""
|
||||
echo "Следующие шаги:"
|
||||
echo "1. Скопируйте конфигурацию:"
|
||||
echo " scp $RU_SERVER:/opt/app/vpn/wireguard/config/peer1/peer1.conf docs/vpn/wg-ru.conf"
|
||||
echo ""
|
||||
echo "2. Или просмотрите конфигурацию:"
|
||||
echo " ssh $RU_SERVER 'cat /opt/app/vpn/wireguard/config/peer1/peer1.conf'"
|
||||
71
docs/connectivity/vpn/scripts/enable-shadowsocks-full.sh
Executable file
71
docs/connectivity/vpn/scripts/enable-shadowsocks-full.sh
Executable file
@@ -0,0 +1,71 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "=== ВКЛЮЧЕНИЕ SHADOWSOCKS ДЛЯ ВСЕГО ТРАФИКА ==="
|
||||
echo ""
|
||||
|
||||
# 1. Убедиться, что Shadowsocks запущен
|
||||
echo "1. Проверка Shadowsocks..."
|
||||
if ! launchctl list | grep -q shadowsocks; then
|
||||
echo " Запуск Shadowsocks..."
|
||||
launchctl load ~/Library/LaunchAgents/com.shadowsocks.local.plist
|
||||
sleep 3
|
||||
fi
|
||||
|
||||
if launchctl list | grep -q shadowsocks; then
|
||||
echo " ✅ Shadowsocks запущен"
|
||||
else
|
||||
echo " ❌ Ошибка: Shadowsocks не запускается"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 2. Проверка работы
|
||||
echo ""
|
||||
echo "2. Проверка подключения..."
|
||||
SS_IP=$(curl -s --socks5 127.0.0.1:1080 --max-time 5 ifconfig.me 2>/dev/null)
|
||||
if [ "$SS_IP" = "209.38.32.21" ]; then
|
||||
echo " ✅ Shadowsocks работает: IP = $SS_IP"
|
||||
else
|
||||
echo " ❌ Shadowsocks не работает правильно"
|
||||
echo " Проверьте логи: tail -f /tmp/shadowsocks.error.log"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 3. Настройка системного прокси
|
||||
echo ""
|
||||
echo "3. Настройка системного прокси..."
|
||||
INTERFACE=$(networksetup -listallnetworkservices | grep -E "Wi-Fi|Ethernet" | head -1)
|
||||
echo " Интерфейс: $INTERFACE"
|
||||
|
||||
# Установить прокси
|
||||
networksetup -setsocksfirewallproxy "$INTERFACE" 127.0.0.1 1080
|
||||
sleep 1
|
||||
|
||||
# Включить прокси
|
||||
networksetup -setsocksfirewallproxystate "$INTERFACE" on
|
||||
sleep 1
|
||||
|
||||
# Проверка
|
||||
PROXY_STATUS=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Enabled:" | awk '{print $2}')
|
||||
if [ "$PROXY_STATUS" = "Yes" ]; then
|
||||
SERVER=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Server:" | awk '{print $2}')
|
||||
PORT=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Port:" | awk '{print $2}')
|
||||
echo " ✅ Системный прокси включен: $SERVER:$PORT"
|
||||
else
|
||||
echo " ❌ Ошибка: Системный прокси не включен"
|
||||
echo " Попробуйте вручную: System Settings → Network → Proxies"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✅ SHADOWSOCKS ВКЛЮЧЕН ДЛЯ ВСЕГО ТРАФИКА!"
|
||||
echo ""
|
||||
echo "📋 ВАЖНО:"
|
||||
echo "1. ОТКЛЮЧИТЕ Chrome VPN расширение (если активно)"
|
||||
echo "2. ПОЛНОСТЬЮ закройте Chrome (Cmd+Q, не просто закрыть окно)"
|
||||
echo "3. Откройте Chrome заново"
|
||||
echo "4. Проверьте IP: https://whatismyipaddress.com/"
|
||||
echo " Должен показать: 209.38.32.21"
|
||||
echo ""
|
||||
echo "💡 Если не работает, проверьте:"
|
||||
echo " - Chrome Settings → System → Use system proxy settings"
|
||||
echo " - Отключите все VPN расширения в Chrome"
|
||||
54
docs/connectivity/vpn/scripts/fix-shadowsocks.sh
Executable file
54
docs/connectivity/vpn/scripts/fix-shadowsocks.sh
Executable file
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "=== ИСПРАВЛЕНИЕ SHADOWSOCKS ==="
|
||||
echo ""
|
||||
|
||||
# 1. Проверка и перезапуск Shadowsocks
|
||||
echo "1. Перезапуск Shadowsocks..."
|
||||
launchctl unload ~/Library/LaunchAgents/com.shadowsocks.local.plist 2>/dev/null
|
||||
sleep 1
|
||||
launchctl load ~/Library/LaunchAgents/com.shadowsocks.local.plist
|
||||
sleep 2
|
||||
|
||||
if launchctl list | grep -q shadowsocks; then
|
||||
echo " ✅ Shadowsocks запущен"
|
||||
else
|
||||
echo " ❌ Ошибка запуска Shadowsocks"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 2. Настройка системного прокси
|
||||
echo ""
|
||||
echo "2. Настройка системного прокси..."
|
||||
INTERFACE=$(networksetup -listallnetworkservices | grep -E "Wi-Fi|Ethernet" | head -1)
|
||||
networksetup -setsocksfirewallproxy "$INTERFACE" 127.0.0.1 1080
|
||||
networksetup -setsocksfirewallproxystate "$INTERFACE" on
|
||||
|
||||
PROXY_STATUS=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Enabled:" | awk '{print $2}')
|
||||
if [ "$PROXY_STATUS" = "Yes" ]; then
|
||||
echo " ✅ Системный прокси включен"
|
||||
else
|
||||
echo " ❌ Ошибка настройки прокси"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 3. Проверка
|
||||
echo ""
|
||||
echo "3. Проверка подключения..."
|
||||
sleep 2
|
||||
SS_IP=$(curl -s --socks5 127.0.0.1:1080 --max-time 5 ifconfig.me 2>/dev/null)
|
||||
|
||||
if [ -n "$SS_IP" ] && [ "$SS_IP" = "209.38.32.21" ]; then
|
||||
echo " ✅ Shadowsocks работает: IP = $SS_IP"
|
||||
echo ""
|
||||
echo "✅ ВСЕ ИСПРАВЛЕНО!"
|
||||
echo ""
|
||||
echo "📋 Следующие шаги:"
|
||||
echo "1. Полностью закройте Chrome (Cmd+Q)"
|
||||
echo "2. Откройте Chrome заново"
|
||||
echo "3. Проверьте IP: https://whatismyipaddress.com/"
|
||||
echo " Должен показать: 209.38.32.21"
|
||||
else
|
||||
echo " ⚠️ Shadowsocks не отвечает правильно"
|
||||
echo " Проверьте логи: tail -f /tmp/shadowsocks.error.log"
|
||||
fi
|
||||
21
docs/connectivity/vpn/scripts/get-wg-ru-config.sh
Executable file
21
docs/connectivity/vpn/scripts/get-wg-ru-config.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
# Скрипт для получения конфигурации WireGuard с ru.hunab.app
|
||||
# Использование: ./get-wg-ru-config.sh
|
||||
|
||||
SERVER="ahau@149.154.64.19"
|
||||
CONFIG_PATH="/opt/app/vpn/wireguard/config/peer1/peer1.conf"
|
||||
OUTPUT_FILE="docs/vpn/wg-ru.conf"
|
||||
|
||||
echo "Получение конфигурации WireGuard с $SERVER..."
|
||||
scp "$SERVER:$CONFIG_PATH" "$OUTPUT_FILE" 2>/dev/null
|
||||
|
||||
if [ -f "$OUTPUT_FILE" ] && [ -s "$OUTPUT_FILE" ]; then
|
||||
echo "✅ Конфигурация получена: $OUTPUT_FILE"
|
||||
echo ""
|
||||
echo "=== Содержимое конфигурации ==="
|
||||
cat "$OUTPUT_FILE"
|
||||
else
|
||||
echo "⚠️ Конфигурация не найдена на сервере"
|
||||
echo "Сначала выполните развертывание на сервере:"
|
||||
echo " cat docs/vpn/ONE_LINE_DEPLOY.txt | ssh $SERVER"
|
||||
fi
|
||||
23
docs/connectivity/vpn/scripts/toggle-shadowsocks-proxy.sh
Executable file
23
docs/connectivity/vpn/scripts/toggle-shadowsocks-proxy.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Скрипт для переключения системного прокси Shadowsocks
|
||||
|
||||
INTERFACE=$(networksetup -listallnetworkservices | grep -E "Wi-Fi|Ethernet" | head -1)
|
||||
CURRENT_STATE=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Enabled:" | awk '{print $2}')
|
||||
|
||||
if [ "$CURRENT_STATE" = "Yes" ]; then
|
||||
# Выключить прокси
|
||||
networksetup -setsocksfirewallproxystate "$INTERFACE" off
|
||||
echo "❌ Shadowsocks прокси ВЫКЛЮЧЕН"
|
||||
echo " Теперь можно использовать Chrome VPN"
|
||||
else
|
||||
# Включить прокси
|
||||
networksetup -setsocksfirewallproxy "$INTERFACE" 127.0.0.1 1080
|
||||
networksetup -setsocksfirewallproxystate "$INTERFACE" on
|
||||
echo "✅ Shadowsocks прокси ВКЛЮЧЕН"
|
||||
echo " IP: 209.38.32.21"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Текущий статус:"
|
||||
networksetup -getsocksfirewallproxy "$INTERFACE"
|
||||
16
docs/connectivity/vpn/scripts/wg-ru-deploy.sh
Normal file
16
docs/connectivity/vpn/scripts/wg-ru-deploy.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
# Скопируйте и выполните эту команду в SSH сеансе на ru.hunab.app
|
||||
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config && sudo chown -R ahau:ahau /opt/app/vpn && \
|
||||
docker stop hunab-vpn-wireguard-ru 2>/dev/null; docker rm hunab-vpn-wireguard-ru 2>/dev/null; \
|
||||
cd /opt/app/vpn/wireguard && \
|
||||
docker run -d --name hunab-vpn-wireguard-ru --cap-add=NET_ADMIN --cap-add=SYS_MODULE \
|
||||
-e PUID=1000 -e PGID=1000 -e TZ=Europe/Moscow \
|
||||
-e SERVERURL=149.154.64.19 -e SERVERPORT=51820 -e PEERS=1 -e PEERDNS=8.8.8.8 \
|
||||
-e INTERNAL_SUBNET=10.14.14.0 -v /opt/app/vpn/wireguard/config:/config \
|
||||
-p 51820:51820/udp --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
|
||||
--restart unless-stopped linuxserver/wireguard:latest && \
|
||||
echo "Ожидание 45 секунд..." && sleep 45 && \
|
||||
sudo ufw allow 51820/udp comment 'WireGuard VPN RU' && sudo ufw reload && \
|
||||
echo "=== КОНФИГУРАЦИЯ ===" && \
|
||||
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
|
||||
119
docs/connectivity/vpn/setup-and-deploy.sh
Executable file
119
docs/connectivity/vpn/setup-and-deploy.sh
Executable file
@@ -0,0 +1,119 @@
|
||||
#!/bin/bash
|
||||
# Настройка SSH ключа и развертывание WireGuard на 149.154.64.19
|
||||
|
||||
set -e
|
||||
|
||||
SERVER="ahau@149.154.64.19"
|
||||
KEY_FILE="$HOME/.ssh/ru_server_key"
|
||||
PUB_KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDJ48JZfUVwmVILkNsOqrmywqxCOK3zkxU3+2Z8G01RR ru.hunab.app"
|
||||
|
||||
echo "🔐 Настройка SSH и развертывание WireGuard"
|
||||
echo "═══════════════════════════════════════════"
|
||||
echo ""
|
||||
|
||||
# Шаг 1: Проверка подключения с ключом
|
||||
echo "1️⃣ Проверяю существующее подключение..."
|
||||
if ssh -i "$KEY_FILE" -o PreferredAuthentications=publickey -o ConnectTimeout=5 -o StrictHostKeyChecking=no "$SERVER" "exit" 2>/dev/null; then
|
||||
echo "✅ SSH ключ уже настроен!"
|
||||
else
|
||||
echo "⚠️ SSH ключ не настроен, добавляю..."
|
||||
echo ""
|
||||
echo "📝 Введите пароль: w99z2fBSkO4gU"
|
||||
echo ""
|
||||
|
||||
# Добавляем ключ на сервер
|
||||
ssh-copy-id -i "$KEY_FILE.pub" "$SERVER" || {
|
||||
echo ""
|
||||
echo "⚠️ Автоматическое добавление не сработало. Добавляю вручную..."
|
||||
cat "$KEY_FILE.pub" | ssh "$SERVER" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
|
||||
}
|
||||
|
||||
echo ""
|
||||
echo "✅ SSH ключ добавлен!"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "2️⃣ Проверяю подключение с ключом..."
|
||||
if ssh -i "$KEY_FILE" -o PreferredAuthentications=publickey -o ConnectTimeout=5 "$SERVER" "echo '✅ Подключение работает!'" 2>/dev/null; then
|
||||
echo "✅ SSH ключ работает!"
|
||||
else
|
||||
echo "❌ Не удалось подключиться с ключом"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "3️⃣ Развертывание WireGuard на сервере..."
|
||||
echo ""
|
||||
|
||||
ssh -i "$KEY_FILE" "$SERVER" << 'ENDSSH'
|
||||
set -e
|
||||
|
||||
echo " 📁 Создание директорий..."
|
||||
sudo mkdir -p /opt/app/vpn/wireguard/config
|
||||
sudo chown -R ahau:ahau /opt/app/vpn
|
||||
|
||||
echo " 🛑 Остановка старых контейнеров..."
|
||||
docker stop hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
docker rm hunab-vpn-wireguard-ru 2>/dev/null || true
|
||||
|
||||
echo " 🚀 Запуск WireGuard контейнера..."
|
||||
cd /opt/app/vpn/wireguard
|
||||
docker run -d \
|
||||
--name hunab-vpn-wireguard-ru \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=SYS_MODULE \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/Moscow \
|
||||
-e SERVERURL=149.154.64.19 \
|
||||
-e SERVERPORT=51820 \
|
||||
-e PEERS=1 \
|
||||
-e PEERDNS=8.8.8.8 \
|
||||
-e INTERNAL_SUBNET=10.14.14.0 \
|
||||
-v /opt/app/vpn/wireguard/config:/config \
|
||||
-p 51820:51820/udp \
|
||||
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
|
||||
--restart unless-stopped \
|
||||
linuxserver/wireguard:latest > /dev/null
|
||||
|
||||
echo " ⏳ Ожидание создания конфигурации (45 секунд)..."
|
||||
sleep 45
|
||||
|
||||
echo " 🔥 Настройка Firewall..."
|
||||
sudo ufw allow 51820/udp comment 'WireGuard VPN RU' 2>/dev/null || true
|
||||
sudo ufw reload 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo " ✅ WireGuard развернут и запущен!"
|
||||
echo ""
|
||||
docker ps | grep wireguard
|
||||
|
||||
echo ""
|
||||
echo " 📄 Конфигурация клиента:"
|
||||
echo " ═══════════════════════════════"
|
||||
cat /opt/app/vpn/wireguard/config/peer1/peer1.conf
|
||||
echo " ═══════════════════════════════"
|
||||
ENDSSH
|
||||
|
||||
echo ""
|
||||
echo "4️⃣ Получение конфигурации..."
|
||||
scp -i "$KEY_FILE" "$SERVER:/opt/app/vpn/wireguard/config/peer1/peer1.conf" docs/vpn/RuVPN.conf
|
||||
|
||||
if [ -f docs/vpn/RuVPN.conf ]; then
|
||||
echo ""
|
||||
echo "✅ Конфигурация сохранена в docs/vpn/RuVPN.conf"
|
||||
echo ""
|
||||
echo "═══════════════════════════════════════════"
|
||||
echo "📱 ГОТОВО! Импортируйте файл на телефон:"
|
||||
echo "═══════════════════════════════════════════"
|
||||
echo ""
|
||||
cat docs/vpn/RuVPN.conf
|
||||
echo ""
|
||||
echo "🎉 Всё готово! Подключайтесь через WireGuard!"
|
||||
else
|
||||
echo ""
|
||||
echo "⚠️ Не удалось скопировать конфигурацию"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user