На странице
  1. База знаний
  2. Панели

Ошибки → фиксы

~150 разобранных поломок: миграции, вебхуки, кабинет, панель.

Пруфов: 524Обновлено 17.09.2026Исходник 32 мин чтения

Период 23.08–07.09.2025 — Bedolaga v2.0.x–2.2.x, Remnawave 2.1.x

  • postgres_db/Role "user"/Extra inputs → POSTGRES_DB/USER/PASSWORD верхний регистр пруф; no configuration file provided → нет compose пруф; Pool overlaps → сменить subnet пруф; Permission denied → chown -R 1000:1000 logs/data/locales пруф; Token is invalid → формат BOT_TOKEN=2143243:... пруф; порт занят → закомментировать *_WEBHOOK_PORT пруф; network declared as external → docker network connect remnawave-network remnawave_bot пруф, имя remnawave-bedolaga-telegram-bot_bot_network пруф; YooKassa подпись → YOOKASSA_WEBHOOK_SECRET= пустой + IP allow пруф; CryptoBot подпись → включить вебхуки пруф; Tribute+ЮKassa 8081 → одна сеть пруф; message thread not found → топики только для групп пруф; MULENPAY_SHOP_ID should be valid integer → закомментировать плейсхолдеры пруф; Redis Memory overcommit → sysctl vm.overcommit_memory=1 пруф; миграции 2.4.0 → ручной SQL пруф; бэкап duplicate key → синк PG sequences пруф; Mulen 502/greenlet → 2.4.3+2.5.6 пруф; Telegram webhook 401 → openssl rand -hex 32 → WEBHOOK_SECRET_TOKEN + deleteWebhook + make reload пруф; /health 401 → /health/unified пруф; make: docker: No such file → build-essential + compose v2 пруф; TRIAL 404 → включить «выдавать сквад для триала» пруф.

Период 12.11.2025–01.01.2026 — Bedolaga v2.7–2.9.4, Remnawave 2.3–2.4

  • inline keyboard button URL 'clash://install-config?url=...' is invalid: Unsupported URL protocol пруф: Telegram не поддерживает happ:// clash:// sub://; фикс HAPP_CRYPTOLINK_REDIRECT_TEMPLATE=https://miniapp.domain.com/redirect/?redirect_to= (файл в /miniapp/redirect/) пруф; SawGoD https://sawgod.github.io/redirect-page/?redirect_to=YOUR_URL + ?system& / ?theme=aurora& пруф.
  • can't parse entities: Unsupported start tag "b>" пруф: кривые <b> в промо — экранировать/HTML parse mode.
  • there is no text in the message to edit в медиа-рассылке пруф: нельзя edit_text медиа — патч edit_caption для фото/видео пруф; message is too long пруф — резать тикеты.
  • Error -3 connecting to redis:6379 / ❌ Доступ запрещен Stars пруф: REDIS_URL=redis://redis:6379/0, одна сеть.
  • chat not found пруф / message thread not found пруф: неверный ADMIN_NOTIFICATIONS_CHAT_ID/TOPIC_ID, @GetIDcnBot.
  • Cannot connect to host remnawave:3000 пруф: не та сеть — docker network connect remnawave_network.
  • GET /health 401 пруф: норма без токена; network already exists пруф — external: true.
  • 401 Cannot GET /api/nodes/usage/realtime / /api/bandwidth-stats/nodes/realtime пруф: бот новее панели — обновить Remnawave пруф.
  • 'usedTrafficBytes' / greenlet_spawn пруф: несовместимость — обновить Remnawave; git pull && make reload пруф.
  • Your local changes ... docker-compose.yml пруф: stash/скачать оригинал.
  • Permission denied: '/app/logs/bot.log' пруф: mkdir -p ./logs ./data && chmod 755 && chown 1000:1000.
  • ADMIN_REPORTS_TOPIC_ID ValidationError пруф: не копировать .env.example целиком.
  • YOOKASSA 403 Forbidden пруф: с 01.12 блок не-RU IP; белый список у ТП пруф; YOOKASSA_TRUSTED_PROXY_NETWORKS=172.20.0.0/16 пруф; is_yookassa_ip_allowed→return True + build пруф; PAYMENT_VERIFICATION_AUTO_CHECK_ENABLED=true пруф; рестарт после настройки пруф.
  • YOOKASSA_RETURN_URL — https://t.me/мойбот или https://domain.com/payment_success пруф.
  • MulenPay unexpected payload пруф: неверная урла; Platega description max length 64 пруф → обновой пруф; Выберите способ Platega пруф → >1 метода; Platega 4001 пруф → сменить method; CryptoBot 404 2.6.2 пруф → рестарт + не ставить placeholder, 401 → .rem серт пруф; Tribute 404 пруф → проксировать.
  • 502 dial tcp [::1]:8080 пруф → обновить бота; docker container restart remnawave-nginx пруф; listen http2 deprecated → http2 on; пруф; cannot load certificate пруф — volume сертов; events not allowed пруф; Failed to listen 9999 пруф; remnawave_bot exited 137 OOM bot.log удалить пруф; CF 522 → CPU/RAM/firewall, оранжевое облако off пруф.

Период 09.02–13.03.2026 — Bedolaga v3.9–3.32, Remnawave 2.6.x, Remnawave-admin 2.x

  • Invalid signature webhook — секрет панели != секрет бота пруф.
  • caption is too long в ENABLE_LOGO_MODE — send_message вместо send_photo (fix v3.17.0) пруф.
  • column users.google_id does not exist — ALTER TABLE ADD COLUMN google_id/yandex_id/discord_id/vk_id TEXT пруф.
  • Бесплатный→вечный тариф 2 рубля — внутри одного тарифа задавать периоды, триал отдельным тарифом пруф.
  • first_purchase_only бесконечно — fix v3.23.0 пруф.
  • Telegram бот не настроен — пересобрать из исходников, VITE вшит в бандл пруф.
  • Домены .xyz/.shop/.top/.lat/.org не пускают ТГ; работают .com/.net/.online/.pro пруф.
  • docker network connect bot_network remnawave_bot пруф.
  • ValidationError FREEKASSA_PAYMENT_SYSTEM_ID пустой — поставить число или закомментить пруф.

Период 16.03–06.04.2026 — Remnawave 2.7.x (breaking), Bedolaga v3.33–3.45

  • Remnawave 401 Caddy — перепутаны Authorization/X-Api-Key, фикс 3.33.0 пруф; 404 realtime/bandwidth-stats после 2.7.x → ласт бот пруф; ноды 0/xray → обновить+перезапустить ноды пруф; A039 FK → 3.38.0 пруф; username 36 лимит пруф; trafficLimitStrategy MONTH игнор пруф; триал сквад is_trial_eligible пруф; Hysteria2 SPAWN_ERROR → самоподписанный cert пруф; regexp без sniffing пруф.
  • Бот MissingGreenlet CLASSIC/новости → 3.33.0/3.43.1/eager load пруф; Pydantic integer env → закомментировать/нули пруф; миграция 0042 alembic stamp head пруф; ревизия 0053 alembic downgrade пруф; DNS sweb.ru → нормальный хостер + ip_address пруф; api.telegram.org webhook→polling+xray пруф; QueuePool 20/20 пруф; /app/locales chown 1000 пруф; backups zip UnicodeDecode пруф; автопродление отключённый тариф пруф.
  • Кабина oauth.telegram.org pending → Caddy прокси /deep link пруф; nginx host not found upstream пруф; 502 реверс-сеть 127.0.0.1 пруф; npm 35 TS builder prune --no-cache пруф; uploads 404/413 пруф; oauth yandex .com→.ru пруф; BotFather /login, /setdomain https пруф.

