Дополнительные слаги (мультислаговость)¶
Один аккаунт — несколько независимых туннелей. Каждый дополнительный слаг работает как отдельное устройство со своим адресом и токеном.
Что такое дополнительный слаг?¶
По умолчанию у каждого пользователя один слаг — например eskimos. Он же
адрес туннеля: eskimos.dix.su.
Дополнительные слаги позволяют запускать несколько туннелей под одним аккаунтом. Например:
| Слаг | Что слушает |
|---|---|
eskimos (основной) |
Django-магазин :8000 |
eskimos-git |
Forgejo :3000 |
eskimos-dev |
Тестовая среда :5000 |
Каждый слаг — независимый device_client со своим токеном, своим сервисом
и своими TCP-портами.
Правила именования¶
Дополнительный слаг обязан начинаться с основного слага, за которым следует дефис и произвольный суффикс:
Примеры при основном слаге eskimos:
| ✅ Допустимо | ❌ Недопустимо |
|---|---|
eskimos-git |
git-eskimos (не начинается с основного) |
eskimos-shop |
eskimos_shop (нижнее подчёркивание) |
eskimos-dev2 |
eskimos- (нет суффикса) |
eskimos-123 |
eskimos (это уже основной слаг) |
Суффикс — только строчные буквы a-z, цифры 0-9 и дефис -.
Не может начинаться или заканчиваться дефисом. Максимальная длина слага — 63 символа.
Лимиты по тарифу¶
| Тариф | Дополнительных слагов |
|---|---|
| SIMPLE / VIP | 0 (недоступно) |
| PRO | до 2 |
| PERS / GLAVA | без ограничений |
Как создать дополнительный слаг¶
- Откройте Личный кабинет → Туннель.
- Прокрутите до карточки «Дополнительные слаги».
- В поле «Слаг» введите желаемый адрес (например
eskimos-git). - Укажите понятное название (необязательно):
Forgejo. - Нажмите Создать.
Сразу после создания вы увидите токен нового слага — скопируйте его.
Как запустить device_client для дополнительного слага¶
Используйте отдельный .env с токеном нового слага:
DIXSU_SLUG=eskimos-git
DIXSU_TOKEN=<токен из личного кабинета>
DIXSU_PORT=3000 # порт вашего сервиса
Запустите device_client как обычно — он зарегистрируется как eskimos-git.dix.su.
Docker-стек:
git clone https://gitlab.com/dixsu/market/dixsu-test
cp .env.example .env
# Заполните DIXSU_SLUG=eskimos-git, DIXSU_TOKEN=...
docker compose up -d
Удаление¶
Нажмите «Удалить» напротив нужного слага в карточке. Основной слаг нельзя удалить, пока существуют дополнительные.
При удалении device_client с этим слагом немедленно теряет соединение —
перезапускать его не нужно, просто остановите сервис.
Технические детали¶
- Каждый дополнительный слаг хранится в таблице
user_slugsсо своимtoken. - Аутентификация в прокси (
dixu_proxy) проверяет сначалаusers, затемuser_slugs. - DeviceRegistry уже поддерживает произвольное количество
slug → channel_pid— изменений в прокси не требуется. - TCP-порты (SSH :2222, RDP :3389 и т.д.) работают для каждого слага независимо.