Безопасность токена туннеля¶
Токен — единственный секрет, который связывает ваш device_client с адресом
на платформе. Эта страница объясняет что произойдёт при утечке токена,
как работают новые инструменты защиты и как правильно ими пользоваться.
Что такое токен и почему он важен¶
При каждом старте device_client отправляет пару slug + token на прокси-сервер.
Прокси проверяет, что токен принадлежит этому slug, и разрешает соединение.
Токен — это не ключ от устройства. Соединение только исходящее: ваш клиент сам подключается к прокси. Прямого доступа к вашей машине через токен нет. Но тот, кто знает ваш токен, может:
- Поднять своё соединение под вашим
slug.dix.su - Вытолкнуть ваш
device_clientпока его нет - Получать входящий трафик на ваш адрес вместо вас — подменять контент, перехватывать формы, фишинговать от вашего имени
Поэтому токен нужно беречь как пароль.
Что появилось в личном кабинете¶
Отображение токена с маскировкой¶
Токен в разделе «Аккаунт» отображается в сокращённом виде:
••••••••a3f2. Кнопка Показать раскрывает полный токен — только когда
он вам действительно нужен (например, для настройки нового устройства).
Это защищает от случайных скриншотов и захвата экрана.
После нажатия ↺ Новый токен автоматически скрывается обратно.
Последнее подключение¶
Рядом с токеном показывается IP-адрес и время последнего подключения
device_client к прокси.
Проверяйте этот IP периодически. Незнакомый адрес — сигнал возможной утечки.
История подключений¶
В разделе «Аккаунт» → «История подключений» — таблица последних 20 сессий:
| IP | Время | Источник |
|---|---|---|
| 192.168.0.15 | 02.10.2026 14:22 | direct |
| 91.134.12.55 | 01.10.2026 03:11 | вытеснение |
Строки с меткой вытеснение означают: кто-то подключился с вашим токеном и вытолкнул предыдущее соединение. Если вы сами не переключали устройства — это признак утечки токена.
Email-уведомление при вытеснении¶
Если новое соединение вытесняет старое, платформа немедленно отправляет письмо на ваш аккаунтовый email:
⚠️ Только что к вашему туннелю
eskimos.dix.suподключилось новое устройство. Новый IP: 91.134.12.55 Если не вы — перевыпустите токен: [кнопка]
Письмо приходит всегда, на любом тарифе.
Вытеснение ≠ взлом устройства
Письмо означает только что кто-то подключился с вашим токеном. Ваше устройство и данные на нём при этом остаются недоступны для посторонних.
Ограничение по IP (allowlist)¶
В разделе «Аккаунт» → «Ограничение по IP» можно указать адреса, с которых
разрешено подключение вашего device_client. Все остальные — будут отклонены
ещё на уровне WebSocket-аутентификации, до любой обработки трафика.
Формат: по одному IP или CIDR на строку.
| Запись | Что разрешает |
|---|---|
1.2.3.4 |
Один конкретный IP |
192.168.0.0/24 |
Подсеть 192.168.0.1–254 |
10.0.0.0/8 |
Вся сеть 10.x.x.x |
Оставьте поле пустым — ограничений нет (поведение по умолчанию).
Когда это полезно
Если ваш device_client работает на сервере с фиксированным IP или
в домашней сети с статическим адресом — allowlist почти полностью
обесценивает утёкший токен: даже зная токен, злоумышленник не сможет
подключиться с постороннего адреса.
Не включайте allowlist если ваш IP часто меняется (мобильный интернет,
динамический DHCP у провайдера) — вы заблокируете собственный device_client.
Что делать при утечке токена¶
- Откройте Личный кабинет → Аккаунт
- Нажмите ↺ Новый рядом с токеном
- Подтвердите в диалоге
- Обновите токен на всех ваших устройствах:
- В файле
.env(если запускаете через Docker-стек) - В параметрах запуска
device_client(--token ВАШ_НОВЫЙ_ТОКЕН) - В сервисном файле systemd/OpenRC если настроен автозапуск
- Перезапустите
device_client
Старый токен перестаёт действовать немедленно после нажатия кнопки.
Где токены чаще всего утекают¶
| Место | Риск | Защита |
|---|---|---|
.env в публичном репозитории |
Высокий | .gitignore, шаблон .env.template |
История оболочки (~/.bash_history) |
Средний | Убрать токен из аргументов, вынести в env-переменную |
| Скриншот экрана ЛК | Низкий | Токен маскируется, кнопка «Показать» по явному запросу |
| Сценарий автозапуска с токеном | Средний | Ограничить права доступа к файлу (chmod 600) |
| Передача токена по незащищённым каналам | Высокий | Telegram, email — не лучший выбор; используйте зашифрованные менеджеры паролей |
Итого: какой уровень защиты выбрать¶
| Ситуация | Рекомендация |
|---|---|
| Домашний сервер/Raspberry Pi, статический LAN | IP allowlist на домашнюю подсеть |
| VPS с фиксированным IP | IP allowlist на конкретный IP VPS |
| Мобильное устройство / динамический IP | Только email-уведомления + регулярная проверка истории |
| Устройство физически за NAT | Достаточно email-уведомлений; LAN IP в allowlist не имеет смысла (выйдет на прокси с публичным IP провайдера) |