Кейсы и разборы
Живые разборы обновлений и багов.
Период 09–20.08.2026 — Remnawave 3.2.3/3.3.0, Bedolaga v4.1.0 (GeoCheck)
- Bedolaga Bot v3.45.0 пруф: уведомления о торрентах приходят пользователю; фиксы подписок (статус LIMITED, блокировка триального тарифа, стратегия сброса трафика, ценообразование классического режима, поддержка 100% скидки); webhook user.deleted переписан (деактивация всех подписок при удалении пользователя); восстановлен отсутствующий импорт. Cabinet v1.44.1: 100% скидка + race condition в Telegram Link Widget, sparkles в карточке триала пруф. Hotfix v3.45.1 пруф.
- Панель 2.7.0+: у кого-то ноды отвалились/xray не стартует пруф; у Alexy ноды не отвалились — обновил, ресетнул пруф; порядок обновления по совету «фсбшника»: сначала панель, потом ноды везде, потом бот, потом веб-кабинка пруф; обновление панели до 2.7.4: триал не выдаёт сквад — решение: «В тарифе протыкай сервера» + «на тарифе подарочек ткни» пруф; совместимость: 2.7.4 панель + 2.7.0 нода = легло; 2.7.3 панель + 2.7.0 нода работает, но ошибки сыпит пруф.
- Баг миграции бота:
❌ Ошибка синхронизации серверов error=ValueError('Server squad must be linked to at least one promo group')— свежая (после 8 марта), у трёх человек, мешает переносу бота пруф; пруф. Сзвучено @fringg. - Перенос бота (правильный сценарий от Роман
пруф): «сделать дамп бд на том сервере откуда переносишь, запустить отдельно контейнер с бд бота и восстановить дамп, а потом запустить все остальное». Ошибка
Locale directory is not writable ... configure LOCALES_PATH→chown -R 1000:1000 ./localesпруф. - Перенос сабки: подписку можно перенести (домен останется) пруф; перед переносом отключить старую сабку на сервере с ботом — иначе redis и контейнеры крутят трафик пруф; «после отключения и записи всё резко встало».
- Перевыпуск подписки (блок устройства в подписке) пруф: панель → найти пользователя → действия → перевыпуск подписки → полный перевыпуск; потом в админке бота синхронизация с панелью; период сохранится, ссылка поменяется, старая ссылка перестаёт работать. Альтернатива: ревок ключей пруф.
- Автопродление багов (Mr L.): пользователь может продлевать отключённый тариф по сниженной цене (58 вместо 89) — в
app/service/subscription_auto_purchase_service.py, функция_prepare_auto_extend_contextотсутствует проверка «активен ли тариф» пруф; автопродление пишет «Недостаточно средств» и всё равно продлевает пруф. - Цены автопродления: на тарифах — цены из тарифов; в классик — из env/конфигураций/цен в боте пруф.
- Кривая синхронизация трафика: «полная синхронизация из панели в бота не работает, точнее не обновляет лимит трафика» (фича: не перезаписывать в БД данные о лимите) пруф.
- Баг-репорт DEFAULT_TRAFFIC_RESET_STRATEGY игнорируется — при синхронизации всегда MONTH, хоть .env хоть кабина пруф — Egor: «кк» пруф.
- Webhook-глюки при миграции: бот не видит пополнение баланса — «у тебя обратное прокси не работает», платежка не достукивает по хуку пруф; статус OK есть, но баланс не видит; «нажал проверить статус и он увидел пополнение» пруф; после бэкапа куча ошибок на вебхук пруф.
- Сброс webhook: GET-ссылка в браузере с deletewebhook
пруф:
https://api.telegram.org/bot<<ТОКЕН_БОТА>>/setwebhook?url=https://<<ДОМЕН>>/webhook&ip_address=<<АЙПИ>>&secret_token=<<СЕКРЕТ>>пруф. - Кабина: кнопка «Заказать» не кликабельна вне белых списков пруф; админ панель «просто существует» пруф; не меняются параметры из кабинета (Режим меню, Кнопка подключения, Режим продаж) — править руками через env пруф.
- Кабина/бот payment methods: «Через кабинет - админ панель - платежные методы», настройки раздельные бот/кабинет пруф.
- Отчет админам «нолик» после перехода на тарифы (триал по старой схеме) пруф.
- Лимит юзернейма: бот создал пользователя с 38 знаками (ник_ид_суфикс), панель лимит 36 → не синхронится пруф; Егор: «ДА я пидорас виноват» пруф.
- РЕШАЛА v2.90 (Дмитрий, DonMatteoVPN): multi-rule eBPF шейпер трафика (EDT, до 32 правил, статика/динамика с burst+штрафом 0.5 МБ/с на 60с, L3, IPv6, 0% коллизий против tc+u32), настройка через меню reshala → [2] Шейпер трафика (wizard: номер правила 0..31, интерфейс, режим, порты, скорости); дока: DonMatteoVPN/Reshala-Remnawave-Bedolaga · Sheiper_trafik.md пруф. Перед созданием нового конфига шейпера удалить старый.
- Bedolaga обновления бота:
cd /opt/remnawave-bedolaga-telegram-bot && git pull origin main && docker compose down && docker compose up -d --build && docker compose logs -fпруф. - Remnawave: команды не отправляются без перезапуска панели пруф; «перезапусти remnawave» пруф.
- Иконки сеансов в Remna: зеленые — активные, желтые — недавно активные, красные — давно активные пруф.
- Ошибка «Настройка сохранена в БД, но не применена: значение задается через окружение key=PLATEGA_DISPLAY_NAME» пруф.
- env: MULTI_TARIFF_ENABLED / MAX_ACTIVE_SUBSCRIPTIONS — если нет в env, добавить самому пруф.
- env платежек юкассы:
YOOKASSA_SBP_ENABLED=true,YOOKASSA_RECURRENT_ENABLED=true,YOOKASSA_RECURRENT_REQUIRED=false(первое = рекуррентные списания) пруф; сбп включается и в интерфейсе юкассы (раздел выше «организации», где проценты по способам оплаты, запросить СБП) пруф. - Platega: PLATEGA_SECRET = API ключ из ЛК пруф; отображение имени в оплате — PLATEGA_DISPLAY_NAME.
- Webhook/env кабинета:
Webhook_url=miniapp.domain.com,Web_api_allowed_origins=cabinet.domain.comпруф. - Меню бота:
MAIN_MENU_MODE=default|cabinet(cabinet требует MINIAPP_CUSTOM_URL; алиасы text, text_only, minimal);CABINET_BUTTON_STYLE=(Bot API 9.4: primary синий / success зелёный / danger красный / пустое — дефолт);MENU_LAYOUT_ENABLED=true|falseпруф. При mode=cabinet все кнопки ведут в кабинет; родные кнопки сохранить нельзя — Яв оставил default и кнопку кабинет через BotFather пруф. Порядок: «Измени количество кнопок в ряду с 2 на 3» (настройки кнопок в админке кабинета) пруф. - Кабина: приветственный текст — «Через бота - админпанель - сообщения - приветственный текст» пруф.
- Баланс кнопка только ТГ Старс: платега/криптобот включаются отдельно для кабинета пруф.
- Фон бота: менять на сервере (файл) пруф.
- Email-регистрация без подтверждения = бесконечные левые аккаунты с 3 днями триала пруф; закрывать robots.txt от поисковика, стучаться к домену а не поддомену пруф.
- «Уведомления о подписке на канал не ворк — баг на телефонах» пруф; @PremiumEmojidBot, @GetEmojiIdBot для id эмодзи пруф.
- Кабина: ручные пополнения фильтровать в статистике (предложение G) пруф; RemnaCore (github.com/BEDOLAGA-DEV/RemnaCore) — модульная плагинная система в работе, гексагональный DDD на Go с wasm-плагинами пруф; «базу вы стартовали с команды, а все по мере необходимости через плагины подключали» пруф.
- Налогоавтоотчеты (чеки самозанятого): дока bedolagadev.mintlify.app/nalogo-setup и BEDOLAGA-DEV/docs · nalogo-setup.mdx; прокси для nalog.ru там же пруф; пароль кабинета самозанятого: service.nalog.ru/restore-password.html пруф.
- Telegram OIDC для кабинета: docs.bedolagam.ru/telegram-oidc; пример ссылки bot.example.com/telegram-login пруф.
- Мульти-тариф дока: docs.bedolagam.ru/multi-tariff пруф; подарочные подписки: docs.bedolagam.ru/gift-subscriptions пруф; docker deployment + обратный прокси: bedolagadev.mintlify.app/getting-started пруф.
- Ремна: правила роутинга regexp работают в ремне?? Вопрос: «ремна не поддерживает правила роутинга по regexp и exact domain matching?» — пример
{"type":"field","domain":["regexp:\\.ru$"],"outboundTag":"BLOCK"}работал в 3x-ui, в ремне не работал; ПРИЧИНА НАЙДЕНА: «был выключен sniffing почему-то... включил и заработало» пруф. В стоке vless tcp reality sniffing включен пруф. - Клиентский роутинг (Happ): настраиваешь geosite:category-ru direct — рф трафик идёт напрямую, остальное через прокси пруф; roscomvpn-маршрутизация в happ конфликтует с белыми списками — удалить/отредактировать пруф; конфликты: если у человека «в Великобритании» — клиенты запрашивают подписку через ваши сервера; правило: запрос подписки всегда напрямую пруф.
- Серверный роутинг в happ: передавать json и ставить на каждый хост отдельный роутинг; автоконфиг + специфичные (игры) пруф; Happ Announce — комментарий на всю подписку, не на сервер пруф; решение: комментарий к подписке пруф.
- Обратный прокси кабины: если IP бота меняется после рестарта — скрипт R4z пруф:
BOT_IP=$(docker inspect remnawave_bot | grep -A 1 "IPAddress" | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | head -1)
echo "Новый IP бота: $BOT_IP"
sudo sed -i "s|proxy_pass http://[0-9.]*:8080|proxy_pass http://$BOT_IP:8080|g" /etc/nginx/sites-available/cabinet
sudo nginx -t && sudo systemctl reload nginx- Бэкапы/дампы (боевые команды после бага) пруф:
docker exec remnawave_bot_db pg_dump -Fc -U remnawave_user remnawave_bot > backup_$(date +%Y%m%d_%H%M%S).dump
docker exec -i remnawave_bot_db pg_restore -U remnawave_user -d remnawave_bot --clean --if-exists < backup_XXXXXXXX_XXXXXX.dump«значение берите из POSTGRES_USER в env — у Егора в примере postgres, у многих remnawave_user» пруф; «не существует роли postgres» → исправить -U пруф. Архив бэкапа (.tar.gz) ≠ дамп; из архива можно вытащить БД напрямую пруф.
- Reshala/шейпинг: «пропиши top... в другом окне stress --cpu 1 --timeout 30» пруф; «надо у ноды ставить коэффициент использования в 0 чтобы трафик не учитывался» (на бс 1) пруф; «Учитывай если выжрут трафик на бс, то они не смогут к обычным коннектиться» пруф; «Отдельный тариф под бс, отдельный под дефолт» пруф.
- Хост vs нода: «хост это просто клиентское представление. хост ничем не управляет... ограничить можно на ноде, в настройках ноды» пруф; уровень тарифа/уровень в тарифе — порядок отображения, практически ни на что не влияет пруф.
- Спеки кабинета: 1/1/10 вопрос; Maks: «4/8 кабинет с ботом вместе» пруф; «для бота 1 ядро(3ггц) и 2 гб не хватило на обновление. Упирался на rendering chunks... апнул до 2 ядер» пруф; тариф YukiOff1cial для панели 2/4/20 пруф.
- Миграция панели/бота: 300 юзеров перенесены синхронизацией «Просто синхронизируешься из панели в бота» пруф; панель+бот не на одном сервере: «поставь панель, к ней уже крепи всё остальное» пруф.
- BedolagamNaPivoBot (меценаты): avoqz 22 222 RUB #1 пруф; Pr1zrachniy 500 RUB пруф; LarSonOff 500 RUB пруф; пуш-канал плейлист объявлений.