# 🍎 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

