This commit is contained in:
Den Piligrim
2026-05-21 22:58:29 +03:00
parent 962544820f
commit 26f3bb2934
48 changed files with 2877 additions and 1170 deletions
+105 -24
View File
@@ -2,11 +2,11 @@
<p><img src="https://denpiligrim.ru/storage/images/3dp-manager.png" alt="3dp-manager preview"></p>
![Version](https://img.shields.io/badge/version-2.1.0-blue.svg) [![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=flat&logo=telegram&logoColor=white)](https://t.me/denpiligrim_web) [![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCOv2tFFYDY4mXOM60PVz8zw)](https://www.youtube.com/@denpiligrim)
![Version](https://img.shields.io/badge/version-2.2.0-blue.svg) ![Downloads](https://img.shields.io/badge/downloads-5.1k-blue) [![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=flat&logo=telegram&logoColor=white)](https://t.me/denpiligrim_web) [![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCOv2tFFYDY4mXOM60PVz8zw)](https://www.youtube.com/@denpiligrim)
# 3DP-MANAGER
Утилита для автогенерации инбаундов к панели [3x-ui](https://github.com/MHSanaei/3x-ui), формирования единой подписки и настройки перенаправления трафика с промежуточного сервера на основной. Утилита, начиная с версии 2.0.0 имеет графический интерфейс и простые пользовательские настройки.
Утилита для автогенерации инбаундов к панели [3x-ui](https://github.com/MHSanaei/3x-ui), формирования единых подписок, управления несколькими 3x-ui нодами и настройки relay-перенаправления трафика с промежуточных серверов на основные. Начиная с версии 2.0.0 проект имеет графический интерфейс и простые пользовательские настройки.
**Поддержать проект**
@@ -25,18 +25,19 @@
## Описание
Главная цель утилиты — сделать так, чтобы ваш трафик не выглядел одинаковым. Бот генерирует по заданному интервалу 10 подключений с разными параметрами:
Главная цель утилиты — сделать так, чтобы ваш трафик не выглядел одинаковым. 3DP-MANAGER генерирует по заданному интервалу набор подключений с разными параметрами:
- протоколы: `vless`, `vmess`, `shadowsocks`, `hysteria2`, `trojan`;
- порты: `443`, `8443` (фиксированные) и случайные из диапазона `10000-60000`;
- транспорт: `tcp`, `websocket`, `grpc`, `xhttp`;
- SNI берутся из белого списка доменов (whitelist); можно использовать свой список.
- SNI берутся из белого списка доменов (whitelist) или задаются вручную;
- нода, relay-сервер, порт и флаг могут настраиваться отдельно для каждого инбаунда.
Все подключения объединяются в одну подписку со статичным URL. Бот работает с панелью `3x-ui` и не вмешивается в её работу напрямую, используя открытое API панели.
Все подключения объединяются в одну подписку со статичным URL. 3DP-MANAGER работает с панелью `3x-ui` и не вмешивается в её работу напрямую, используя открытое API панели.
Вторичная цель — стабильность подключения: клиент получает 10 вариантов подключений и может выбрать любое из них.
Вторичная цель — стабильность подключения: клиент получает несколько вариантов подключений и может выбрать любой из них. В одну подписку можно добавлять инбаунды с разных нод, использовать relay-серверы и добавлять собственные внешние ссылки как кастомные подключения.
Дополнительно: бот можно использовать в каскадной схеме. Сервис перенаправления автоматически настроит переадресацию подписки и трафика к основному серверу.
Дополнительно: 3DP-MANAGER можно использовать в каскадной схеме. Сервис перенаправления автоматически настроит переадресацию подписки и трафика к выбранной ноде.
Рекомендации:
@@ -46,15 +47,25 @@
## Возможности
- Генерация 10 разнообразных подключений
- Генерация разнообразных подключений для одной или нескольких подписок
- Формирование единой подписки со статичным URL
- Управление несколькими нодами `3x-ui`
- Авторизация нод по логину/паролю или токену
- Автоопределение IP, страны и флага ноды по URL панели
- Выбор ноды, relay-сервера, флага, SNI и порта для каждого инбаунда
- Поддержка фиксированного порта или значения `random`
- Кастомные подключения: можно добавить готовую внешнюю ссылку в подписку
- Отдельные пути к `fullchain.pem` и `privkey.pem` для Hysteria2 UDP
- Поддержка кастомного `whitelist` доменов
- Автоматическая настройка перенаправления трафика (опционально)
- Автоматическая настройка relay-перенаправления трафика (опционально)
- Установка Web UI через HTTP или HTTPS: Let's Encrypt, self-signed или свои сертификаты
## Требования
- Ubuntu 20.04 (и выше), Debian 12.11 (и выше)
- Панель `3x-ui` v2.8.4 (и выше)
- Панель `3x-ui` v2.9.4 (и выше)
- Root-доступ на сервере
- Docker и Docker Compose; если их нет, установочный скрипт попробует установить их автоматически
- Домен + SSL сертификат (опционально)
---
@@ -62,13 +73,29 @@
## Установка
У вас должна быть установлена панель управления `3x-ui`, которую можно поставить командой: `bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)`
Установите проект на сервер командой:
```bash
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/install.sh)
```
<sup>Краткое описание: запускает скрипт установки и разворачивает контейнеры и сервисы.</sup>
Во время установки скрипт:
- проверит ОС, root-доступ, Docker и Docker Compose;
- при нехватке RAM создаст swap-файл 2 GB, если swap отсутствует;
- предложит выбрать режим доступа к Web UI:
- HTTPS через Let's Encrypt;
- HTTPS с self-signed сертификатом;
- HTTPS со своими сертификатами;
- HTTP без шифрования;
- сгенерирует случайный порт Web UI;
- сгенерирует логин и пароль администратора;
- развернёт контейнеры `postgres`, `backend` и `frontend`.
После завершения установки в терминале будут показаны URL, логин и пароль. Сразу смените пароль в настройках 3DP-MANAGER.
<sup>Краткое описание: запускает интерактивный скрипт установки, подготавливает окружение и разворачивает контейнеры проекта.</sup>
## Обновление
@@ -78,7 +105,7 @@ bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/update.sh)
```
<sup>Краткое описание: подтягивает последние изменения и перезапускает контейнеры.</sup>
<sup>Краткое описание: подтягивает последние изменения, применяет совместимые исправления конфигурации, обновляет контейнеры и перезапускает сервис.</sup>
## Удаление
@@ -92,12 +119,76 @@ bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main
---
## Первый вход и доступы
Логин и пароль администратора выводятся в конце установки. Если нужно посмотреть их повторно:
```bash
grep -E "ADMIN_LOGIN|ADMIN_PASSWORD" /opt/3dp-manager/docker-compose.yml | sed 's/^[ \t]*//; s/^- //'
```
Web UI доступен по адресу, который показал установщик, например:
- `https://example.com:PORT` для HTTPS;
- `http://SERVER_IP:PORT` для HTTP.
Если включён `ufw`, установщик открывает рабочие диапазоны портов для инбаундов: `443`, `8443` и `10000-60000` для TCP/UDP.
---
## Ноды
Раздел **Ноды** позволяет подключить одну или несколько панелей `3x-ui`.
Для каждой ноды указываются:
- название;
- URL панели `3x-ui`;
- IP ноды;
- флаг/страна;
- тип авторизации: `password` или `token`;
- признак основной ноды.
После ввода URL приложение пытается определить IP и страну ноды автоматически. Флаг используется в названиях подключений внутри подписки, чтобы в клиенте было проще отличать серверы.
> [!NOTE]
> Основная нода используется как значение по умолчанию для подписок, инбаундов и relay-серверов.
---
## Подписки
Раздел **Подписки** управляет статичными URL подписок и составом инбаундов.
Для каждого инбаунда можно настроить:
- тип подключения;
- ноду;
- relay-сервер;
- флаг;
- порт: конкретное число `1-65535` или `random`;
- SNI: конкретный домен или `random`;
- готовую внешнюю ссылку для типа `custom`.
Для `hysteria2-udp` можно указать отдельные пути к сертификату и ключу:
- `certificateFile`, например `/root/cert/example.com/fullchain.pem`;
- `keyFile`, например `/root/cert/example.com/privkey.pem`.
Если порт или SNI указаны как `random`, значение будет выбрано при ротации из доступного диапазона или whitelist доменов.
---
## Установка сервиса перенаправления (forwarding)
> [!WARNING]
> Сервис перенаправления работает на промежуточном сервере
Сервис перенаправления позволяет проксировать входящие порты с промежуточного сервера на основной. IP адрес замените на IP адрес основного сервера (не домен! только IP адрес):
Сервис перенаправления позволяет проксировать входящие порты с промежуточного сервера на выбранную ноду. В Web UI такие серверы настраиваются в разделе **Relay серверы** и могут быть привязаны к конкретной ноде.
Relay-сервер можно добавить по IP или домену. Если указан домен, backend попытается определить IP автоматически.
Для ручной установки forwarding на промежуточном сервере замените `IP_ADDRESS` на IP основной ноды:
```bash
sudo ORIGIN_IP="IP_ADDRESS" bash -c "$(curl -sSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/forwarding_install.sh)"
@@ -115,16 +206,6 @@ bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main
---
## Посмотреть логин и пароль в терминале
Команда позволяет посмотреть логин и пароль от личного кабинета 3DP-MANAGER.
```bash
grep -E "ADMIN_LOGIN|ADMIN_PASSWORD" /opt/3dp-manager/docker-compose.yml | sed 's/^[ \t]*//; s/^- //'
```
---
## Сбор доменов из мульти-подписок
Утилита извлекает домены из подписок и формирует `whitelist` для генератора.
@@ -160,4 +241,4 @@ node get_domains.js
## Обсуждение
- Телеграм: [@denpiligrim_web](https://t.me/denpiligrim_web)
- Раздел Issues в данном репозитории
- Раздел Issues в данном репозитории