Если что-то не работает
Частые проблемы, их причины и решения. Команды выполняются на сервере Reefox Panel по SSH. Если не помогло — напишите в поддержку, что именно вы сделали и что увидели.
Сайт не открывается или браузер ругается на сертификат
Почти всегда причина в DNS.
-
Проверьте, что все DNS-серверы домена отдают IP сервера (раздел Сервер и домен).
-
Выпустите сертификат заново:
sudo certbot --nginx -d vpn.example.com --non-interactive --agree-tos -m you@example.com --redirect -
Проверьте:
curl -sS https://vpn.example.com/healthдолжен ответить{"status":"ok"...}.
Если сайт не отвечает совсем, проверьте, что приложение запущено: docker ps должна показать vpn-app, vpn-postgres и vpn-redis. Перезапуск приложения: docker restart vpn-app.
Бот не отвечает
Проверьте по порядку:
- Доступ к Telegram.
curl -m 10 -sS -o /dev/null -w '%{http_code}\n' https://api.telegram.orgдолжен вывести число. Если висит, хостер закрыл Telegram, и нужен другой сервер. - Техработы и лицензия. При включённых техработах бот отвечает текстом о них. При остановленной лицензии — «Сервис временно недоступен». Посмотрите плашку вверху админки.
- Токен не занят кем-то ещё. Если этот токен подключён к другому серверу или сервису, Telegram отдаёт сообщения только одному из них. Надёжнее всего выпустить в @BotFather новый токен и вставить его в Настройки → Telegram бот.
- Обязательный канал. Если бот не администратор канала, он никого не пропускает дальше.
- Логи.
docker logs vpn-app --tail 200покажет ошибку, если бот не запустился.
Код из Telegram не приходит
Относится к мастеру первой настройки и к смене пароля.
- Нажмите Start у своего основного бота с того аккаунта, чей Telegram ID указан.
- Запросите код ещё раз.
Если при установке ошиблись в токене бота или Telegram ID, исправьте их прямо в базе. Подставьте свои значения:
docker exec vpn-postgres psql -U vpn -d vpn_db -c "UPDATE settings SET value = '123456789' WHERE key = 'admin_tgid';"
docker exec vpn-postgres psql -U vpn -d vpn_db -c "UPDATE settings SET value = '1234567890:AAAA-ваш-токен' WHERE key = 'bot_token';"
docker exec vpn-redis redis-cli DEL settings:all
docker restart vpn-appЧерез минуту откройте админку и запросите код снова.
Забыли пароль администратора
Задайте новый пароль командами ниже. Вместо NewPassword-123 впишите свой: не короче 6 символов, латинские буквы, цифры, - или _.
HASH=$(docker exec vpn-app python -c "import bcrypt; print(bcrypt.hashpw(b'NewPassword-123', bcrypt.gensalt()).decode())")
docker exec vpn-postgres psql -U vpn -d vpn_db -c "UPDATE admins SET password_hash = '$HASH' WHERE username = 'admin';"Команда должна ответить UPDATE 1. Теперь войдите с логином admin и новым паролем. Потом очистите историю терминала командой history -c, чтобы пароль в ней не остался.
Клиент оплатил, а доступа нет
- Найдите платёж в Платежах по номеру вида
7K3F-9QMZили по клиенту. - Посмотрите статус:
- «Ждёт оплаты» — провайдер не сообщил об оплате. Проверьте, что адрес уведомлений прописан в кабинете провайдера (раздел Приём оплаты). Клиент может нажать «Я оплатил — проверить»: для YooKassa и Platega это перепроверит платёж сразу. CryptoBot засчитывается только по уведомлению.
- «Выдаём доступ» — деньги пришли, но VPN-серверы не ответили. Проверьте «Локации». Reefox Panel повторяет выдачу каждые 5 минут.
- «Нужна сверка» — сверьте платёж в кабинете провайдера. Если деньги есть, выдайте доступ вручную: карточка клиента → «Продлить доступ».
- «Счёт истёк» — клиент оплатил позже 15 минут. Такая оплата засчитывается, когда провайдер пришлёт уведомление. Если уведомлений нет, выдайте доступ вручную.
- У YooKassa проверьте ключи: при неверном секретном ключе уведомления не принимаются, а клиент видит «Способ оплаты временно недоступен».
У клиента не подключается VPN
- Локация работает? Посмотрите статус сервера на странице «Локации». Сервер «Оффлайн» временно пропадает из подписки.
- Подписка активна? Откройте карточку клиента.
- Приложение обновило подписку? Попросите клиента нажать в приложении «Обновить подписку» или добавить её заново из кабинета.
- «Превышен лимит устройств» в списке серверов — подключено больше устройств, чем разрешает пакет. Клиент может освободить место в кабинете, в разделе устройств, а вы — кнопкой «Отвязать» в его карточке. Или клиенту нужен пакет больше.
- «Клиент не передал HWID» — приложение не сообщает Reefox Panel, что это за устройство. Добавьте подписку кнопкой из кабинета, а не вручную, и обновите приложение.
- Поменяли настройки подключения в 3x-ui? Нажмите Ключи → Перевыпустить все.
Письма не приходят
- Посмотрите Настройки → Сайт → Доставка: там последние ошибки отправки.
- В режиме «Свой сервер» письма теряются, если хостер закрыл порт 25 или нет записей SPF, DKIM и PTR. Проще перейти на Yandex Postbox или Resend.
- Попросите клиента проверить папку «Спам».
Кнопка «Обновить» ничего не делает
Обновление запускает служебная служба на сервере. Проверьте её:
systemctl status vpn-host-cmdЕсли она не active (running), запустите её командой systemctl restart vpn-host-cmd. Обновление недоступно, пока лицензия не активна или идёт перенос сервера. Обновить можно и вручную, одной командой.
Сообщения о лицензии в админке
| Сообщение | Что делать |
|---|---|
| «Лицензия ещё не подтверждена: нет ответа от сервера лицензий» | Проверьте, что сервер выходит в интернет: curl -sS https://store.reefox.ru/health |
| «Давно нет связи с сервером лицензий» | То же. Без связи Reefox Panel работает 72 часа |
| «Ключ лицензии не принят сервером лицензий» | Ключ не тот или удалён. Возьмите ключ в боте лицензий, «🔑 Мои лицензии» |
| «Этот ключ уже работает на другом сервере» | Ключ занят другим сервером. Если вы переехали вручную, напишите в поддержку |
| «Лицензия истекла» | Оплатите в боте лицензий. Всё включится само в течение минуты |
| «Лицензия заблокирована» | Напишите в поддержку |
Закончилось место на диске
df -h /
du -sh /var/lib/docker/containers/*/*-json.log | sort -h | tail -5Если место съели логи контейнеров, очистите самый большой файл из вывода второй команды: truncate -s 0 путь_к_файлу. После обновлений на диске копятся ненужные слои образов, их убирает docker image prune -f. Не удаляйте тома Docker: в них ваша база данных.
Что прислать в поддержку
- домен и версию Reefox Panel (она видна в сообщениях бота об обновлениях);
- что вы делали и что увидели: текст ошибки или скриншот;
- вывод
docker logs vpn-app --tail 100, если проблема на сервере.
Не присылайте содержимое файла .env, пароли, ключи API и токены.