Передача файла через QR
4pna transfer режет файл на поток QR-кадров - один телефон показывает их по очереди, второй ловит камерой. Каждый кадр защищён CRC32, итог проверяется SHA-256. Работает без интернета, без AirDrop, без Bluetooth.
Источник
Или текст в .txt
Приёмник
Прогресс: 0%. Не хватает: -
Как это работает
Заголовок HDR
Первый кадр содержит имя файла, размер, число кадров и SHA-256 готового файла.
Чанки D
Дальше идут пронумерованные base64-куски. Каждый защищён CRC32 - повреждённый отбрасывается.
Сборка
Приёмник копит чанки, выводит сетку прогресса и собирает файл при полном комплекте.
Проверка SHA
После сборки считается SHA-256 и сравнивается с заголовком. Несовпадение - предложение пересканировать.
Важно про номер кадра. В 4pna номер показывается отдельной строкой под QR кодом и продублирован в padding-зоне SVG. Он не наезжает на модули и не мешает сканированию - в отличие от старых версий с overlay-бейджем.