mirror of
https://github.com/anten-ka/go_warp_pro.git
synced 2026-05-19 19:56:01 +00:00
Restructure menu: WARP key / 3X-UI / AmneziaWG / Bot / Other sections; auto-confirm wgcf
Made-with: Cursor
This commit is contained in:
82
README.md
82
README.md
@@ -255,7 +255,7 @@ curl -s --proxy socks5h://127.0.0.1:40000 ifconfig.me
|
||||
|
||||
**Через SSH-меню:**
|
||||
|
||||
1. Выберите пункт **5** — ➕ Добавить клиентов в WARP
|
||||
1. Выберите пункт **6** — ➕ Добавить клиентов в WARP
|
||||
2. Вы увидите список всех клиентов AmneziaWG с их IP и именами
|
||||
3. Введите номер клиента, которого хотите добавить, или `all` для всех
|
||||
4. Скрипт:
|
||||
@@ -286,11 +286,11 @@ docker exec <имя_контейнера> curl -s --interface warp ifconfig.me
|
||||
|
||||
| Действие | SSH-меню | Telegram-бот |
|
||||
|----------|----------|--------------|
|
||||
| Добавить в WARP | пункт **5** | Клиенты → ➕ Добавить |
|
||||
| Убрать из WARP | пункт **6** | Клиенты → ➖ Убрать |
|
||||
| Список клиентов в WARP | пункт **7** | Клиенты |
|
||||
| Перевыпуск ключа | пункт **12** | 🔑 Перевыпуск ключа |
|
||||
| Перезапуск контейнера | пункт **13** | 🔄 Контейнер |
|
||||
| Добавить в WARP | пункт **6** | Клиенты → ➕ Добавить |
|
||||
| Убрать из WARP | пункт **7** | Клиенты → ➖ Убрать |
|
||||
| Список клиентов в WARP | пункт **8** | Клиенты |
|
||||
| Перевыпуск ключа | пункт **5** | 🔑 Перевыпуск ключа |
|
||||
| Перезапуск контейнера | пункт **9** | 🔄 Контейнер |
|
||||
|
||||
### Что происходит при добавлении клиента
|
||||
|
||||
@@ -320,24 +320,9 @@ docker exec <имя_контейнера> curl -s --interface warp ifconfig.me
|
||||
|
||||
## Меню WARP Manager
|
||||
|
||||
### Режим 3X-UI
|
||||
Меню организовано по секциям. Нумерация пунктов 1–5 и 10–13 одинакова в обоих режимах, а секция 6–9 адаптируется.
|
||||
|
||||
| Пункт | Действие |
|
||||
|-------|----------|
|
||||
| 1 | Установить WARP |
|
||||
| 2 | Запустить WARP |
|
||||
| 3 | Остановить WARP |
|
||||
| 4 | Статус и конфигурация |
|
||||
| 5 | JSON для 3X-UI (готовые конфиги) |
|
||||
| 6 | Перевыпуск ключа (новый WARP IP) |
|
||||
| 7 | Изменить порт SOCKS5 |
|
||||
| 8 | Telegram Bot |
|
||||
| 9 | PROMO |
|
||||
| 10 | Инструкция |
|
||||
| 11 | Полное удаление |
|
||||
| 0 | Выход |
|
||||
|
||||
### Режим AmneziaWG
|
||||
### Общая секция — WARP-ключ (оба режима)
|
||||
|
||||
| Пункт | Действие |
|
||||
|-------|----------|
|
||||
@@ -345,15 +330,32 @@ docker exec <имя_контейнера> curl -s --interface warp ifconfig.me
|
||||
| 2 | Запустить WARP |
|
||||
| 3 | Остановить WARP |
|
||||
| 4 | Статус |
|
||||
| 5 | ➕ Добавить клиентов в WARP |
|
||||
| 6 | ➖ Убрать клиентов из WARP |
|
||||
| 7 | Показать клиентов |
|
||||
| 8 | Telegram Bot |
|
||||
| 9 | PROMO |
|
||||
| 10 | Инструкция |
|
||||
| 11 | Полное удаление |
|
||||
| 12 | Перевыпуск ключа |
|
||||
| 13 | Перезапуск контейнера |
|
||||
| 5 | Перевыпуск ключа (новый WARP IP) |
|
||||
|
||||
### Секция 3X-UI (только в режиме 3X-UI)
|
||||
|
||||
| Пункт | Действие |
|
||||
|-------|----------|
|
||||
| 6 | JSON конфиг для 3X-UI |
|
||||
| 7 | Изменить порт SOCKS5 |
|
||||
|
||||
### Секция AmneziaWG (только в режиме AmneziaWG)
|
||||
|
||||
| Пункт | Действие |
|
||||
|-------|----------|
|
||||
| 6 | ➕ Добавить клиентов в WARP |
|
||||
| 7 | ➖ Убрать клиентов из WARP |
|
||||
| 8 | Показать клиентов в WARP |
|
||||
| 9 | Перезапуск контейнера |
|
||||
|
||||
### Общая секция — бот и прочее (оба режима)
|
||||
|
||||
| Пункт | Действие |
|
||||
|-------|----------|
|
||||
| 10 | Telegram Bot (настройка и управление) |
|
||||
| 11 | PROMO |
|
||||
| 12 | Инструкция |
|
||||
| 13 | Полное удаление |
|
||||
| 0 | Выход |
|
||||
|
||||
---
|
||||
@@ -368,7 +370,7 @@ WARP Manager включает встроенный Telegram-бот для уда
|
||||
2. Отправьте `/newbot`
|
||||
3. Задайте имя и username бота
|
||||
4. Скопируйте полученный **токен**
|
||||
5. На сервере выполните `gowarp` → пункт **8** (Telegram Bot)
|
||||
5. На сервере выполните `gowarp` → пункт **10** (Telegram Bot)
|
||||
6. Выберите **1) Токен бота** — вставьте токен
|
||||
7. Выберите **2) Chat ID (авто)**:
|
||||
- Откройте вашего бота в Telegram
|
||||
@@ -436,7 +438,7 @@ warp-cli --accept-tos status
|
||||
journalctl -u warp-svc --no-pager -n 20
|
||||
```
|
||||
|
||||
Попробуйте перевыпустить ключ (пункт 6 в меню).
|
||||
Попробуйте перевыпустить ключ (пункт 5 в меню).
|
||||
|
||||
### WARP не подключается (AmneziaWG)
|
||||
|
||||
@@ -451,7 +453,7 @@ docker exec <контейнер> cat /opt/warp/warp.conf
|
||||
docker exec <контейнер> ip link show warp
|
||||
```
|
||||
|
||||
Попробуйте перевыпустить ключ (пункт 12) или перезапустить контейнер (пункт 13).
|
||||
Попробуйте перевыпустить ключ (пункт 5) или перезапустить контейнер (пункт 9).
|
||||
|
||||
### Сайт всё ещё заблокирован после настройки (3X-UI)
|
||||
|
||||
@@ -462,15 +464,15 @@ docker exec <контейнер> ip link show warp
|
||||
|
||||
### Клиент не видит WARP IP (AmneziaWG)
|
||||
|
||||
1. Убедитесь, что клиент **добавлен** в WARP (`gowarp` → пункт 7)
|
||||
1. Убедитесь, что клиент **добавлен** в WARP (`gowarp` → пункт 8)
|
||||
2. Проверьте, что интерфейс `warp` поднят (`gowarp` → пункт 4)
|
||||
3. Перезапустите контейнер (`gowarp` → пункт 13)
|
||||
3. Перезапустите контейнер (`gowarp` → пункт 9)
|
||||
4. Переподключитесь к VPN на клиентском устройстве
|
||||
|
||||
### Как сменить WARP IP
|
||||
|
||||
- **3X-UI:** `gowarp` → пункт **6** или кнопка бота **🔑 Перевыпуск ключа**
|
||||
- **AmneziaWG:** `gowarp` → пункт **12** или кнопка бота **🔑 Перевыпуск ключа**
|
||||
- **3X-UI:** `gowarp` → пункт **5** или кнопка бота **🔑 Перевыпуск ключа**
|
||||
- **AmneziaWG:** `gowarp` → пункт **5** или кнопка бота **🔑 Перевыпуск ключа**
|
||||
|
||||
### Как изменить порт SOCKS5 (только 3X-UI)
|
||||
|
||||
@@ -490,7 +492,7 @@ docker exec <контейнер> ip link show warp
|
||||
gowarp
|
||||
```
|
||||
|
||||
Выберите пункт **11** — Полное удаление.
|
||||
Выберите пункт **13** — Полное удаление.
|
||||
|
||||
### Что удаляется (3X-UI)
|
||||
|
||||
|
||||
102
warp.sh
102
warp.sh
@@ -492,14 +492,13 @@ awg_install_wgcf() {
|
||||
awg_ensure_account() {
|
||||
if [ ! -f "$WGCF_ACCOUNT" ]; then
|
||||
echo -e "${YELLOW}Регистрация WARP через wgcf...${NC}"
|
||||
echo -e "${WHITE}Если попросит подтверждение — введите ${GREEN}y${NC}"
|
||||
(cd /root && ./wgcf register)
|
||||
(cd /root && yes | ./wgcf register 2>/dev/null)
|
||||
fi
|
||||
[ -f "$WGCF_ACCOUNT" ] || { echo -e "${RED}Не создан $WGCF_ACCOUNT${NC}"; return 1; }
|
||||
}
|
||||
|
||||
awg_generate_profile() {
|
||||
(cd /root && ./wgcf generate)
|
||||
(cd /root && yes | ./wgcf generate 2>/dev/null)
|
||||
[ -f "$WGCF_PROFILE" ] || { echo -e "${RED}Не создан профиль.${NC}"; return 1; }
|
||||
}
|
||||
|
||||
@@ -1135,7 +1134,7 @@ bot_handle_callback() {
|
||||
else
|
||||
docker exec "$CONTAINER" sh -c "wg-quick down '$AWG_WARP_CONF' 2>/dev/null || true"
|
||||
rm -f "$WGCF_ACCOUNT"
|
||||
(cd /root && ./wgcf register --accept-tos 2>/dev/null && ./wgcf generate 2>/dev/null)
|
||||
(cd /root && yes | ./wgcf register 2>/dev/null && yes | ./wgcf generate 2>/dev/null)
|
||||
if [ -f "$WGCF_PROFILE" ]; then
|
||||
local ep; ep=$(awg_resolve_endpoint 2>/dev/null)
|
||||
if [ -n "$ep" ]; then
|
||||
@@ -1467,57 +1466,66 @@ show_menu() {
|
||||
sc="$RED"; [[ "$st" == "Подключён" ]] && sc="$GREEN"; [[ "$st" == "Отключён" ]] && sc="$YELLOW"
|
||||
local mode_label="3X-UI"; [ "$MODE" = "amnezia" ] && mode_label="AmneziaWG"
|
||||
|
||||
echo -e "${MAGENTA}******************************************************"
|
||||
echo " anten-ka · WARP Manager v${WARP_VERSION} (${mode_label})"
|
||||
echo " YouTube: https://www.youtube.com/@antenkaru"
|
||||
echo -e "******************************************************${NC}"
|
||||
echo -e "${WHITE}IP сервера: ${GREEN}${MY_IP}${NC} ${WHITE}WARP: ${sc}${st}${NC}"
|
||||
echo -e "${MAGENTA}╔══════════════════════════════════════════════════════╗"
|
||||
echo -e "║ anten-ka · WARP Manager v${WARP_VERSION} ║"
|
||||
echo -e "║ YouTube: https://www.youtube.com/@antenkaru ║"
|
||||
echo -e "╚══════════════════════════════════════════════════════╝${NC}"
|
||||
echo -e " ${WHITE}IP сервера:${NC} ${GREEN}${MY_IP}${NC} ${WHITE}Режим:${NC} ${CYAN}${mode_label}${NC}"
|
||||
echo -e " ${WHITE}WARP:${NC} ${sc}${st}${NC}"
|
||||
if [ "$MODE" = "3xui" ] && is_warp_running; then
|
||||
echo -e "${WHITE}SOCKS5: ${CYAN}127.0.0.1:${SOCKS_PORT}${NC}"
|
||||
echo -e " ${WHITE}SOCKS5:${NC} ${CYAN}127.0.0.1:${SOCKS_PORT}${NC}"
|
||||
fi
|
||||
if [ "$MODE" = "amnezia" ]; then
|
||||
echo -e "${WHITE}Контейнер: ${CYAN}${CONTAINER:-N/A}${NC}"
|
||||
if [ "$MODE" = "amnezia" ] && [ -n "${CONTAINER:-}" ]; then
|
||||
echo -e " ${WHITE}Контейнер:${NC} ${CYAN}${CONTAINER}${NC}"
|
||||
fi
|
||||
echo -e "------------------------------------------------------"
|
||||
echo -e " 1) ${GREEN}Установить WARP${NC}"
|
||||
echo -e " 2) ${CYAN}Запустить WARP${NC}"
|
||||
echo -e " 3) ${YELLOW}Остановить WARP${NC}"
|
||||
echo -e " 4) 📊 ${WHITE}Статус${NC}"
|
||||
|
||||
echo -e "\n${CYAN}── WARP-ключ ──────────────────────────────────────────${NC}"
|
||||
echo -e " 1) ${GREEN}Установить WARP${NC}"
|
||||
echo -e " 2) ${CYAN}Запустить WARP${NC}"
|
||||
echo -e " 3) ${YELLOW}Остановить WARP${NC}"
|
||||
echo -e " 4) 📊 Статус"
|
||||
echo -e " 5) 🔑 ${YELLOW}Перевыпуск ключа${NC}"
|
||||
|
||||
if [ "$MODE" = "3xui" ]; then
|
||||
echo -e " 5) 📋 ${CYAN}JSON для 3X-UI${NC}"
|
||||
echo -e " 6) 🔑 ${YELLOW}Перевыпуск ключа${NC}"
|
||||
echo -e " 7) 🔧 ${WHITE}Изменить порт SOCKS5${NC}"
|
||||
else
|
||||
echo -e " 5) ${GREEN}➕ Добавить клиентов в WARP${NC}"
|
||||
echo -e " 6) ${YELLOW}➖ Убрать клиентов из WARP${NC}"
|
||||
echo -e " 7) 👥 ${WHITE}Показать клиентов${NC}"
|
||||
echo -e "12) 🔑 ${YELLOW}Перевыпуск ключа${NC}"
|
||||
echo -e "13) 🔄 ${CYAN}Перезапуск контейнера${NC}"
|
||||
echo -e "\n${CYAN}── 3X-UI ──────────────────────────────────────────────${NC}"
|
||||
echo -e " 6) 📋 ${CYAN}JSON конфиг для 3X-UI${NC}"
|
||||
echo -e " 7) 🔧 ${WHITE}Изменить порт SOCKS5${NC}"
|
||||
fi
|
||||
|
||||
echo -e " 8) 🤖 ${CYAN}Telegram Bot${NC}"
|
||||
echo -e " 9) ${YELLOW}PROMO${NC}"
|
||||
echo -e "10) ${MAGENTA}📚 Инструкция${NC}"
|
||||
echo -e "11) ${RED}⚠ Полное удаление${NC}"
|
||||
echo -e " 0) Выход"
|
||||
echo -e "------------------------------------------------------"
|
||||
read -p "Выбор: " ch
|
||||
if [ "$MODE" = "amnezia" ]; then
|
||||
echo -e "\n${CYAN}── AmneziaWG ──────────────────────────────────────────${NC}"
|
||||
echo -e " 6) ${GREEN}➕ Добавить клиентов в WARP${NC}"
|
||||
echo -e " 7) ${YELLOW}➖ Убрать клиентов из WARP${NC}"
|
||||
echo -e " 8) 👥 ${WHITE}Показать клиентов в WARP${NC}"
|
||||
echo -e " 9) 🔄 ${CYAN}Перезапуск контейнера${NC}"
|
||||
fi
|
||||
|
||||
echo -e "\n${CYAN}── Telegram-бот ───────────────────────────────────────${NC}"
|
||||
echo -e " 10) 🤖 ${CYAN}Настройка и управление ботом${NC}"
|
||||
|
||||
echo -e "\n${CYAN}── Прочее ─────────────────────────────────────────────${NC}"
|
||||
echo -e " 11) ${YELLOW}PROMO${NC}"
|
||||
echo -e " 12) ${MAGENTA}📚 Инструкция${NC}"
|
||||
echo -e " 13) ${RED}⚠ Полное удаление${NC}"
|
||||
echo -e " 0) Выход"
|
||||
echo -e "${CYAN}──────────────────────────────────────────────────────${NC}"
|
||||
read -p " Выбор: " ch
|
||||
|
||||
case $ch in
|
||||
1) [ "$MODE" = "3xui" ] && install_warp_3xui || install_warp_awg ;;
|
||||
2) [ "$MODE" = "3xui" ] && start_warp_3xui || start_warp_awg ;;
|
||||
3) [ "$MODE" = "3xui" ] && stop_warp_3xui || stop_warp_awg ;;
|
||||
4) [ "$MODE" = "3xui" ] && show_status_3xui || show_status_awg ;;
|
||||
5) [ "$MODE" = "3xui" ] && show_xui_json || awg_add_clients_ssh ;;
|
||||
6) [ "$MODE" = "3xui" ] && rekey_warp_3xui || awg_remove_clients_ssh ;;
|
||||
7) [ "$MODE" = "3xui" ] && change_port_3xui || awg_show_clients_ssh ;;
|
||||
8) bot_menu ;;
|
||||
9) show_promo ;;
|
||||
10) show_info ;;
|
||||
11) full_uninstall ;;
|
||||
12) [ "$MODE" = "amnezia" ] && rekey_warp_awg ;;
|
||||
13) [ "$MODE" = "amnezia" ] && awg_restart_container ;;
|
||||
0) exit 0 ;;
|
||||
1) [ "$MODE" = "3xui" ] && install_warp_3xui || install_warp_awg ;;
|
||||
2) [ "$MODE" = "3xui" ] && start_warp_3xui || start_warp_awg ;;
|
||||
3) [ "$MODE" = "3xui" ] && stop_warp_3xui || stop_warp_awg ;;
|
||||
4) [ "$MODE" = "3xui" ] && show_status_3xui || show_status_awg ;;
|
||||
5) [ "$MODE" = "3xui" ] && rekey_warp_3xui || rekey_warp_awg ;;
|
||||
6) [ "$MODE" = "3xui" ] && show_xui_json || awg_add_clients_ssh ;;
|
||||
7) [ "$MODE" = "3xui" ] && change_port_3xui || awg_remove_clients_ssh ;;
|
||||
8) [ "$MODE" = "amnezia" ] && awg_show_clients_ssh ;;
|
||||
9) [ "$MODE" = "amnezia" ] && awg_restart_container ;;
|
||||
10) bot_menu ;;
|
||||
11) show_promo ;;
|
||||
12) show_info ;;
|
||||
13) full_uninstall ;;
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user