Decimen передаёт файлы через свет, а не через сеть
Передача данных между соседними устройствами обычно требует Wi-Fi, Bluetooth, кабеля или облачного хранилища. Однако проект Decimen предлагает необычную альтернативу: Decimen передача файлов через свет осуществляется с помощью экрана одного устройства и камеры другого. Сеть, учётная запись, сопряжение и отдельное приложение при этом не нужны.
Decimen Optical Transfer - это открытый веб-сервис, который преобразует выбранный файл в непрерывный поток анимированных QR-кодов. На устройстве-отправителе коды отображаются на экране, а смартфон или другой компьютер считывает их камерой и собирает исходные данные. Такой подход позволяет понять, как передать файлы между устройствами без интернета, прямого сетевого соединения и предварительной настройки каналов связи.
Работа с сервисом максимально проста. Пользователь открывает Decimen на обоих устройствах, выбирает режим Send на отправителе и указывает нужный файл. После этого на экране запускается анимация с QR-кодами. На принимающем устройстве следует включить режим Receive, предоставить браузеру доступ к камере и направить объектив на дисплей отправителя. Подробности о принципе работы и возможностях проекта представлены в материале о [передаче файлов через свет](https://linuxiac.com/decimen-lets-you-send-files-through-light-not-a-network/).
Для стабильного обмена разработчики советуют использовать ноутбук в качестве передатчика: увеличить яркость дисплея и расположить телефон так, чтобы QR-код занимал большую часть изображения с камеры. После получения достаточного количества кадров Decimen выполняет проверку целостности по SHA-256. Только после успешной верификации файл становится доступен для предварительного просмотра и сохранения.
Сервис поддерживает отдельные файлы размером до 64 МБ. Для текстовых фрагментов, вставляемых непосредственно в интерфейс, установлен предел в 4 МБ. Decimen сохраняет исходное имя и MIME-тип файла, а при необходимости применяет gzip-сжатие. Видеофайлы после получения можно воспроизводить прямо в браузере, не загружая дополнительное программное обеспечение.
Главная техническая особенность проекта связана не с QR-кодами как таковыми, а с методом кодирования. Decimen не отправляет строго пронумерованную последовательность изображений, каждое из которых необходимо считать в правильном порядке. Вместо этого применяется fountain coding на основе кодов Луби - Luby Transform.
Передатчик постоянно формирует новые закодированные кадры, а приёмник сохраняет любые успешно распознанные варианты. Их порядок не имеет значения: пропущенный кадр не приводит к повреждению файла, а лишь увеличивает время передачи. Для восстановления исходных данных обычно требуется около 115% от минимального количества кадров. Такой механизм особенно полезен при нестабильной фокусировке камеры, бликах или кратковременном перекрытии экрана.
Скорость Decimen значительно уступает Wi-Fi и проводным соединениям, но это не является его основной задачей. В экспериментах, проведённых разработчиками на телефонах, показатель достигал примерно 128 КБ/с, а демонстрационная передача на странице проекта показывала около 130 КБ/с. Для больших архивов это медленно, зато технология может оказаться полезной там, где подключение устройств к одной сети нежелательно или невозможно.
Именно поэтому Decimen представляет интерес для изолированных систем, временных рабочих мест, учебных стендов и ситуаций, в которых нельзя подключаться к неизвестной сети. Это необычный вариант, который можно рассматривать как сервис передачи файлов через QR-код онлайн, хотя фактическая передача происходит не через интернет, а посредством оптического канала между дисплеем и камерой.
После первого открытия веб-приложение способно работать без подключения к сети. Его также можно установить на Android и iOS в формате Progressive Web App. Пользователи, которым важно самостоятельно контролировать инфраструктуру, могут развернуть проект на собственном сервере. Репозиторий содержит команды для сборки тестовой и производственной версий, а также автономные страницы для отправки и приёма данных.
При этом Decimen нельзя считать полностью конфиденциальным инструментом. Сервис не шифрует передаваемые файлы. Любая камера, находящаяся в зоне видимости экрана, потенциально может записать тот же поток QR-кодов и восстановить содержимое. Иными словами, технология обеспечивает отсутствие сетевого соединения, но не защищает информацию от визуального наблюдения.
Для чувствительных документов перед использованием Decimen стоит применить отдельное шифрование - например, создать защищённый архив с паролем или воспользоваться средствами шифрования файлов. Это позволит совместить оптический канал с дополнительной защитой и повысить уровень безопасности. Таким образом, безопасная передача файлов между устройствами возможна только при условии, что конфиденциальность обеспечивается заранее, до преобразования данных в QR-поток.
Проект написан преимущественно на TypeScript и распространяется по лицензии MIT. Decimen можно попробовать через веб-интерфейс или установить самостоятельно, изучив код, документацию и инструкции по развёртыванию. В итоге решение вряд ли заменит обычную передачу по локальной сети, зато предлагает редкий сценарий обмена: без аккаунтов, кабелей, Bluetooth, облака и прямого сетевого маршрута.


