Initial commit: local_machine docs and scripts

This commit is contained in:
ahauimix
2026-03-14 20:03:57 +03:00
commit a39ef89125
85 changed files with 14500 additions and 0 deletions

View 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