Период 06–25.04.2026 — Bedolaga v3.45–3.52, Remnawave-admin 2.9–2.11

Бот

  • could not identify an equality operator for type json (v3.46.x) — json→jsonb пруф:
ALTER TABLE users ALTER COLUMN notification_settings TYPE jsonb USING notification_settings::jsonb;
  • bad webhook: Failed to resolve host → А-запись прямо на сервер пруф; polling работает, вебхук нет пруф.
  • Кризис 15.04: вебхуки умерли, polling без платежей (трибут, звезды) пруф.
  • ТГ API timeout 10.04 (ру-хосты): PROXY_URL=socks5://... / extra_hosts 149.154.167.220 api.telegram.org пруф.
  • MissingGreenlet AuthMiddleware → REDIS_URL=redis://redis:6379/0 пруф. Missing API key health → WEB_API_TOKEN_HMAC_SECRET пруф.
  • TelegramBadRequest: chat not found → ADMIN_NOTIFICATIONS_CHAT_ID / юзер забанил бота пруф.
  • Бекап PermissionError → sudo chown -R 1000:1000 ./locales пруф.
  • Бот не отвечает в ЛС → вебхук/сертификат/реверс; tlsv1 unrecognised name → SSL/SNI пруф.
  • FreeKassa: магазин как сайт пруф; два вебхука через запятую пруф. Сквад не виден → «Назад» → синхронизировать сервера пруф.

Кабинет

  • Мини-апп повторный вход = бесконечная загрузка / мерцание дефолта → сессия/кэш пруф.
  • Один сервер кабинет+панель → порт 443 занят пруф; Windows Server не работает пруф.
  • Email Invalid verification token → https://мой домен/verify-email?token=<token> пруф.
  • Синхронизация панель→бот: Админка → Настройки → Ремна → Синхронизация пруф; без telegram id не синкает пруф.

Панель Remnawave / ноды

WARP wireguard ядра пруф

sudo apt install -y wireguard
systemctl enable --now wg-quick@warp
curl --interface warp https://api.ipify.org; echo
{"tag":"warp","protocol":"freedom","streamSettings":{"sockopt":{"tcpFastOpen":true,"interface":"warp"}}}

Период 25.04–15.05.2026 — Bedolaga v3.49–3.55, Cabinet 1.49–1.52

Развёртывание / env

  • Бот не стартует, требует кассы — «очередной узник .env.example»; решение: закомментировать кассы в .env и пересобрать; в доке бота есть минимальный .env пруф.
  • pydantic MULENPAY_SHOP_ID: Input should be a valid integer → 0 или закомментировать пруф.
  • Fast-start требует заполнения/комментирования: ADMIN_REPORTS_TOPIC_ID, MULENPAY_SHOP_ID, FREEKASSA_SHOP_ID, FREEKASSA_PAYMENT_SYSTEM_ID, KASSA_AI_SHOP_ID, SEVERPAY_MID, LOG_ROTATION_TOPIC_ID пруф.
  • Locale directory is not writable / PermissionError(13) running as UID:GID 1000:1000 — права на /app/locales (chown 1000:1000) пруф.
  • PermissionError: /app/data/backups при старте/после переноса — дать доступ на запись к папке пруф.
  • Бот не даёт логи и не реагирует — проблема запуска Docker пруф.
  • docker compose up -d без --build после правок env — пересборки нет пруф.
  • Диск заполняется при каждом обновлении → docker images prune пруф.
  • Cabinet не грузится без VPN (логин через Telegram) — отключить логин, оставить только через Telegram «автоматом» пруф.
  • Рег-ру: панель без VPN открывается только при отключённом проксировании Cloudflare (серое облако); «Клаудфлеер забанен в рф» пруф.
  • Caddy ACME отказ (NXDOMAIN) для cabinet.<домен>.strangled.net — DNS не резолвится пруф; freedns: wildcard не встанет, на xxxx.mooo.net сертификат встанет пруф; домен третьего уровня freedns — LE-сертификат не встанет пруф; Caddy дока: docs.rw/docs/install/reverse-proxies/caddy пруф.

Alembic / миграции БД

  • Can't locate revision identified by '0067' — миграция БД слетела, нужно исправить alembic пруф.
  • Multiple head revisions (пуллил dev + main) пруф:
docker exec -it remnawave_bot /app/.venv/bin/python3 -m alembic heads   # найти два головы
# удалить лишний dev-файл: 0075_create_tasks.py vs 0075_rebuild_apple_iap_ledgers.py
git fetch origin && git checkout main && git reset --hard origin/main
docker builder prune -a -f && docker compose down && docker compose build --no-cache && docker compose up -d && docker compose logs -f
  • При «column web_order_line_item_id does not exist»: ... -m alembic current → стамп на 0074 (не 0075) → upgrade head; лучше откатить вручную добавленную колонку, иначе миграция 0075 упадёт пруф.
  • «relation apple_notifications does not exist» → снова upgrade head; колонка и таблицы apple создаются из миграций, ручной ALTER TABLE — только как пинк.
  • Remnawave-admin миграции пруф: docker compose exec remnawave-admin-bot alembic upgrade heads + docker compose restart remnawave-admin-bot.
  • Ошибка восстановления бэкапа: asyncpg OutOfMemoryError: out of shared memory, HINT: increase max_locks_per_transaction (INSERT INTO admin_audit_log) — поднял лимит и всё прошло пруф.

Панель ↔ бот

  • external_squad_uuid' is an invalid keyword argument for Tariff пруф.
  • DeadlockDetectedError при удалении (v3.52.1): удаление юзера через ТГ-бот + webhook remnawave user.deleted почти одновременно — регрессия бага, фикшенного в v3.16.3 пруф:
