# 🚀 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 < ~/Library/LaunchAgents/com.shadowsocks.local.plist < Label com.shadowsocks.local ProgramArguments /opt/homebrew/bin/ss-local -c ${HOME}/.shadowsocks/config.json RunAtLoad KeepAlive StandardOutPath /tmp/shadowsocks.log StandardErrorPath /tmp/shadowsocks.error.log 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