Передача данных через QR-коды — когда Wi-Fi недоступен
Помните мем про установку Windows через QR-коды? Казалось бы — шутка, но команда qifi-dev создала реально работающее решение для передачи любых данных через последовательность QR-кодов. Проект Qrs набирает популярность — уже 1.3k звёзд на GitHub.
Что это за «магия»?
Qrs использует алгоритм Luby Transform (разновидность Fountain Code) для разбиения данных на части и кодирования их в QR-коды. Принцип напоминает торренты:
- Данные делятся на блоки
- Генерируется множество QR-кодов (больше, чем исходных блоков)
- Для восстановления файла достаточно отсканировать достаточное количество кодов

Кому это нужно?
Необычный способ передачи пригодится в ситуациях:
- Офлайн-передача — между устройствами без общего подключения
- Ограниченные среды — где запрещены Bluetooth/Wi-Fi
- Резервное копирование — например, важные ключи на бумаге
- Образовательные цели — наглядная демонстрация работы кодирования
Как это работает технически?
Под капотом:
- Luby Transform — алгоритм из теории информации, устойчивый к потерям данных
- Прогрессивная декодировка — можно начать восстанавливать данные до получения всех кодов
- Автоматическое определение — система понимает, какие коды уже отсканированы
// Пример генерации кодов
import { encode } from '@qifi/generate';
const data = new Uint8Array([...]);
const qrStream = encode(data, { chunkSize: 100 });
Практическое применение
- CLI-версия — передача файлов через терминал
- Web-демо — живой пример
- Библиотеки — интеграция в свои проекты
Видео демонстрации:
Как попробовать?
Установка проста:
npm install -g pnpm
pnpm install
pnpm run dev
Qrs — не просто технический эксперимент, а практичное решение для специфичных сценариев передачи данных. Особенно рекомендую:
- Разработчикам, работающим с офлайн-сценариями
- Энтузиастам теории информации
- Всем, кому интересны нестандартные способы передачи данных
Проект активно развивается и ждёт ваших кейсов применения!