asyncpg.exceptions.DeadlockDetectedError: deadlock detected
DETAIL: Process 574 waits for ShareLock on transaction 1190; blocked by 572...
  • IntegrityError от monitoring_service раз в час при подписке на канал; массовые действия в админке доступны группам без прав (проверка прав отсутствует); накат свежих версий бота+кабины+БД иногда чинит пруф. IntegrityError в user_service при создании юзеров — без фикса пруф.
  • MissingGreenlet (greenlet_spawn has not been called) — юзеры не могут изменить кол-во устройств; DEVICE_SELECTION_ENABLE включить — баг пропадает пруф.
  • AttributeError: User has no attribute preferred_location (статистика по странам в админ-подписках) — старая версия бота не имеет поля, обновить пруф.
  • RemnaWave API 400 «Username must be less than 36 characters» — бедолага сгенерил username 38 символов (didykmarin_email_didykmarin_703_49883b) пруф.
  • RemnaWave UUID не найден для пользователя после удаления истёкших подписок — юзер не создаётся заново в панели; лечится ручной синхронизацией из бота в панель пруф.
  • HWID-лимит в ремне не подтягивает устройства из тарифа бота — сделать синхру от бота в ремну пруф; лимит перезаписывается при покупке тарифа пруф.
  • Синхронизация панель→бот: создать юзера в ремне, в боте выбрать пользователя → «синхронизация из панели в бота»; желательно прописать ТГ id/email, иначе может не синхронить; особенность: uuid в БД бота пустой для импортированных пруф. Синхронизация из ремны в бедолагу переносит только сквад, юзеров без их действий в боте не переносит — верный путь править БД бедолаги (бекап обязателен) пруф. «Синхру из бота в панель» — да, работает пруф.
  • ClientConnectorSSLError app.external.remnawave_api после обновления пруф.
  • API Error 404 при AUTH_TYPE=basic_auth — неверный base API endpoint или несовместимая версия API; /api/auth/login пруф.
  • RemnaWaveAPIError: Request failed: panel.rutg.com/api/system/stats пруф.
  • Новая нода не отображается у юзеров: создать хост + внутренний сквад + обновить подписку; либо полная синхронизация бота с панелью пруф. Hysteria не отображается в подписке — проверить привязку инбаунда к ноде, включение хоста, добавление hysteria-профиля во внутренние сквады пруф.
  • После удаления подписки юзера в ремне + удаления юзера из бота новая подписка не создаётся — рестартнуть бота/пересинхронизировать пруф.
  • Нода горит зелёным, хост с профилем, кабинет показывает онлайн, интернета нет пруф.
  • Remnawave показывает нереальное количество людей в онлайне / «фейковый онлайн» — «онлайн больше, чем возможно по подпискам; 300 приведений на ноде, не добавленной в хосты»; проверь хост с burstObservatory / отдельного пользователя для графаны; «это не количество пользователей, а количество соединений» пруф.
  • Трафик пользователя в боте по нулям, синхронизация не обновляется (панель/happ корректны) пруф.
  • Request failed with status code 500 в панели, xray не запущен — игнорить до старта xray пруф; Failed to get Xray internal status ... connect ETIMEDOUT 127.0.0.1:61000 — до запуска xray нормально пруф.
  • Webpage access is not allowed by Remnawave's SRR пруф.

Webhook / платёжные интеграции бота

  • Бот не отвечает после обновления (polling работает, docker-развёртывание нет) — переменная WEBHOOK_IP в .env бота, добавлена с 3.50 пруф.
  • ЮKassa: тестовый api-ключ (test_…) не работает как платёжка (точнее работает, но баланс не пополняет) пруф; webhook URL не был указан в кабинете ЮKassa → платёж не доходил пруф; при переходе на URL для вебхука отдаёт 402 nginx — решить указанием webhook-эндпоинта в настройках ЮKassa пруф; failed(): failureReason=EXCEPTION_THROWN, host=seller.DOMAIN.TLD, httpCode=null — веб-сервер с вебхуками отвечает ошибкой пруф; вебхуки не доходят при чистом nginx (домен корректный с путём yookassa-webhook и https) пруф; таймауты с ру-сервера на Бегете пруф.
  • Platega: платёж проходит на сайте, счёт не пополняется — не установлен webhook на сервере пруф; webhook https://hooks.domain.com/platega-webhook, если не настроен — платежи остаются «ожидает оплаты» пруф; после оплаты редирект на https://example.com/... — не указана ссылка редиректа успешной оплаты или в .env неверный домен кабинета пруф; «в самом кабинете платеги вебхук стоит», поэтому в env не трогают пруф.
  • RollyPay: redirect_url: redirect URL must use http or https scheme, got "" status_code=400 пруф; фикс — залезть в remnawave-bedolaga-telegram-bot/app/services/payment/rollypay.py, там redirect_url, исправить на свой домен: redirect_url="домен" — «он не подтягивал данные из другого параметра» пруф; вебхук: проверить, что в env указана ссылка на вебхук по инструкции бедолаги, а также указать её в настройках кассы (callback URL) пруф; «прокси на клауде» — убрать Proxied-галочку и всё заработает пруф; ROLLYPAY_ENABLED=true, бот 3.54.0, кнопка пополнения не появляется, «Инициализация платёжных методов duration=0.0» — включить ролли в настройках кабины (платёжные методы) пруф; фикс подарков:
docker exec -u root remnawave_bot sed -i "s/if payment_method == 'rollypay':/if payment_method in ['rollypay', 'rollypay_sbp']:/g" /app/app/services/payment_service.py && docker restart remnawave_bot && echo "✅ Исправление применено, бот перезапущен!"

пруф

  • Lava: lava_service.py использует старый API — LAVA_BASE_URL=https://gate.lava.ru, домена не существует; верный https://api.lava.ru; эндпоинты /api/v2/invoice/create|status|services → Method not found, рабочие /business/invoice/create|status (только через Business-аккаунт) пруф; после фикса бота платежи проходят, но баланс не капает, вебхук Lava webhook: invalid signature пруф; фикс — файл /app/app/services/lava_service.py (замена), «подпись в теле, а не в заголовке» пруф; официальнo исправлено в Bot v3.55.0 (подпись embedded в JSON body, byte-identical с PHP SDK) пруф.
  • Wata: Failed to create Wata payment — неверный base_url, уточнять у менеджера пруф; «вату в кабинете включать отдельно» пруф; «Platega не отображается в мини-аппке, хотя включена в боте — нужно было включить» пруф.
  • FreeKassa: warning Freekassa webhook: недоверенный IP client_ip=172.30.0.9 — добавить IP платёжки в доверенные (вручную в .env) пруф.
  • PayPalych/Donut: Donut API error (200): Missing required parameter customer/phone пруф.
  • TG Stars рефанд-дыра: «отключить за звезды и ничего рефать не сможет» — юзер оплачивает подписку и рефает звезды, подписка остаётся активной пруф.
  • Платёж не дошёл до бота, операция висела в админ-панели — нажать «Проверить статус», деньги упали на баланс; причина зависания — вебхук пруф.
  • inline keyboard button URL '{{HAPP_CRYPT4_LINK}}' is invalid — бот подставляет литеральный плейсхолдер, если конфиг не выкачан из бота и не указан в .env пруф.

