Этот проект объединяет WireGuard и XRay в одном Docker-контейнере для создания локального Wireguard сервера, который перенаправляет трафик на VLESS Reality сервер. Это может быть полезно для маршрутизаторов, которые не поддерживают установку xray, но имеют возможность подключиться к Wireguard серверу.
- Установленный Docker и Docker Compose.
- Доступ к серверу с публичным IP-адресом.
Следуйте этим шагам, чтобы развернуть контейнер:
- Клонируйте репозиторий:
git clone https://github.com/hoolea/wg-xray.git cd wg-xray - Отредактируйте файл с переменными .env:
WG_PRIVATE_KEY=<your server private key>
WG_PEER_PUBLIC_KEY=<your peer public key>
WG_PORT=27855
WG_IP=10.66.66.1
WG_PEER_IP=10.66.66.2
VLESS_ADDRESS=<ip vless server>
VLESS_UUID=<your id>
XRAY_PUBLIC_KEY=<your public key>
XRAY_SHORT_ID=<your short id>
XRAY_SERVERNAME=yandex.ru
- Настройка Xray health monitor
В файле entrypoint.sh отредактируйте строку на любой удобный для вас адрес. В случае недоступности скрипт выключает icmp на интерфейсе wg0, а уже на маршрутизаторе отследив это - сделать автоматизацию выключения маршрутов, bgp и тд.
TEST_URL="https://rutracker.org" # <---- Адрес сайта для проверки тунеля- Соберите Docker-образ
docker-compose build- Запустите контейнер:
docker-compose up -d- Проверьте логи:
docker logs wireguard-xray- Выполните команды на хосте:
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.conf.all.route_localnet=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -pnet.ipv4.ip_forward=1 - включает IP-переадресацию (routing) на уровне ядра Linux.
net.ipv4.conf.all.route_localnet=1 - разрешает маршрутизацию пакетов, адресованных локальным адресам (127.0.0.0/8), через интерфейсы.
sysctl -p - Применяет (загружает) параметры из /etc/sysctl.conf без перезагрузки системы.