Перейти к содержимому

Привязать устройство

В этом руководстве показано, как привязать телефон к Control Center, чтобы читать сообщения и тикеты и отвечать откуда угодно. Тот же порядок действий привязывает второй браузер или приложение для компьютера. О том, как работает эта связь и какова её модель безопасности, см. Удалённое управление и мобильный клиент.

  • Подключённый к вашему серверу клиент для компьютера или веб-клиент и настроенное рабочее пространство. Операции привязки требуют полного клиента, поэтому привязанный телефон никогда не сможет привязать — или отозвать — другое устройство.
  • Сервер, доступный с того устройства, которое вы привязываете. В одной сети это работает само собой; извне трафик несёт брокер-реле. Если панель отвечает Недоступен вместо QR-кода или учётных данных, сначала опубликуйте путь — включите туннель в разделе Настройки → Сервер → Подключение и состояние (Открыть доступ к серверу) или задайте флаг --public-url сервера (см. Запустить headless-сервер).
  • Для телефона: устанавливать ничего не нужно. QR-код открывает веб-приложение Remote (remote.usectrl.dev по умолчанию).

Самостоятельный хостинг. Remote и брокер-реле — открытый исходный код в этом репозитории: приложение для телефона (apps/cc_remote, веб-PWA на Flutter, которую можно развернуть в Cloudflare Pages через её wrangler.jsonc, в nginx-образ docker/cc_remote или на любом статическом хосте с HTTPS — service workers и IndexedDB доступны только в защищённом контексте) и реле (apps/cc_signaling_server, единственный stateless-бинарник на Dart, который не хранит данных приложения и никогда не видит секрет сопряжения — оно пересылает только кадры, запечатанные сквозным шифрованием). Шаги сборки и запуска — в их README.

Откройте Настройки → Вы → Ваши устройства. Раздел Ваши устройства перечисляет клиентов, привязанных к вашей учётной записи на этом сервере. (Владелец сервера видит все устройства на сервере; все остальные — только свои.)

Нажмите Привязать новый клиент в заголовке страницы, задайте название (например, «Мой телефон»), выберите тип — Веб-браузер, Приложение для компьютера или Телефон — и нажмите Привязать.

  • Для телефона появится QR-код. Отсканируйте его камерой телефона или скопируйте ссылку и откройте её в любом браузере. Она направляет приложение Remote на ваш сервер и несёт учётные данные.
  • Для браузера или компьютера вместо этого скопируйте показанную ссылку (или ID устройства и ключ сопряжения) в новый клиент. Ссылка для привязки в одно нажатие предлагается, только когда вы привязываете из веб-клиента: у бинарника для компьютера нет веб-источника, из которого её можно построить.

QR-код для телефона и ссылка, которую команда cc_server pair --client-url выводит в CLI, — это разные полезные нагрузки, и они не взаимозаменяемы: ссылка из CLI заполняет форму подключения веб-клиента, а этот QR-код несёт полный дескриптор подключения и отпечаток идентичности сервера для PWA Remote.

На стороне телефона открытие ссылки для привязки не привязывает устройство молча. Remote показывает объявленное имя сервера и просит подтвердить, прежде чем что-либо сохранить, поэтому подделанная ссылка не может увести приложение на чужой сервер.

Из раздела Настройки → Вы → Ваши устройства вы можете:

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

Отзыв — верный шаг для потерянного или заменённого телефона. Он мгновенный и, с точки зрения устройства, необратимый.

Учётные данные, выпущенные с этой панели, ограничены по времени: они истекают через 30 дней после выпуска, и после этого барьер подключения отклоняет их. Учётные данные, выпущенные командой cc_server pair в командной строке, не имеют срока действия вообще — отзовите их вручную, когда машина, для которой они предназначались, выводится из эксплуатации.

Переключение рабочих пространств с телефона

Заголовок раздела «Переключение рабочих пространств с телефона»

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

Кроме того, сессия телефона ограничена небольшим списком разрешённых инструментов, преимущественно читающих: она может перечислять и читать тикеты, агентов, пространства, сообщения и статьи ленты, а также обновлять или назначать тикет, отправлять сообщение в пространстве и отмечать статью прочитанной или сохранённой. Всё, что выходит за пределы этого набора, отклоняется до того, как достигнет диспетчера сервера.