Представлен открытый проект Decimen Optical Transfer для передачи файлов между смартфонами через QR-коды
Разраб Bash Alarmist
выкатил в паблик проект Decimen Optical Transfer, утилиту, которая позволяет перекидывать файлы между смартфонами без Wi-Fi, Bluetooth и сотовых вышек, просто через экран и камеру. Файл на отправляющем устройстве нарезается на куски и крутится в виде бесконечной гифки из QR-кодов, а принимающий девайс просто смотрит на этот стрим через камеру и собирает исходник обратно. Передача данных идет буквально светом, из разрешений нужна только камера, а из зависимостей — любой браузер, так как внутри там обычный TypeScript и HTML под лицензией MIT.
Во-первых, это идеальный костыль для работы с изолированными контурами и "грязными" устройствами, куда стремнно втыкать флешку или цеплять их к общим сетям. Во-вторых, под капотом используется фонтанное кодирование (fountain codes), благодаря чему смартфону не нужно ловить каждый кадр по порядку: если камера пропустила пару QR-кодов из-за блика или тряски рук, избыточность протокола всё равно соберет файл без битых байтов. Автор утверждает, что в эксперименте с цветными сетками выжимал до 128 КБ/с, а текущий веб-прототип спокойно прожевывает конфиги и картинки от 512 КБ до 2 МБ.
Конечно, гигабайтные ISO-образы DistroWatch так не гоняют, но чтобы скинуть SSH-ключ, PGP-сигнатуру, зашифрованный конфиг или свежий шмат логов с устройства, которое принципиально не должно светить свой MAC-адрес в эфире, штука незаменимая. Приятно видеть, что идеи уровня txqr и libcimbar живы, развиваются и превращаются в удобный Open Source, который работает прямо из браузера без установки лишнего мусора.
Linux / Линукс 🥸