From d4f3a10d0d10646bda72db82e45a6a59623649d5 Mon Sep 17 00:00:00 2001 From: Cosmo Date: Wed, 1 Apr 2026 14:09:03 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20Marzban=20=E2=80=94=20=D0=BF=D0=BB?= =?UTF-8?q?=D0=B0=D0=BD=20=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D0=B9?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B5=20VPN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VPN/Marzban - план действий при блокировке.md | 219 ++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 VPN/Marzban - план действий при блокировке.md diff --git a/VPN/Marzban - план действий при блокировке.md b/VPN/Marzban - план действий при блокировке.md new file mode 100644 index 0000000..30eb9dc --- /dev/null +++ b/VPN/Marzban - план действий при блокировке.md @@ -0,0 +1,219 @@ +# Marzban — план действий при блокировке + +> Инфраструктура: VDS Рига `195.135.254.66`, панель `https://daniilvds.duckdns.org:2083/dashboard/` +> Логин: `admin` / `Marzban2026!` + +--- + +## 🚨 Быстрая смена порта + +### 1. Меняем порт в Marzban (xray конфиг) + +Через браузер: +``` +https://daniilvds.duckdns.org:2083/dashboard/ +→ Core Settings → Xray Config +→ Меняем "port": 8888 на новый (например 9443) +→ Save +``` + +Или через API (с любой машины): +```bash +TOKEN=$(curl -s -X POST https://daniilvds.duckdns.org:2083/api/admin/token \ + -d "username=admin&password=Marzban2026!" \ + -H "Content-Type: application/x-www-form-urlencoded" | python3 -c "import json,sys; print(json.load(sys.stdin)['access_token'])") + +# Получить текущий конфиг +curl -s https://daniilvds.duckdns.org:2083/api/core/config \ + -H "Authorization: Bearer $TOKEN" + +# Применить изменённый конфиг (меняешь port в JSON и применяешь) +curl -s -X PUT https://daniilvds.duckdns.org:2083/api/core/config \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/json" \ + -d '{ ... новый конфиг ... }' +``` + +### 2. Пробрасываем новый порт в Docker + +```bash +ssh root@195.135.254.66 + +# Редактируем compose +nano /opt/marzban/docker-compose.yml +# Меняем "8888:8888" → "9443:9443" + +cd /opt/marzban && docker compose up -d marzban +``` + +### 3. Обновляем ключи пользователям + +Ключи пользователей **обновляются автоматически** — порт меняется во всех ссылках. + +Заходишь в панель → выбираешь пользователя → копируешь новую ссылку → отправляешь. + +Или через API: +```bash +curl -s https://daniilvds.duckdns.org:2083/api/user/USERNAME \ + -H "Authorization: Bearer $TOKEN" +# В поле "links" будет актуальная ссылка с новым портом +``` + +--- + +## 👥 Управление пользователями + +### Создать пользователя +```bash +curl -s -X POST https://daniilvds.duckdns.org:2083/api/user \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/json" \ + -d '{ + "username": "vasya", + "proxies": {"vless": {}}, + "inbounds": {"VLESS_REALITY": []} + }' +``` + +### Получить ссылку пользователя +```bash +curl -s https://daniilvds.duckdns.org:2083/api/user/vasya \ + -H "Authorization: Bearer $TOKEN" | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['links'][0])" +``` + +### Удалить пользователя (отозвать доступ) +```bash +curl -s -X DELETE https://daniilvds.duckdns.org:2083/api/user/vasya \ + -H "Authorization: Bearer $TOKEN" +``` + +### Список всех пользователей +```bash +curl -s "https://daniilvds.duckdns.org:2083/api/users" \ + -H "Authorization: Bearer $TOKEN" | python3 -c "import json,sys; [print(u['username'], u['status']) for u in json.load(sys.stdin)['users']]" +``` + +--- + +## 🔌 Добавить новый протокол (inbound) + +Через **Core Settings → Xray Config** в панели добавляешь новый блок в `inbounds`. + +### Shadowsocks (простой, хорошо работает через мобильный) +```json +{ + "tag": "SHADOWSOCKS", + "listen": "0.0.0.0", + "port": 8388, + "protocol": "shadowsocks", + "settings": { + "clients": [], + "network": "tcp,udp" + } +} +``` + +### VLESS + WebSocket + TLS (обходит DPI через CDN/Cloudflare) +```json +{ + "tag": "VLESS_WS", + "listen": "0.0.0.0", + "port": 8889, + "protocol": "vless", + "settings": { + "clients": [], + "decryption": "none" + }, + "streamSettings": { + "network": "ws", + "security": "none", + "wsSettings": { + "path": "/vpn" + } + } +} +``` + +После добавления inbound — в настройках пользователя выбрать новый inbound. + +--- + +## ⚡ Устойчивые порты (реже блокируют) + +| Порт | Почему безопасен | +|------|-----------------| +| 443 | HTTPS — блокировка убьёт половину интернета | +| 80 | HTTP — аналогично | +| 2083 | cPanel SSL — используется хостингами | +| 2087 | cPanel — аналогично | +| 8443 | Альтернативный HTTPS | + +**Переехать на 443:** +1. Остановить Outline/shadowbox: `docker stop shadowbox` +2. Сменить порт Marzban на 443 (через панель + compose) + +--- + +## 🔄 Полезные команды на сервере + +```bash +ssh root@195.135.254.66 + +# Статус контейнеров +cd /opt/marzban && docker compose ps + +# Логи Marzban +docker logs marzban-marzban-1 --tail 50 + +# Логи Caddy (SSL) +docker logs marzban-caddy-1 --tail 20 + +# Перезапуск Marzban +docker compose restart marzban + +# Перезапуск всего стека +docker compose restart + +# Обновить образ Marzban +docker compose pull && docker compose up -d + +# Занятые порты +ss -tlnp | grep -E "8888|2053|443|80" +``` + +--- + +## 🔑 Reality — что делать если начали детектировать + +Reality маскируется под настоящий TLS-хендшейк к `www.microsoft.com`. Если заблокировали: + +1. Сменить `dest` на другой популярный сайт (например `www.google.com:443` или `www.apple.com:443`) +2. Сгенерировать новую пару ключей: + ```bash + docker exec marzban-marzban-1 xray x25519 + ``` +3. Обновить `privateKey`, `publicKey`, `shortIds` в Core Settings +4. Все пользователи получат новые ссылки автоматически (pubkey меняется в ссылке) + +--- + +## 📱 Приложения для клиентов + +| Платформа | Приложение | Ссылка | +|-----------|-----------|--------| +| iOS | Karing | https://apps.apple.com/app/karing/id6472431552 | +| Android | Hiddify | https://play.google.com/store/apps/details?id=app.hiddify.com | +| Windows | Hiddify | https://github.com/hiddify/hiddify-app/releases/latest | +| macOS | Hiddify | https://github.com/hiddify/hiddify-app/releases/latest | + +--- + +## 📋 Страница для раздачи ключей + +`https://vpn.digital-home.site/admin?key=mysecret2026` + +Вставляешь vless:// ссылку из Marzban → получаешь ссылку на 24 часа для друга. + +--- + +*Обновлено: 01.04.2026*