Кабинет (Cabinet)

  • RBAC: второй юзер из ADMIN_IDS не получает кнопку «Админка», /admin редиректит, GET /cabinet/auth/me/is-admin → 401 (Invalid or expired token) пруф: проверено — .env ADMIN_IDS верный, role_id=1 в БД, RBAC bootstrap отработал, JWT содержит "permissions": ["*:*"], в localStorage cabinet-auth.state.user нет полей is_admin/roles. Причина: юзера удалили через кабинет (Админка → Пользователи → Удалить), пересоздали через /start → новый user_id. Не помогло: рестарт, FLUSHALL Redis, DELETE FROM cabinet_refresh_tokens, чистка localStorage/cookies, OIDC. В боте у второго юзера админка при этом есть. Обход: залогиниться другим тг-юзером из списка админов — админка появилась пруф.
  • Админка видна с телефона/мака, но не с ноутбука (win-телеграм + браузер), /admin отдаёт страницу подписчика; чистка кеша/переустановка не помогли пруф.
  • Invalid or expired Telegram authentication data c логом Telegram initData accepted with stale auth_date (Telegram caching bug) age_hours=74.4 — перезапуск Caddy чинит; кнопка «назад» в miniapp не работает пруф.
  • Telegram OIDC 500: POST /api/cabinet/auth/telegram/oidc → 500, PyJWT InvalidKeyError: Not an RSA key (/app/app/cabinet/auth/telegram_auth.py:180) — код парсит все ключи JWKS как RSA, Telegram добавил ES256 (oidc-es256-1), EdDSA (oidc-eddsa-1), ES256K (oidc-es256k-1). Фикс — фильтровать if key.get("kty") == "RSA" пруф. Issue: github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot/issues/2942 пруф. Временная заплатка пруф:
cd /opt/remnawave-bedolaga-telegram-bot/app/cabinet/auth/
cp telegram_auth.py telegram_auth.py_bkp
# залить исправленный файл (фильтр kty == RSA)
docker compose up -d --build bot
# откат: вернуть файл из бэкапа + ребилд
  • JavaScript heap out of memory при npm run build кабины — не хватало RAM; решали пересборкой с большим лимитом памяти (Node 22) пруф.
  • Оферта на страницу отдаёт 422 (/admin/info-pages/create) — «название страницы» не задано/URL не заполнен; заглавные буквы убери в URL, лучше ничего не писать — проставится автоматом пруф.
  • «bot domain invalid» в кабинете пруф; redirect_uri required — Trusted Origins в botfather пруф; вход через ВК: «Ошибка загрузки», в запросах пустой access_token пруф.
  • Баг: в кабинете при добавлении канала ID канала нужно писать БЕЗ -100 (подсказка с -100XXXX неверная, даёт chat not found) пруф.
  • Промогруппы + Юкасса — бага кабинета: github.com/BEDOLAGA-DEV/bedolaga-cabinet/issues/422 пруф.
  • Скины/стили лендоса не применяются, флаги стран из телеги — чехарда на ПК пруф.
  • 2 UX-бага: логотип не отображается при первой загрузке (компонент не перерисовывается после /cabinet/branding/logo); смена языка требует F5 пруф; ошибка на вкладке подписок — пропадает после F5 пруф; обновлённый кабинет медленнее открывается, смена профиля в ТГ не обновляет ЛК, из веб-админки не выйти (кнопка назад), подсказки при каждом входе — Ctrl+Shift+R сброс кеша пруф; «промики лагают в кабинете после обновления (3 версии назад норм)» пруф.
  • В кабинете html-теги через редактор не вписываются — iframe мб пруф.
  • Регистрация в веб-версии через телеграм не работает / код не приходит — «это проблемы с тг, а не с кабиной» пруф; при .top-доменах кабина не присылает код, брать .net/.com пруф; «в оферте навсегда — это на 1 месяц» пруф.
  • Увеличение ГБ у тарифа в кабинете не подтягивается у уже купивших; в масс-действиях можно добавить трафик, но он посчитается как «докупленный», а не базовый — решение только через массовые действия пруф.
  • Массовое удаление юзеров падает на 200-400+ (0 успешно / 600 ошибок); фича-запрос: кнопка «Выбрать всех по фильтру» пруф.
  • Пользователь не видит промокод — пробовали снять галочку с домена (cookie/captcha) пруф.

Тарифы / логика бота

  • Смена тарифа НЕ работает при включённой мультиподписке: TARIFF_SWITCH_UPGRADE_ENABLED=true игнорируется пруф.
  • Переход тарифа некорректен: юзер с 100р-тарифа перешёл на 200р, доплатив 80р (формула должна быть (200-100)/30*осталось_дней); отключение — TARIFF_SWITCH_UPGRADE_ENABLED=False, TARIFF_SWITCH_DOWNGRADE_ENABLED=False пруф.
  • Покупка подписки = одна цена, продление = другая: при покупке тарифа бот считает «доп. устройства», поэтому по факту продление дороже пруф; «Bedolaga без кабинета: покупка выдаёт мои цены, при продлении другие и выше» — не решено пруф.
  • Первое триал-продление по «заоблачной цене»: приоритет у настроек тарифа, env-переменные триала применяются, если тариф не выбран → настроить триал-тариф или отключить автопродление пруф. Тестовая учётка, ни разу не заходившая по подписке, получила продление с «дикой ценой» пруф.
  • Триал: чтобы остаток триала не перетекал в платную подписку — скрыть триал (параметр в env, до 3.48 не работает); правильный подход — отдельный скрытый триал-тариф (не обрезка обычного: TRAFFIC_LIMIT не «вырастет») пруф. Пробный тариф: «Делаешь тариф для триала, скрываешь его и нажимаешь выдавать триал»; при мультитарифе продление после триала продлевает триальную подписку пруф; стоимость триала 0₽ → Invalid tariff period or pricing configuration, при 1₽ после истечения снова доступен пруф; цена 0 не срабатывает — работать через «вечный тариф» пруф; «сквады для выдачи триалов не настроены» — warning, в серверах триалу отключена выдача, включить пруф.
  • Автопродление: «если ты выключил автопродление глобально — это просто по умолчанию "автопродление выкл", но если у пользователя включено — будет продлеваться» пруф; списывает деньги за триал даже при «отключено» у юзера пруф; рекуррентов (авто-пополнений) в бедолаге нет, только вручную пруф; «Пользователь бесплатно продлевал подписку по СБП» — баг, вероятно из-за «продление через бот» пруф; суточная подписка списывается с задержкой 20 минут пруф.
  • Сброс трафика: «сбрасывать трафик при продлении» — в настройках тарифа есть «сброс трафика» пруф; «Настройки — подписки — трафик — стратегия сброса» пруф; сброс по дате создания появился в новой версии бота (пункт в тарифах) пруф; «В бедолаге нет такого значения переменной, но если ты в енв поставишь MONTH_ROLLING, то оно в ремну так и будет прилетать» пруф; MONTH_ROLLING работает от даты первого триала пруф; «сделал сброс-никогда и добавил обновление трафика после транзакции» пруф.
  • Мультитариф/мультиподписка: нельзя купить две одинаковые подписки («Все возможные тарифы уже куплены») пруф; баг мульти-тарифов на 3.49.0 пруф; при активном тарифе переход на другой «вслепую» — нельзя посмотреть цены (исправлено в кастоме) пруф; в мультиподписке при /start отображается одна подписка, а не две пруф; в мультитарифе второй тариф добавляется отдельной ссылкой пруф.
  • Девайсы: «кнопку уменьшить лимит устройств в кабинете для клиента можно отключить?» — в тарифе пруф; безлимитных устройств как «∞» нет — ставят 999/пишут 0, «в ближайшей обнове переработаю систему» пруф; «в ремне стоит лимит hwid 1, а в тарифе 5 устройств» — лимит перезапишется при покупке пруф; хак: у всех нод коэффициент 0 → показывает 5.55 GiB / 0 (безлимит) пруф; в «классике» цена доп-устройства считается от оставшихся дней подписки — 26000 дней → 8650р за устройство, «норм поведение» пруф.
  • Прочее: TRIAL/промо — промокод только на определённые тарифы не реализовано штатно, обход через внешний сквад пруф; при активации подарка по ссылке «Тариф недоступен», по промокоду работает пруф; колесо удачи — гигабайты уходят в никуда при безлимитном тарифе, «не доработано» пруф; скидка в лендинге максимум 99% пруф; «Тариф недоступен» при промовой группе; {{DAYS_LEFT}} — список шаблонов: Админка → Кастомные примечания пруф; не отображается последняя активность пользователей в кабинете/боте (3.52.1/1.49), полная синхронизация не помогает пруф; рассылки «скидка» уходят тем, у кого есть подписка (Legacy-подписки после перехода на мульти-тариф) пруф; логи рассылок: спам «юзер заблокировал бота», но не пишет, сколько успешно/неуспешно пруф; функционал удаления заблокировавших бота в кабинете есть пруф; баг рефералов: засчитываются 1-2 из 3х, «мб анти-арбуз система в енв» пруф; привязка реферала по email не работает пруф; комиссия рефералки 25% по дефолту — менять через админку/бота пруф; реф-ссылки: кабинет → маркетинг → кампании пруф; промопредложения: callback event_data=claim_discount_17, логи в кабинете — админка → промопредложения → логи, expired_discount_wave2 пруф; «ползунки у платеги зависли, всегда включены, в кабинете не появляется; обновил бот — та же тема» пруф.
  • Логи с различающимся временем (version_service, autopay_cooldown, redis saving) — баг с настройками времени, «версия предпоследняя» пруф.
  • TypeError app.utils.decorators пруф; Invalid response from push service в истории уведомлений пруф; missing localization key, папка локалей пустая — «Минимальная сумма для оплаты через Platega: 100 ₽» пруф; TelegramBadRequest: Bad Request: member not found (channel_subscription_service) — юзер не состоит в требуемой группе, фильтровать/игнорировать пруф; TelegramNetworkError: Request timeout error / спам Connection reset к api.telegram.org на РФ-серверах пруф; Bad Request: bad webhook: Failed to resolve host — DNS временно, чаще проходит само пруф; parse error: Invalid numeric literal at line 1, column 10 (сабка) пруф; KeyError tariff_label в preview expired_1d — /app/app/handlers/admin/monitoring.py, цена захардкожена из env (price=price_30_days), не берётся из тарифа, баг подтверждён пруф; пресеты сумм пополнения захардкожены в TopUpAmount как [100, 300, 500, 1000]₽ — фича-запрос на ENV/админ-настройку пруф; суточный тариф: докупка трафика подписывается «/мес» вместо «/период» — правится app/keyboards/inline.py (period_text) пруф; баг «сохранить» при валидном конфиге отдаёт ошибку пруф; favicon.ico — создать favicon (open() "/usr/share/nginx/html/favicon.ico" failed) пруф.

