mirror of
https://github.com/anten-ka/go_warp_pro.git
synced 2026-05-19 21:56:02 +00:00
README v2.0: full docs for both 3X-UI and AmneziaWG modes
Made-with: Cursor
This commit is contained in:
303
README.md
303
README.md
@@ -13,15 +13,15 @@ WARP даёт «чистый» IP от Cloudflare, который не забл
|
||||
|
||||
### Режим 3X-UI
|
||||
```
|
||||
Клиент → 3X-UI (Xray) → SOCKS5 (WARP) → Cloudflare → Интернет
|
||||
Клиент → 3X-UI (Xray) → SOCKS5 (WARP 127.0.0.1:40000) → Cloudflare → Интернет
|
||||
```
|
||||
Нативный `warp-cli`, SOCKS5-прокси, маршрутизация по доменам в Xray.
|
||||
Нативный `warp-cli`, SOCKS5-прокси на `127.0.0.1:40000`. Маршрутизация по доменам настраивается в 3X-UI (Xray routing). Основной IP сервера **не меняется** — через WARP идёт только тот трафик, который вы укажете.
|
||||
|
||||
### Режим AmneziaWG
|
||||
```
|
||||
Клиент → AmneziaWG Docker → warp WG interface → Cloudflare → Интернет
|
||||
```
|
||||
WireGuard-интерфейс WARP внутри Docker-контейнера, маршрутизация по клиентам.
|
||||
WireGuard-интерфейс WARP внутри Docker-контейнера AmneziaWG. Маршрутизация **per-client** — вы выбираете, каких именно клиентов пускать через WARP. Трафик выбранных клиентов идёт через Cloudflare, остальные клиенты работают напрямую.
|
||||
|
||||
Скрипт автоматически определяет, что установлено на сервере (3X-UI или AmneziaWG Docker), и предлагает соответствующий режим.
|
||||
|
||||
@@ -29,15 +29,20 @@ WireGuard-интерфейс WARP внутри Docker-контейнера, ма
|
||||
|
||||
## Возможности
|
||||
|
||||
- Автоопределение режима (3X-UI / AmneziaWG)
|
||||
- Установка Cloudflare WARP в один клик (оба режима)
|
||||
- Интерактивное SSH-меню с полным управлением
|
||||
- Telegram-бот для удалённого мониторинга и управления
|
||||
- **3X-UI:** SOCKS5-прокси, JSON-конфигурации, маршрутизация по доменам
|
||||
- **AmneziaWG:** управление клиентами (добавить/убрать из WARP), WireGuard внутри Docker
|
||||
- Перевыпуск ключа (смена WARP IP)
|
||||
- Автоперезапуск через systemd
|
||||
- Полное удаление в одну команду
|
||||
| Функция | 3X-UI | AmneziaWG |
|
||||
|---------|:-----:|:---------:|
|
||||
| Установка WARP в один клик | ✅ | ✅ |
|
||||
| Telegram-бот | ✅ | ✅ |
|
||||
| Перевыпуск ключа (смена WARP IP) | ✅ | ✅ |
|
||||
| Автоперезапуск через systemd | ✅ | ✅ |
|
||||
| Полное удаление | ✅ | ✅ |
|
||||
| SOCKS5-прокси | ✅ | — |
|
||||
| JSON-конфиги для Xray | ✅ | — |
|
||||
| Маршрутизация по доменам | ✅ | — |
|
||||
| Изменение порта SOCKS5 | ✅ | — |
|
||||
| Управление клиентами (add/remove) | — | ✅ |
|
||||
| WireGuard внутри Docker | — | ✅ |
|
||||
| Перезапуск контейнера | — | ✅ |
|
||||
|
||||
---
|
||||
|
||||
@@ -57,13 +62,24 @@ gowarp
|
||||
|
||||
**Важно:** чтобы команда `gowarp` сохранялась и работала после выхода, используйте установку **в два шага** (сначала скачать скрипт в файл, затем запустить), а не через `bash <(curl ...)`. В группе по подписке даётся готовая команда.
|
||||
|
||||
### Требования
|
||||
|
||||
**Для режима 3X-UI:**
|
||||
- VPS с Ubuntu/Debian
|
||||
- Установленный 3X-UI (панель должна быть активна)
|
||||
|
||||
**Для режима AmneziaWG:**
|
||||
- VPS с Ubuntu/Debian
|
||||
- Docker
|
||||
- Запущенный контейнер AmneziaWG (развёрнутый через приложение Amnezia VPN)
|
||||
|
||||
---
|
||||
|
||||
## Схема работы
|
||||
## Интеграция с 3X-UI — пошаговая инструкция
|
||||
|
||||
```
|
||||
Клиент → 3X-UI (Xray) → SOCKS5 (WARP 127.0.0.1:40000) → Cloudflare → Интернет
|
||||
```
|
||||
> Этот раздел только для **режима 3X-UI**. Для AmneziaWG перейдите к разделу [Интеграция с AmneziaWG](#интеграция-с-amneziawg--пошаговая-инструкция).
|
||||
|
||||
### Как это работает
|
||||
|
||||
1. Скрипт устанавливает `cloudflare-warp` на сервер
|
||||
2. WARP работает в режиме **SOCKS5-прокси** на `127.0.0.1:40000`
|
||||
@@ -72,13 +88,13 @@ gowarp
|
||||
|
||||
Основной IP сервера **не меняется**. Через WARP идёт только тот трафик, который вы настроите в маршрутизации 3X-UI.
|
||||
|
||||
---
|
||||
### Шаг 1. Установка WARP
|
||||
|
||||
## Интеграция с 3X-UI — пошаговая инструкция
|
||||
1. Запустите `gowarp`
|
||||
2. Выберите пункт **1** — Установить WARP
|
||||
3. Дождитесь установки и проверки статуса — должен быть «Подключён»
|
||||
|
||||
После установки WARP и подтверждения статуса «Подключён» выполните следующие шаги в панели 3X-UI.
|
||||
|
||||
### Шаг 1. Добавление Outbound (исходящее подключение)
|
||||
### Шаг 2. Добавление Outbound (исходящее подключение)
|
||||
|
||||
1. Откройте панель **3X-UI** в браузере
|
||||
2. Перейдите в **Настройки Xray** (Xray Settings)
|
||||
@@ -105,7 +121,7 @@ gowarp
|
||||
|
||||
6. Нажмите **Сохранить** (Save)
|
||||
|
||||
### Шаг 2. Настройка маршрутизации (Routing)
|
||||
### Шаг 3. Настройка маршрутизации (Routing)
|
||||
|
||||
Теперь нужно указать, какой трафик направлять через WARP.
|
||||
|
||||
@@ -144,12 +160,6 @@ gowarp
|
||||
|
||||
Если хотите направить **весь** клиентский трафик через WARP:
|
||||
|
||||
1. В разделе **Routing** добавьте правило:
|
||||
- **Outbound Tag**: `warp`
|
||||
- **Network**: `tcp,udp`
|
||||
|
||||
Или JSON:
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "field",
|
||||
@@ -160,7 +170,7 @@ gowarp
|
||||
|
||||
> **Внимание:** при этом варианте весь трафик пойдёт через Cloudflare. Скорость может незначительно снизиться.
|
||||
|
||||
#### Вариант В: По IP-адресам
|
||||
#### Вариант В: По IP-адресам (геолокация)
|
||||
|
||||
Можно направить через WARP трафик к определённым IP-диапазонам:
|
||||
|
||||
@@ -177,7 +187,7 @@ gowarp
|
||||
|
||||
> Трафик в США и Великобританию пойдёт через WARP.
|
||||
|
||||
### Шаг 3. Перезапуск Xray
|
||||
### Шаг 4. Перезапуск Xray
|
||||
|
||||
После сохранения настроек:
|
||||
|
||||
@@ -188,9 +198,7 @@ gowarp
|
||||
x-ui restart
|
||||
```
|
||||
|
||||
### Шаг 4. Проверка
|
||||
|
||||
Убедитесь, что всё работает:
|
||||
### Шаг 5. Проверка
|
||||
|
||||
1. Подключитесь к VPN через клиент (v2rayN, Hiddify, NekoBox и т.д.)
|
||||
2. Откройте [https://whoer.net](https://whoer.net) или [https://ifconfig.me](https://ifconfig.me)
|
||||
@@ -199,20 +207,121 @@ x-ui restart
|
||||
- Сайты из списка (ChatGPT, Netflix и др.) покажут **IP Cloudflare**
|
||||
4. Попробуйте открыть [https://chat.openai.com](https://chat.openai.com) — если раньше был заблокирован, теперь должен работать
|
||||
|
||||
### Проверка через SSH
|
||||
|
||||
На сервере можно проверить WARP IP командой:
|
||||
Проверка через SSH:
|
||||
|
||||
```bash
|
||||
curl -s --proxy socks5h://127.0.0.1:40000 ifconfig.me
|
||||
```
|
||||
|
||||
Эта команда покажет IP, который видят сайты при маршрутизации через WARP.
|
||||
---
|
||||
|
||||
## Интеграция с AmneziaWG — пошаговая инструкция
|
||||
|
||||
> Этот раздел только для **режима AmneziaWG**. Для 3X-UI перейдите к разделу [Интеграция с 3X-UI](#интеграция-с-3x-ui--пошаговая-инструкция).
|
||||
|
||||
### Как это работает
|
||||
|
||||
1. `wgcf` регистрирует бесплатный аккаунт Cloudflare WARP и генерирует WireGuard-профиль
|
||||
2. Внутри Docker-контейнера AmneziaWG поднимается отдельный WG-интерфейс `warp`
|
||||
3. Для выбранных клиентов создаются `ip rule` + `iptables` правила, направляющие их трафик через WARP
|
||||
4. Правила автоматически прописываются в `start.sh` контейнера для персистентности при перезагрузках
|
||||
|
||||
В отличие от 3X-UI, где маршрутизация по **доменам**, в AmneziaWG маршрутизация **по клиентам**: вы выбираете, какие клиенты (по IP-адресу внутри VPN) будут ходить через WARP.
|
||||
|
||||
### Шаг 1. Подготовка
|
||||
|
||||
Убедитесь, что:
|
||||
- На сервере установлен Docker
|
||||
- AmneziaWG контейнер запущен и работает (проверить: `docker ps | grep amnezia`)
|
||||
- Клиенты подключены и работают через AmneziaWG
|
||||
|
||||
### Шаг 2. Установка WARP
|
||||
|
||||
1. Запустите `gowarp`
|
||||
2. Скрипт автоматически определит контейнер AmneziaWG и предложит режим
|
||||
3. Выберите пункт **1** — Установить WARP
|
||||
|
||||
Скрипт автоматически:
|
||||
- Скачает `wgcf` (утилита для регистрации в Cloudflare WARP)
|
||||
- Зарегистрирует аккаунт WARP
|
||||
- Сгенерирует WireGuard-профиль
|
||||
- Создаст конфигурацию `warp.conf` внутри Docker-контейнера
|
||||
- Поднимет WG-интерфейс `warp` внутри контейнера
|
||||
- Покажет WARP IP
|
||||
|
||||
### Шаг 3. Добавление клиентов в WARP
|
||||
|
||||
После установки WARP нужно указать, **каких клиентов** пускать через Cloudflare.
|
||||
|
||||
**Через SSH-меню:**
|
||||
|
||||
1. Выберите пункт **5** — ➕ Добавить клиентов в WARP
|
||||
2. Вы увидите список всех клиентов AmneziaWG с их IP и именами
|
||||
3. Введите номер клиента, которого хотите добавить, или `all` для всех
|
||||
4. Скрипт:
|
||||
- Добавит `ip rule` для маршрутизации трафика клиента через WARP
|
||||
- Настроит `iptables` NAT для корректного выхода через WG-интерфейс
|
||||
- Пропишет правила в `start.sh` контейнера (персистентность)
|
||||
|
||||
**Через Telegram-бот:**
|
||||
|
||||
1. Нажмите **Клиенты** → **➕ Добавить**
|
||||
2. Выберите клиента из списка (✅ = уже в WARP, ➕ = можно добавить)
|
||||
3. Или нажмите **✅ Все в WARP** для добавления всех
|
||||
|
||||
### Шаг 4. Проверка
|
||||
|
||||
1. Подключитесь к VPN через приложение Amnezia
|
||||
2. Откройте [https://whoer.net](https://whoer.net) или [https://ifconfig.me](https://ifconfig.me)
|
||||
3. Если ваш клиент добавлен в WARP — вы увидите **IP Cloudflare**
|
||||
4. Если клиент не в WARP — вы увидите **обычный IP сервера**
|
||||
|
||||
Проверка через SSH (внутри контейнера):
|
||||
|
||||
```bash
|
||||
docker exec <имя_контейнера> curl -s --interface warp ifconfig.me
|
||||
```
|
||||
|
||||
### Управление клиентами
|
||||
|
||||
| Действие | SSH-меню | Telegram-бот |
|
||||
|----------|----------|--------------|
|
||||
| Добавить в WARP | пункт **5** | Клиенты → ➕ Добавить |
|
||||
| Убрать из WARP | пункт **6** | Клиенты → ➖ Убрать |
|
||||
| Список клиентов в WARP | пункт **7** | Клиенты |
|
||||
| Перевыпуск ключа | пункт **12** | 🔑 Перевыпуск ключа |
|
||||
| Перезапуск контейнера | пункт **13** | 🔄 Контейнер |
|
||||
|
||||
### Что происходит при добавлении клиента
|
||||
|
||||
Когда вы добавляете клиента (например, `10.8.1.2`) в WARP, скрипт:
|
||||
|
||||
1. Создаёт **ip rule**: `ip rule add from 10.8.1.2 table 51820`
|
||||
2. Добавляет **iptables NAT**: `iptables -t nat -A POSTROUTING -s 10.8.1.2 -o warp -j MASQUERADE`
|
||||
3. Записывает клиента в `/opt/warp/clients.list`
|
||||
4. Патчит `start.sh` контейнера — добавляет блок между маркерами `WARP-MANAGER BEGIN / END`, чтобы правила восстанавливались после перезапуска контейнера
|
||||
|
||||
При удалении — всё убирается в обратном порядке.
|
||||
|
||||
### Перевыпуск ключа (AmneziaWG)
|
||||
|
||||
Перевыпуск ключа полностью пересоздаёт WARP-профиль:
|
||||
|
||||
1. Останавливает текущий WG-интерфейс `warp`
|
||||
2. Удаляет старый аккаунт `wgcf`
|
||||
3. Регистрирует новый аккаунт
|
||||
4. Генерирует новый профиль
|
||||
5. Пересобирает `warp.conf` и поднимает интерфейс
|
||||
6. Восстанавливает правила маршрутизации клиентов
|
||||
|
||||
Это полезно, если WARP IP попал в блокировку и нужен новый.
|
||||
|
||||
---
|
||||
|
||||
## Меню WARP Manager
|
||||
|
||||
### Режим 3X-UI
|
||||
|
||||
| Пункт | Действие |
|
||||
|-------|----------|
|
||||
| 1 | Установить WARP |
|
||||
@@ -222,17 +331,36 @@ curl -s --proxy socks5h://127.0.0.1:40000 ifconfig.me
|
||||
| 5 | JSON для 3X-UI (готовые конфиги) |
|
||||
| 6 | Перевыпуск ключа (новый WARP IP) |
|
||||
| 7 | Изменить порт SOCKS5 |
|
||||
| 8 | Telegram Bot (настройка и управление) |
|
||||
| 8 | Telegram Bot |
|
||||
| 9 | PROMO |
|
||||
| 10 | Инструкция |
|
||||
| 11 | Полное удаление |
|
||||
| 0 | Выход |
|
||||
|
||||
### Режим AmneziaWG
|
||||
|
||||
| Пункт | Действие |
|
||||
|-------|----------|
|
||||
| 1 | Установить WARP |
|
||||
| 2 | Запустить WARP |
|
||||
| 3 | Остановить WARP |
|
||||
| 4 | Статус |
|
||||
| 5 | ➕ Добавить клиентов в WARP |
|
||||
| 6 | ➖ Убрать клиентов из WARP |
|
||||
| 7 | Показать клиентов |
|
||||
| 8 | Telegram Bot |
|
||||
| 9 | PROMO |
|
||||
| 10 | Инструкция |
|
||||
| 11 | Полное удаление |
|
||||
| 12 | Перевыпуск ключа |
|
||||
| 13 | Перезапуск контейнера |
|
||||
| 0 | Выход |
|
||||
|
||||
---
|
||||
|
||||
## Telegram-бот
|
||||
|
||||
WARP Manager включает встроенный Telegram-бот для удалённого управления.
|
||||
WARP Manager включает встроенный Telegram-бот для удалённого управления. Бот работает **в обоих режимах** — интерфейс и кнопки автоматически адаптируются.
|
||||
|
||||
### Настройка бота
|
||||
|
||||
@@ -253,15 +381,34 @@ WARP Manager включает встроенный Telegram-бот для уда
|
||||
|
||||
- `/start` или `/menu` — главное меню
|
||||
|
||||
### Кнопки меню
|
||||
### Кнопки бота — режим 3X-UI
|
||||
|
||||
- **Статус** — текущий статус WARP, порт, IP
|
||||
- **IP адреса** — реальный IP сервера и WARP IP
|
||||
- **Запустить / Остановить** — управление WARP
|
||||
- **Перевыпуск ключа** — получить новый WARP IP
|
||||
- **JSON для 3X-UI** — готовая конфигурация для копирования
|
||||
- **Система** — CPU, RAM, диск, uptime
|
||||
- **Хостинг** — промо-материалы
|
||||
| Кнопка | Действие |
|
||||
|--------|----------|
|
||||
| 📊 Статус | Текущий статус WARP, порт, IP |
|
||||
| 🌍 IP адреса | Реальный IP сервера и WARP IP |
|
||||
| ▶️ Запустить | Запуск WARP |
|
||||
| ⏹ Остановить | Остановка WARP |
|
||||
| 🔑 Перевыпуск ключа | Новый WARP IP |
|
||||
| 📋 JSON | Готовая конфигурация outbound для 3X-UI |
|
||||
| 🖥 Система | CPU, RAM, диск, uptime |
|
||||
| 🏷 Хостинг | Промо-материалы |
|
||||
|
||||
### Кнопки бота — режим AmneziaWG
|
||||
|
||||
| Кнопка | Действие |
|
||||
|--------|----------|
|
||||
| 📊 Статус | Статус WARP, контейнер, IP, кол-во клиентов |
|
||||
| 🌍 IP адреса | Реальный IP сервера и WARP IP |
|
||||
| ▶️ Запустить | Поднять WG-интерфейс WARP |
|
||||
| ⏹ Остановить | Опустить WG-интерфейс WARP |
|
||||
| 🔑 Перевыпуск ключа | Пересоздать WARP-профиль |
|
||||
| 👥 Клиенты | Список клиентов в WARP |
|
||||
| ➕ Добавить | Добавить клиента в WARP (выбор из списка) |
|
||||
| ➖ Убрать | Убрать клиента из WARP |
|
||||
| 🔄 Контейнер | Перезапуск Docker-контейнера AmneziaWG |
|
||||
| 🖥 Система | CPU, RAM, диск, uptime |
|
||||
| 🏷 Хостинг | Промо-материалы |
|
||||
|
||||
### Безопасность
|
||||
|
||||
@@ -273,15 +420,16 @@ WARP Manager включает встроенный Telegram-бот для уда
|
||||
|
||||
## Автоперезапуск
|
||||
|
||||
- Служба `warp-svc` настроена с `Restart=always` — WARP автоматически перезапускается при сбое
|
||||
- Служба `warp-svc` (3X-UI) настроена с `Restart=always` — WARP автоматически перезапускается при сбое
|
||||
- Служба `warp-bot` (Telegram-бот) также имеет `Restart=always`
|
||||
- При перезагрузке сервера оба сервиса запускаются автоматически
|
||||
- При перезагрузке сервера сервисы запускаются автоматически
|
||||
- В режиме AmneziaWG правила маршрутизации прописаны в `start.sh` контейнера — они восстанавливаются при перезапуске контейнера или сервера
|
||||
|
||||
---
|
||||
|
||||
## Часто задаваемые вопросы
|
||||
|
||||
### WARP не подключается
|
||||
### WARP не подключается (3X-UI)
|
||||
|
||||
```bash
|
||||
warp-cli --accept-tos status
|
||||
@@ -290,22 +438,50 @@ journalctl -u warp-svc --no-pager -n 20
|
||||
|
||||
Попробуйте перевыпустить ключ (пункт 6 в меню).
|
||||
|
||||
### Сайт всё ещё заблокирован после настройки
|
||||
### WARP не подключается (AmneziaWG)
|
||||
|
||||
```bash
|
||||
docker exec <контейнер> wg show warp
|
||||
docker exec <контейнер> cat /opt/warp/warp.conf
|
||||
```
|
||||
|
||||
Убедитесь, что контейнер запущен и внутри него есть интерфейс `warp`:
|
||||
|
||||
```bash
|
||||
docker exec <контейнер> ip link show warp
|
||||
```
|
||||
|
||||
Попробуйте перевыпустить ключ (пункт 12) или перезапустить контейнер (пункт 13).
|
||||
|
||||
### Сайт всё ещё заблокирован после настройки (3X-UI)
|
||||
|
||||
1. Убедитесь, что WARP в статусе «Подключён» (`gowarp` → пункт 4)
|
||||
2. Проверьте, что домен добавлен в routing-правило в 3X-UI
|
||||
3. Перезапустите Xray: `x-ui restart`
|
||||
4. Очистите DNS-кэш в браузере или используйте режим инкогнито
|
||||
|
||||
### Клиент не видит WARP IP (AmneziaWG)
|
||||
|
||||
1. Убедитесь, что клиент **добавлен** в WARP (`gowarp` → пункт 7)
|
||||
2. Проверьте, что интерфейс `warp` поднят (`gowarp` → пункт 4)
|
||||
3. Перезапустите контейнер (`gowarp` → пункт 13)
|
||||
4. Переподключитесь к VPN на клиентском устройстве
|
||||
|
||||
### Как сменить WARP IP
|
||||
|
||||
В SSH: `gowarp` → пункт **6** (Перевыпуск ключа)
|
||||
В Telegram: кнопка **Перевыпуск ключа**
|
||||
- **3X-UI:** `gowarp` → пункт **6** или кнопка бота **🔑 Перевыпуск ключа**
|
||||
- **AmneziaWG:** `gowarp` → пункт **12** или кнопка бота **🔑 Перевыпуск ключа**
|
||||
|
||||
### Как изменить порт SOCKS5
|
||||
### Как изменить порт SOCKS5 (только 3X-UI)
|
||||
|
||||
`gowarp` → пункт **7** — введите новый порт. Не забудьте обновить порт в outbound-настройках 3X-UI.
|
||||
|
||||
### Можно ли переключить режим?
|
||||
|
||||
Режим определяется автоматически при запуске. Если на сервере установлены и 3X-UI, и AmneziaWG Docker — скрипт предложит выбрать. Выбор сохраняется в конфигурации.
|
||||
|
||||
Чтобы сбросить: удалите строку `MODE=` из `/etc/warp-manager/config` — при следующем запуске скрипт снова предложит выбор.
|
||||
|
||||
---
|
||||
|
||||
## Удаление
|
||||
@@ -316,10 +492,27 @@ gowarp
|
||||
|
||||
Выберите пункт **11** — Полное удаление.
|
||||
|
||||
Будут удалены: cloudflare-warp, конфигурация, Telegram-бот, команда `gowarp`, логи.
|
||||
### Что удаляется (3X-UI)
|
||||
|
||||
- cloudflare-warp и его конфигурация
|
||||
- Telegram-бот (сервис `warp-bot`)
|
||||
- Команда `gowarp`
|
||||
- Конфигурация и логи WARP Manager
|
||||
|
||||
**Не забудьте** вручную удалить outbound `warp` и связанные routing-правила из настроек 3X-UI.
|
||||
|
||||
### Что удаляется (AmneziaWG)
|
||||
|
||||
- WG-интерфейс `warp` внутри контейнера
|
||||
- Файлы WARP (`/opt/warp/`) внутри контейнера
|
||||
- Правила `ip rule` и `iptables` для клиентов
|
||||
- Блок WARP-MANAGER из `start.sh` контейнера
|
||||
- Telegram-бот (сервис `warp-bot`)
|
||||
- Команда `gowarp`
|
||||
- Конфигурация и логи WARP Manager
|
||||
|
||||
Сам контейнер AmneziaWG и его клиенты **не затрагиваются**.
|
||||
|
||||
---
|
||||
|
||||
## Лицензия
|
||||
|
||||
Reference in New Issue
Block a user