detachbox
СтраницыАдреса превью

Адреса превью

Откройте то, что собрал агент, в браузере, проверьте на телефоне или отправьте клиенту. Для этого каждый сервер, который терминал запускает на 0.0.0.0, получает свой HTTPS-адрес: https://<port>-<terminal ID>.detachbox.dev. Сначала ссылки видны только вам, а порт вы делаете публичным, когда хотите им поделиться. Превью принадлежат своему терминалу: перезапуск они переживают, а заканчиваются, когда вы терминал завершаете.

Файлы и превью терминала на shipyard. Порты 3000 и 8080 со своими HTTPS-адресами на detachbox.dev, порт 3000 открыт всем. Отчёт о покрытии доступен по ссылке: 3 открытия, кнопка «Отозвать».

Откройте dev-сервер в браузере

  1. Запустите сервер на 0.0.0.0 на любом порту от 1024 до 65535.
  2. В панели терминала нажмите Файлы и превью. Блок Превью покажет порт и его ссылку.
npm run dev -- --host 0.0.0.0
python3 -m http.server 3000 --bind 0.0.0.0

HTTPS, вебсокеты и горячая перезагрузка работают через превью. Два терминала могут запустить серверы на одном и том же порту: каждый отвечает по адресу своего терминала. Общий AGENTS.md учит агентов правилу 0.0.0.0, поэтому они сами дают вам ссылку, когда сервер поднят.

Вашему dev-серверу не нужны настройки хоста

Сервер видит каждый запрос так, будто он пришёл из браузера на том же компьютере: в хосте стоит localhost:<port>, а origin и referrer ему соответствуют. allowedHosts в Vite, config.hosts в Rails, ALLOWED_HOSTS в Django и dev-origins в Next.js принимают такой запрос как есть.

Server-sent events и другие потоковые ответы проходят по мере поступления, а запрос может нести до 100 MiB, этого хватает для загрузки файлов в ваше приложение.

Посмотрите, что отдаёт терминал

Панель Превью на странице Файлы и превью терминала показывает каждый слушающий порт с программой, которая его слушает, ссылкой, кнопками копирования и открытия и QR-кодом. Порты она проверяет каждые 10 секунд.

  • Сервер на localhost или 127.0.0.1 получает предупреждение и зачёркнутую ссылку: превью до него не достанет, поэтому перезапустите его на 0.0.0.0.
  • Публичный порт, на котором ничего нет, остаётся в списке: его ссылка заработает, как только на этом порту снова запустится сервер.
  • Пока ничего не слушает, панель показывает команды для запуска сервера на 0.0.0.0, у каждой своя кнопка копирования.

Получите ссылку из терминала

detachbox-preview 3000 печатает адрес превью порта 3000, а detachbox-preview 3000 /admin добавляет путь. Если сервер слушает только localhost или порт пока никто не слушает, команда об этом предупредит. detachbox-open http://localhost:3000 открывает тот же адрес в вашем браузере.

Кто может открыть превью

Сначала ссылки приватные. Открыть их можете только вы, войдя в кабинет.

  • Первое открытие проходит через my.detachbox.com, чтобы убедиться, что это вы. После этого превью остаётся открытым в этом браузере 12 часов.
  • У каждого порта свой пропуск. Открытие одного порта никогда не открывает другой.
  • Приватное превью принимает запросы только от своих страниц. Чужой сайт не сможет запросить его, открыть его вебсокет или встроить его во фрейм, чтобы перехватить ваши клики.
  • Поисковикам сказано не индексировать ни одно превью, ни публичное, ни приватное.

Откройте превью на телефоне

Отсканируйте камерой телефона QR-код порта на странице Файлы и превью. С приватным портом телефон сначала войдёт в detachbox, а потом откроет страницу. Публичный порт открывается у любого, кто отсканирует код.

Поделитесь превью с клиентом

  1. На странице Файлы и превью терминала найдите порт в блоке Превью.
  2. В блоке Кто может открыть порт 3000 выберите Публичный.
  3. Прочитайте предупреждение в окне Сделать порт 3000 публичным? и нажмите Сделать публичным.
  4. Скопируйте ссылку и отправьте её или дайте клиенту отсканировать QR-код.

Теперь любой, у кого есть ссылка, видит то, что отдаёт порт, без входа, в том числе тот, кто скопировал её из чата, скриншота или истории браузера. Сделайте порт снова приватным в любой момент, и ссылка сразу закроется для всех остальных. Страница, которая уже открыта у кого-то, сохраняет живое соединение, пока её не перезагрузят.

У терминала может быть до 20 публичных портов. Публичный порт остаётся публичным и после перезапуска терминала.

Если превью не открывается

Страница пишетЧто делать
Это превью приватноеОно принадлежит другому аккаунту detachbox. Если терминал ваш, нажмите Войти в другой аккаунт
Этот терминал завершёнОткройте новый терминал и снова запустите сервер, чтобы получить новую ссылку
Эта ссылка на превью сломанаОткройте ссылку заново со страницы Файлы и превью терминала
Превью не открылосьНажмите Повторить; если не помогает, напишите в поддержку и укажите показанный ID запроса

Если ссылка открывается, но показывает ошибку, это отвечает ваш сервер: смотрите его лог в терминале.

Работайте с базой данных или другим TCP-портом

Адреса превью передают HTTP. Запускайте клиенты баз данных в терминале рядом с базой: psql, redis-cli, sqlite3 и клиент MariaDB уже установлены. Храните данные базы через bind mount в папке проекта, и они переживут терминал.