Sабка/домен панели

  • Смена домена панели: домен для сабки надо менять — всем юзерам придётся обновить ссылку; панель не связана с сабкой пруф. Поменял домен — в подписке у клиентов остаётся старый sub-домен пруф. «Одна ссылка навсегда: меняешь только IP адреса серверов» (DNS-балансировка) пруф.
  • Массовая смена короткого ID подписки → подписки переставали обновляться (500), база ремны падала; причина не найдена пруф.
  • После переезда у всех клиентов «тариф не указан»; массовое действие доступно только с тарифами пруф.
  • При переносе через rw-backup ключи клиентов не пересоздаются (нужно переносить отдельно) пруф.

Период 16.05–05.06.2026 — Bedolaga v3.56–3.58, Remnawave-admin 2.14

  • Lava webhook/подпись: переход на api.lava.ru, подпись в header пруф; старые base pay.lava.ru не работает пруф.
  • ЮKassa pending/timeout 30с — retry later пруф; падение бота на ЮKassa — фикс в ласт версии, прокси на ЮKassa пруф пруф пруф.
  • Telegram initData rejected too old age_hours=1294.6 пруф; OIDC без ответа после переезда домена — обновить бота до ласт пруф пруф.
  • Webhook не работает (polling only, Caddy): WEBHOOK_URL с протоколом, WEBHOOK_SECRET_TOKEN по инструкции пруф.
  • Remnawave External API для eGames: создать API-ключ в панели, открыть API пруф пруф wiki.egam.es/external-api
  • Марзбан→Remna: username нельзя менять, нужно поле ТГ ID, сквады синхронизировать пруф пруф пруф.
  • Баг hwidDeviceLimit=0 → 1 из-за or 1: фикс panel_user.get('hwidDeviceLimit') + if is not None else 1 в remnawave_service.py:1905/2026 пруф.
  • Кабина синхронизация ломает устройства (5→10 не применяется) — тариф Classic/Multi важен пруф пруф; пакеты трафика 0/100 в новом месяце — физически один счётчик пруф пруф пруф.
  • BroadcastResponse ValidationError (message_text NULL): UPDATE broadcast_history SET message_text='' WHERE message_text IS NULL пруф.
  • Кабина не прогружается в Telegram webview (кэш): версия в JS app.js?v=2.0 пруф пруф пруф.
  • Авторизация в кабине сломана после обновления — обновить бот+кабину до ласт пруф пруф.
  • Оплата Platega/YooKassa в кабине не появляется: /adddomain в ботфэтчер пруф пруф.
  • Триал тариф: «Сбросить триалы» сносит только истёкшие у неоплачивавших пруф.

Период 07–26.06.2026 — Bedolaga 3.60–3.61, Subscription-page 7.2.5/7.2.6

  • Цены не применяются: закомментировать прайс, rebuild пруф
  • Platega ReturnUrl invalid пруф
  • Permission /app/data/backups пруф
  • Бэкапы invalid block пруф
  • Cabinet 422 topup рассинхрон 10₽ vs 100₽ пруф
  • initData rejected 720h пруф
  • menu_profile_unavailable MINIAPP_CUSTOM_URL пруф
  • Метод не настроен → Платежные методы пруф
  • Reset Трафика всё равно пруф
  • Overpay orders/ → orders/preflight пруф
  • SMTP кириллица → латиница пруф
  • Tribute не зачисляет пруф
  • notification_settings.json игнорируется пруф
  • Продление не обновляет сквад пруф
  • Докупка MONTH_ROLLING пруф
  • SSRF axios.service.ts пруф — фикс 7.2.5
  • Кабинет токены пруф

