# Только RU: WireGuard и HAProxy

Сначала заполните адреса, DNS и разрешения из [общего README](../README.md). Эта инструкция — для выделенного RU-шлюза; если HAProxy уже обслуживает другие приложения, добавьте новые маршруты в его конфигурацию вместо замены файла целиком.

## WireGuard

```sh
sudo apt-get update
sudo apt-get install -y wireguard haproxy
sudo -i
install -d -m 700 /etc/wireguard
cd /etc/wireguard
umask 077
wg genkey > wg-ai.key
wg pubkey < wg-ai.key > wg-ai.pub
cat wg-ai.pub
```

Передайте только публичный `wg-ai.pub` на EU. Сохраните [RU-шаблон](wg-ai.conf.example) как `/etc/wireguard/wg-ai.conf`: `PrivateKey` — из локального `wg-ai.key`, `PublicKey` соседа — из EU `wg-ai.pub`. В `Endpoint` замените `203.0.113.20` на публичный IPv4 EU.

```sh
chmod 600 /etc/wireguard/wg-ai.conf
systemctl enable --now wg-quick@wg-ai
exit
```

EU должен выполнить свой этап WireGuard. После обновления ai-hub на EU настройте HAProxy ниже.

## HAProxy

Сохраните [haproxy.cfg](haproxy.cfg) как `/etc/haproxy/haproxy.cfg`. В двух ACL замените `router-ru.example.com` и `chat-ru.example.com` на те же имена, что указаны в EU `.env`. Upstream `10.77.0.2` — приватный WG-адрес EU.

```sh
sudo haproxy -c -f /etc/haproxy/haproxy.cfg
sudo systemctl enable haproxy
sudo systemctl restart haproxy
```

Публичные входы: `https://router-ru.example.com` для 9router и `https://chat-ru.example.com` для Open WebUI. Для Claude Code `ANTHROPIC_BASE_URL=https://router-ru.example.com/v1`; ключ и идентификатор модели берутся из уже настроенного 9router.
