diff --git a/pub.md b/pub.md deleted file mode 100644 index 77b0593..0000000 --- a/pub.md +++ /dev/null @@ -1,149 +0,0 @@ -# Custom-правки для 3dp-manager - -> ⚠️ **Назначение:** Это набор кастомных модификаций поверх оригинального `3dp-manager`. -> Скрипты `*-custom.sh` нацелены на код **из моего форка** и пушатся в PR автору как **объект для тестов, анализа и вдохновения**. -> Не предназначены для продакшена — это площадка для экспериментов и улучшения оригинального проекта. - ---- - -## Что изменено - -### 1. Развёртывание и инфраструктура - -#### `install-custom.sh` — полностью самостоятельный установщик -Самостоятельный скрипт установки, **не перезаписывающий** оригинальный `install.sh`. Ключевые отличия: - -- **Выбор типа SSL:** Let's Encrypt / Self-signed / Свои сертификаты / HTTP. Меню SSL показывается всегда, даже при пустом вводе домена. -- **Проверка валидности сертификатов** — перед использованием существующих сертификатов проверяется их срок действия через `openssl x509 -checkend`. Если сертификат истекает — предлагается перевыпуск. -- **`ALLOWED_ORIGINS` зависит от `USE_SSL`** — корректная генерация origins (`https://` vs `http://`) независимо от формата хоста. -- **Проверка и автофикс учётных данных** — при установке генерируются случайные `ADMIN_LOGIN`, `ADMIN_PASSWORD`, `JWT_SECRET`, `POSTGRES_PASSWORD` вместо дефолтных `admin`/`secretKey`. -- **Автопроверка доступности порта** через `ss -tlnp` и `curl`. -- **Проверка запуска контейнеров** с таймаутом 60 секунд — если контейнеры не запустились, выводятся логи и установка прерывается. -- **UFW** — автонастройка firewall-правил при обнаружении активного UFW. -- **Entware/OPKG** — корректная поддержка роутеров Keenetic с Entware (проверка `docker-compose` через `opkg`). -- **`docker-compose.local.yml`** — отдельный compose-файл для локальной разработки (без внешних зависимостей, с прямой привязкой к исходникам). - -#### `update-custom.sh` — обновление без перезаписи compose -Обновление с пересборкой образов из форка, **не трогая** `docker-compose.yml` пользователя: - -- Создаёт `docker-compose.custom.yml` как override-файл (Docker Compose merge). -- Бэкапит `.env` перед обновлением. -- Автофикс nginx-конфига: добавляет `X-Forwarded-Proto`, корректные таймауты (`connect 10s`, `send/read 650s`) и location `/bus/` если его нет. -- Проверяет учётные данные и заменяет дефолтные на безопасные. -- Проверяет наличие `RealiTLScanner` binary в контейнере после обновления. - -#### `delete-custom.sh` — удаление custom-установки -Полный скрипт удаления: - -- Остановка и удаление контейнеров (`3dp-frontend`, `3dp-backend`, `3dp-postgres`). -- Удаление образов (`3dp-manager-server`, `3dp-manager-client`). -- Удаление Docker volume (`3dp-manager_pg_data`). -- Удаление исходников (`/opt/3dp-manager-src`). -- Удаление Docker сети (`3dp-manager_app-network`). -- Опциональное удаление Hysteria 2: сервисы `hysteria-server.service`, `hysteria-server@.service`, конфиги `/etc/hysteria`, бинарник, пользователь, firewall-правила UFW. -- Очистка кэша Docker (`docker image prune -f`). - ---- - -### 2. Nginx (client/nginx.conf) - -- **Убран лишний server block на порту 3100** — больше не слушает порт 3100 напрямую (безопасность, нет смысла за NAT). -- **Добавлен `X-Forwarded-Proto $scheme`** — критично для корректного определения HTTPS в bus-ссылках и QR-кодах. Без этого при reverse proxy ссылки генерировались как `http://` даже при HTTPS-подключении. -- **Добавлены `X-Real-IP` и `X-Forwarded-For`** — для корректной передачи реального IP клиента на бэкенд. - ---- - -### 3. Клиентская часть (frontend) - -#### `copyToClipboard.ts` — утилита копирования -Новый файл. Универсальная функция копирования с fallback: - -- Использует `navigator.clipboard.writeText` когда доступен (HTTPS). -- **Fallback для HTTP:** создаёт невидимый `