Период 26.06–08.07.2026 — Remnawave 2.8.0, Bedolaga v3.61–3.62, Cabinet 1.59

  • 403 на CDN/сабке: старый шаблон сабпейджа под nginx уязвим — обновить сабпейдж и nginx пруф; Билайн/Яндекс 403 — включить кеш в настройках CDN пруф пруф
  • Happ-кнопка пропала (2.8.0): fallback happ://crypt5/... через HAPP API v2; обход happ://add/{{SUBSCRIPTION_LINK}} пруф пруф пруф
  • Кабинет не создаёт подписку при активном триале: did not produce a new primary key (v3.62.0/2.8.0/v1.59.0) — создать через бота Админка→пользователь→подписка→сменить тариф пруф
  • Cannot POST /api/system/tools/happ/encrypt 404 — обновиться 56→62 пруф
  • Подарок/промокод не активируется для зарегистрированных — активировать кодом GIFT- в кабинете пруф пруф
  • Деньги списались, не пришли на баланс — перезагрузка бота пруф
  • Кабинет не открывается из РФ — убрать оранжевое облако CF, сменить хостинг с hetzner/ovh пруф
  • Ошибка 502 Bad Gateway / Connection timed out на webhook — бот и remnawave в разных сетях пруф
  • Cannot connect to host remnawave:3000 — завести в одну docker-сеть пруф
  • Backup Permission denied /app/data/backups/... пруф
  • ENV→БД миграция: параметры в .env блокируют редактирование через кабинет пруф
  • Продление в админ-кабинете считается как новый платный пруф; автопродление не включается при ползунке пруф
  • docs.bedolagam.ru не открывается при ру-роутинге на .ru — убрать роутинг, актуально bedolagadev.mintlify.app пруф
  • Telegram OIDC: настраивать в миниаппе бота (BotFather→Bot Settings→Configure MiniApp), не через /setdomain пруф пруф пруф
  • WARP: tlsHandshakeTimeoutError wgcf — Cloudflare режет IP Nodehost; фикс временно выключить ipv6 sysctl -w net.ipv6.conf.all.disable_ipv6=1 пруф пруф пруф; контейнер не видит warp интерфейс — перевести в network_mode: host пруф

Период 08–20.07.2026 — Remnawave 2.8.1, Bedolaga v3.62–3.64, Cabinet 1.61

Bedolaga Bot

  1. Пользователь создаётся в Remnawave, но не добавляется в Internal Squad (connected_squads пустой) при Bedolaga 3.62.0 + Remnawave 2.8.0 → решение: в тарифе добавить сквады пруф.
  2. Битые автобэкапы (tar не распаковывается, «Ошибка чтения метаданных», zlib.error: invalid code lengths set): параллельный запуск бэкапа дважды пишет в один файл; началось после включения логов в бэкап. Фикс-схема:
    1. BACKUP_AUTO_ENABLED=false  + удалить битые архивы
    2. docker restart remnawave_bot
    3. BACKUP_AUTO_ENABLED=true
    либо просто убрать логи из бэкапа / не использовать бэкапы бота [id=840628, 841075|10.07.2026; 11.07.26.
  3. MissingGreenlet в app.services.daily_subscription_service (12.07.2026, у нескольких) — фиксировали обновой на 3.62.0; обход: «отключить дейли тарифы» пруф. Тот же SQLAlchemy MissingGreenlet: greenlet_spawn has not been called при вводе промокода — айка с багом промокода в боте 15.07.26.
  4. Lava return_url сломан обновой бота: в payload successUrl/failUrl уходит без https://. Фикс — строка 1001 в /opt/remnawave-bedolaga-telegram-bot/app/cabinet/routes 15.07.26:
    lava_return_url = f'https://{settings.CABINET_URL.rstrip("/")}/balance/top-up/result/lava'
    или вариант надёжнее:
    domain_cabinet = settings.CABINET_URL.replace("https://", "").replace("http://", "").strip("/")
    lava_return_url = f'https://{domain_cabinet}/balance/top-up/result/lava'
  5. Rich-меню не показывается: клиент не поддерживает новые rich-сообщения (Ayugram старой версии); после обновления сломалась совместимость с последним Ayugram на ПК, в официальном клиенте ок 13.07.26. Требование Bot API 10.1, на self-hosted старом сервере — автооткат на классику пруф.
  6. RICH меню падает с aiogram TelegramBadRequest: RICH_MESSAGE_DATE_INVALID, если у юзера подписка до 2030 и позже (до 2029 работает) 14.07.26; та же ошибка при отправке rich-меню фиксируется 20.07 пруф.
  7. Ошибки rich-фото: RICH_MESSAGE_PHOTO_NO_MEDIA_FOUND / RICH_MESSAGE_PHOTO_URL_INVALID — у одного бота рич работает, у другого нет при том же лого пруф. Премиум-эмодзи (tg-emoji/img) в rich-сообщениях рабочий бот игнорирует, на тестовом боте работает — просят фикс пруф.
  8. SMTP после обновления бота: SMTPServerDisconnected('Connection unexpectedly closed') в app.cabinet.services.email_service (smtp.login при has_extn('auth')); у части юзеров SMTP заработал сам — проверять порты/конфиг SMTP 13.07.26.
  9. TelegramBadRequest: TOPIC_CLOSED (aiogram) — бот шлёт уведомление в закрытый форум-топик; решение: включить общий топик / подписку на открытый 10.07.26.
  10. TelegramBadRequest: message can't be deleted for everyone при удалении webhook-уведомления в канале с алертами; тикет не даёт закрыть 16.07.26.
  11. Бот постоянно падает: Command failed: /command/s6-svc -wd -T 5000 -d /run/service/xray, s6-svlisten: fatal: timed out — из-за xhttp-нод; после смены на TCP отпустило 10.07.26. (См. также пруф: xhttp-ноды падают по очереди при CPU 100%.)
  12. «Бот не настроен» после переустановки при верных env — перезапустить контейнер после правок env 13.07.26.
  13. Ошибка соединения бота с панелью — KeyError('response') при недоступности/неверном ответе API панели (проверять URL/токен/доступность панели) 18.07.26:
    [warning] [app.external.remnawave_api] API connection test failed e=KeyError('response')
    remnawave_api.py:1819 test_api_connection -> api.get_system_stats()
    remnawave_api.py:1091 return response['response']  # KeyError: 'response'
    Related: ConnectionTimeoutError бот→панель на Eternity Cloud при открывающейся в браузере панели — пинговать, проверять конфиги 14.07.26.
  14. Маршрутизация roli://autorouting/... не применялась в клиенте — в конфиге надо добавить onadd/ 16.07.26.
  15. Конверсия триала в платную: создаётся новый юзер вместо смены тарифа (старое поведение вернули только частично, зависит от тарифа). Уточнение: триал на ту же подписку, которую потом покупает клиент — юзер остаётся старый; на другую подписку — новый юзер, старый отключается 13.07.26.
  16. Переезд на новый домен подписки + полная синхронизация Remnawave: у части юзеров после оплаты подписка не возвращается в платный squad (grace-access); у старых синхронизация подтянула будущую дату free-доступа — при покупке 30 дней бот посчитал это остатком триала и добавил bonus_period дважды (30 дней → 42); корень ищется 14.07.26.
  17. Методы оплаты в Bedolaga-боте выбираются в жёстком порядке, добавленном разработчиком — не в порядке из кабинета 16.07.26.
  18. Видео после /start в боте — вопрос открыт, ответа нет 20.07.26. Кастомный t.me в ссылке/QR кабинета не нашёлся — стартовая строка копируется и работает пруф.
  19. Промопредложения не отправляются по email (только по TGID) — PR-пожелание пруф.

Bedolaga Cabinet / web-админка

  1. Не стартует без IPv6 в ядре: скрипт проверяет /proc/net/if_inet6 и рассчитан на default.conf без listen [::]:80, но в образе bedolaga-cabinet строка listen [::]:80 захардкожена в default.conf при сборке образа — баг Dockerfile/конфига 14.07.26. (В 1.61.0 этот же unhealthy-контейнер чинили двойным фиксом listen [::]:80 + healthcheck на 127.0.0.1 пруф.)
  2. invalid or expired telegram authentication data: кабинет 1.61 + бот 3.64 (последние); чистка веб-кэша, чистка кэша, перезапуск Caddy не помогли; не массовая — 5–7 обращений за пару недель; решения в чанке нет 15.07.26. Вариант: рандомная та же ошибка, в логе initData rejected: too old age_hours=1487.8; обсуждается refresh tokens как решение без увеличения срока токена пруф.
  3. Пропала админка после обновления бота и кабинета — без решения в чанке 15.07.26.
  4. Happ-кнопка в кабинете: «Добавить подписку» в Safari/Apple не работала — фикс в файле openAppScheme.ts (полный код дословно) 16.07.26:
    /**
     * Launch a custom-scheme app deep link (happ://, v2rayng://, vless://, …) without
     * crashing the page inside in-app browsers.
     *
     * Why not `window.location.href = scheme`: a programmatic top-level navigation to a
     * scheme the WebView can't resolve renders a full-page error — on Android in-app
     * browsers (Telegram/Yandex/…) `net::ERR_UNKNOWN_URL_SCHEME`, on iOS it silently does
     * nothing — which destroys the fallback UI (Telegram bug #654272). A hidden <iframe>
     * navigation is contained: if the app is installed the OS intercepts it; if not, the
     * failure stays inside the (invisible) frame and our page — with its manual "Open app"
     * link — survives so the user can tap it (a real user gesture is the reliable trigger).
     *
     * http(s) links are normal navigations and are passed straight to location.href.
     */
    export function openAppScheme(url: string): void {
      const isHttp = /^https?:\/\//i.test(url);
      if (isHttp) {
        window.location.href = url;
        return;
      }
    
      //  ФИКС ДЛЯ APPLE (iOS / macOS / Safari)
      const isApple = /iPad|iPhone|iPod|MacIntel/i.test(navigator.userAgent);
      const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
    
      if (isApple || isSafari) {
        window.location.href = url;
        return;
      }
    
      //  КОД ДЛЯ ANDROID И ОСТАЛЬНЫХ
      try {
        const iframe = document.createElement('iframe');
        iframe.style.display = 'none';
        iframe.src = url;
        document.body.appendChild(iframe);
        window.setTimeout(() => {
          try {
            iframe.remove();
          } catch {
            /* already detached */
          }
        }, 2000);
      } catch {
        window.location.href = url;
      }
    }
    Контекст бага: в Safari на iOS нажатие «добавить подписку» в кабинете ничего не делает — ни Happ, ни Incy не открываются, в Chrome на том же устройстве ок; подтверждено с 3 устройств; кнопка вешает event на открытие нового окна со ссылкой happ://, в адресной строке Safari happ:// работает пруф. Отдельно: Happ не добавляет подписку через кабинет (добавление подписки через подприложение Happ не работает) — работать через бота 13.07.26.
  5. Веб-админка после обновы: «возврат на предыдущую вкладку странно работает» (баг UI); «Аналитика → Расход трафика» — пользователь с мультитарифом всегда отображается с одним названием тарифа, хотя показатели расхода по разным тарифам корректны 18.07.26.
  6. Триал выдаёт один из 4 сквадов — решение: закинуть все сквады в один пруф.
  7. Логотип: «Вместо моего лого пишется LOGO» — надо менять favicon/имя/контейнер; однозначного ответа нет 14.07.26.
  8. docs.bedolagam.ru лежал у нескольких юзеров 19.07.26.

Remnawave панель

  1. 2.8.0 — перестало показывать кол-во юзеров на нодах 14.07.26.
  2. 2.8.1 — в mihomo работают xhttp, но сломались обычные reality tcp 14.07.26.
  3. 2.7.0-нода → Яндекс CDN не работает; обновить ноду до 2.8.0 14.07.26.
  4. iOS + XHTTP 404: transport/internet/splithttp: unexpected status 404, failed to send upload: bad status code:404 Not Found (Reality работает). Причина — криво настроенная нода (голый xray наружу) после обновы ядра. Фикс на стороне панели: клонировать рабочий хост в панели, в дополнительных параметрах добавить / в конец path и проверить; прямое копирование JSON из Happ в INCY без клонирования хоста — не работает 19.07.26. То же в клиентском варианте: путь /static-bucket/v1 → добавить слэш в конец пути хоста → Incy заработал 16.07.26; вариант для INSI: путь с слэшем в конце /api/uploadFile/, та же проблема в seqPlacement в конфиге 18.07.26.
  5. Selectel как нода перестал подключаться к панели — «зафиксили кароч (запустилось)»; отдельная рекомендация: панель на RU не держать — «много причин не нужно панель в ру» 18.07.26.
  6. Лимит трафика только для БС-нод в Remnawave невозможен напрямую — обход: коэффициент 0 на не-БС нодах; но при исчерпании лимита доступ теряется и к безлимитным серверам (это лимит юзера, не ноды) 15.07.26. Альтернативы: считать трафик через API панели (костыли) пруф; прослойка, склеивающая две подписки в одну (https://t.me/fingerprint_qq/12) пруф; «костыль: мульти-тариф» пруф; схема Traffic Monitor (Python, опрос каждые 1–5 мин, юзер в двух сквадах MOBILE = глушилки / STANDARD = обычные, при исчерпании лимита убирать только из MOBILE) 16.07.26. Внимание: если линк на сабку не зашифрован, юзер подключится к БС-ноде напрямую и будет сосать трафик пруф.
  7. Балансировщик Remnawave (leastPing) «раскидывает по пингу» — для балансировки по нагрузке смотреть leastLoad в доках xtls (xray-балансировка) 11.07.26; сам балансировщик-по-пингу запрашивался как «очень важная тема» пруф.
  8. Рекуррентный баг Lava на каждой обнове бота 15.07.26.

Период 20–31.07.2026 — Bedolaga v3.66/3.67 + Cabinet 1.64 (рекурренты Platega/Lava)

3x-ui

  • 3.4.1→3.5.0: Apple-юзерам отвал VPN пруф; [Error] transport/internet/reality: REALITY: received real certificate (potential MITM or redirection) пруф.
  • 3.5.0/3.6.0 → отвал VPN; фикс: указать мин. версию xray в инбаунде; откат на 3.4.2 пруф.

Xray-Core 26.7.11

  • REALITY minClientVer: 26.3.27 валит старые клиенты (0 байт); фикс "minClientVer": "0.0.0" пруф.
  • XHTTP 403: mysite.ru/myfile.txt/?xpd=xxx — слеш режется CDN; фикс в 26.7.11 пруф.
  • finalmask не ставится на v26.7.28 → понизить до v26.7.11 пруф.

Bedolaga bot / кабинет

  • Баг мержа v3.67.0 (232719bb): при мерже telegram_id, email+password_hash и OAuth ID теряются если переносится баланс; причина populate_existing=True в with_for_update; фикс — flush до блокировки 30.07.26:
    # 4. Суммируем баланс
    await db.flush()   # зафиксировать присвоения из секций 1-3
    transferred_kopeks = secondary.balance_kopeks
    if transferred_kopeks != 0:
    PostgreSQL 15, SQLAlchemy 2.0.46.
  • Косяк импорта из панели: каждое нажатие «Импорт из панели» задваивает операции 30.07.26.
  • «недостаточно средств» при 100₽ — дробные числа пруф.
  • TelegramBadRequest: RICH_MESSAGE_PHOTO_NO_MEDIA_FOUND (rich_menu.py:510) 22.07.26.
  • Рекуррент Platega не учитывает докупленные устройства пруф.
  • psql FATAL: role "1" does not exist пруф.
  • «Как вернуть старые уведомления» — откатывать версию пруф.
  • Массовый перенос домена сабки — ручками или редирект пруф.
  • Фикс торрентов в Remnawave 25.07.26:
    { "protocol": [ "bittorrent" ], "outboundTag": "BLOCK" }
  • DNS: "dns": { "servers": [ "1.1.1.1", "8.8.8.8" ] } пруф.
  • Subpage на отдельный сервер от панели пруф; IP засветился под доменом сабки — новый IP и домен пруф.

CDN-панельные

  • Beeline «Применение настроек» бесконечно пруф; 403 билайн пруф; 403 на новых ресурсах, старые работают пруф; 403 за 10+ ГБ/час 18ч пруф; curl 403 нормально, 404 через nginx — отвал пруф.
  • Yandex CDN: новый хост не пингуется пруф; бан ресурса, не акка пруф; origin доменом — пересоздавать не нужно пруф.
  • VK CDN OPTIONS отключили — теперь GET пруф.
  • Caddy для Яндекс CDN «не завелось» пруф.
  • 504 на Beeline — пересоздать инвойс пруф.

Период 31.07–09.08.2026 — Remnawave 3.0.0 (ломающий), Bedolaga v4.0.0, Cabinet 1.65

Bedolaga-bot НЕ совместим с Remnawave 3.0 пруф

Ошибка: KeyError: 'uuid' в _parse_user. Бот падает на uuid юзера. Решение: ждать обновления бота до v4.0.0 либо откатывать панель до 2.8.1.

Миграция 2.8.1 → 3.0: один справочник таблиц пруф

APP_SECRET переименован; gzip удалён (настроить самому в nginx). bot/trafmon работают на числовых id.

Бот v3.67 + Remnawave < 3.0 пруф

Ошибка: ZodValidationException "Invalid uuid" на /api/users, /api/hwid/devices, /api/users/.../accessible-nodes. Причина: в ремне 3.0.0+ uuid заменены на id. Для ремня 3+ нужен бот 4+ и кабина 1.65+.

Техработы залипли пруф

После обновления панели/бота/кабинета «Включены технические работы» залипло → удалить ключ maintenance_status в Redis.

Grace-ошибки при миграции пруф

GraceSnapshotError: grace_access_sessions.remnawave_id must be a positive Remnawave user id, got None + RemnaWaveInvalidUserIdError: Invalid panel user id: None.

Backfill: ошибка модуля пруф

/app/.venv/bin/python: Error while finding module specification for 'scripts.backfill_remnawave_ids' — выполнить git pull origin main пруф.

Кабинет не обновляется (статика через Caddy) пруф

Если кабинет отдаётся через Caddy как статика — файлы нужно перекинуть и пересобрать; браузер кеширует.

«Нет информации о подключении» после обновления пруф

Пропущены пары строк при обновлении; решение: docs.rw/topic/354/4.

Вебхуки синхронизации Remnawave ↔ Bedolaga пруф

Без вебхуков изменения на панели не видны в боте: docs.bedolagam.ru/integrations.

mihomo + Remnawave 3.0 пруф

На 3.0 михомо не работает без minClientVer: "0.0.0"; исправления у михомо не будет; конфликт интересов xray и михомо. Строчка в конфиге возвращает старое поведение.

Re: Откат ноды на 2.8.0 безопасен пруф

Если сделан правильно — ошибки Xray не дропают; обратная совместимость есть пруф.

Период 09–20.08.2026 — Remnawave 3.2.3/3.3.0, Bedolaga v4.1.0 (GeoCheck)

Период 20–23.08.2026 — совместимость 2.8.x/3.2.2, GHCR, пин-борда

  • Client network socket disconnected before secure TLS connection was established (нода не поднимается / юзеры не коннектят) — причина: новая нода + старая панель 2.8.0. Фикс: в docker-compose принудительно указать старую версию ноды и пуллить; для панели 2.8.0 — нода v3.1.1 пруф, пруф. Тот же класс: панель 2.8.0 + latest нода → зафиксировать 3.2.2 в compose пруф.
  • Trial → Paid через бота не синхронизирует трафик (бот v3.67.0, Cabinet 1.64.0): тип подписки меняется, но в Remnawave остаётся стратегия сброса NO_RESET вместо ожидаемой MONTH_ROLLING. Фикс: через массовые действия повторно выдать подписку пруф.
  • Пропало всё после обновления Xray-ядра (зелёные операторы в VLESS-тесте стали жёлтыми, xray 26.7.11 beta) — фикс: откатить версию ядра на нодах; проверять совместимость нода↔панель (нода 3.3.0 не заведётся на панели 3.2.2) пруф.
  • Не приходят сообщения об обновлении бота: лог RemnaWave webhook: invalid signature http_method=POST http_path=/remnawave-webhook — чинить подписи вебхуков/токен (в кабинете инфо при этом есть) пруф.
  • Cabinet не показывает статус сети и информацию о подписке (мигает при перезагрузке): снос и переустановка кабины не помогают. Фикс (Vahi): обновить бот + кабинет + панель до последних, прописать скрипт из поста, обновить .env бота пруф.
  • Bedolaga-бот не реагирует на админа, хотя ADMIN_IDS=111222333 в .env, контейнер проброшен, токен верный, логи чистые, сервер не в РФ — решения в чанке нет пруф.
  • Смена домена бота: сам бот пашет, веб-кабинет открывается, но в Telegram кабинет не открывается (зона .top) — ответа в чанке нет пруф.
  • Happ не показывал serverDescription из панели (показывал vless tcp reality json) при подписке за ВК CDN — причина: ВК CDN не передаёт заголовок с ключом Happ. Фикс: добавить домен CDN в providerID (был забыт) — всё отобразилось пруф.
  • Happ вырубается на iOS на xhttp: включать No Limit Mode — либо вручную каждому юзеру, либо автоматом всем через Provider ID (платная фича) пруф.
  • Панель не обновляется выше 2.8.1 — зафиксировано как ограничение/симптом у части админов, решения в чанке нет пруф.
  • Remnawave-скрипт объединения подписок (сторонний): remnawave-subscription-middleware — прослойка объединения подписок + grace access пруф.