qrcp: передача файлов между Linux и мобильным устройством

qrcp упрощает обмен файлами между компьютером и смартфоном, не требуя общих облачных сервисов или сложных настроек. Утилита запускает временный веб‑сервер на интерфейсе Wi‑Fi, кодирует адрес и инструкцию в QR‑код и даёт приёмнику доступ к веб‑странице загрузки. Это делает её удобной, быстрой и кроссплатформенной.
Что такое qrcp?
qrcp — это небольшой CLI‑инструмент, который позволяет передавать файлы по локальной сети Wi‑Fi с помощью QR‑кода. Он работает на большинстве дистрибутивов Linux и совместим с Android и iOS на стороне приёмника. Кратко: вы запускаете команду на компьютере, терминал показывает QR‑код; смартфон сканирует его и загружает файл через браузер.
Определение термина: QR‑код — двухмерный штрихкод, содержащий URL с адресом и портом локального веб‑сервера qrcp.
Как qrcp работает — краткая модель
Ментальная модель: qrcp действует как временный веб‑сервер и менеджер сессии.
- На машине запускается HTTP/HTTPS сервер на выбранном IP и порту.
- qrcp кодирует адрес и инструкцию (send/receive) в QR‑код.
- Смартфон сканирует QR и открывает страницу загрузки/загрузки в браузере.
- После завершения передачи сервер по умолчанию завершается (можно держать живым).
Эта модель помогает понять, когда qrcp работает быстро (в одной подсети, без фаервола) и когда возможны проблемы (межсетевая изоляция, блокированные порты).
Установка qrcp на Linux
Скачайте релиз с GitHub Releases (страница релиза) и загрузите последний TAR.GZ‑архив в нужную папку.
Загрузка: qrcp
Откройте терминал и перейдите в каталог загрузки. Распакуйте архив:
tar -xf qrcp-*.tar.gzСкопируйте бинарник в /usr/local/bin:
sudo mv qrcp /usr/local/binСделайте исполняемым:
sudo chmod +x /usr/local/bin/qrcpПроверьте установку:
qrcp version
Если команда вернула номер версии — установка прошла успешно. Если нет, повторите шаги или проверьте права и путь.
Важно: для установки требуются права суперпользователя при перемещении в /usr/local/bin. Альтернатива — добавить бинарник в каталог пользователя и обновить PATH.
Как использовать qrcp — общая схема
qrcp поддерживает два основных сценария: отправка (computer → mobile) и приём (mobile → computer). В обоих случаях оба устройства должны быть в одной сети (обычно одна Wi‑Fi сеть).
Отправка файлов с Linux на телефон
- Подключитесь к Wi‑Fi (тот же роутер, что и телефон).
- В терминале выполните:
qrcp имя_файлаПример:
qrcp TextFile.txt
- На смартфоне откройте сканер QR (камера iPhone или Google Lens/сканер на Android).
- Сканируйте код, откройте ссылку и нажмите «Скачать»/«Сохранить» в браузере.
Поддерживаемые сценарии: один файл, несколько файлов, папка.
- Несколько файлов: qrcp автоматически создаст zip‑архив, если вы перечислите несколько файлов:
qrcp file1 file2 file3- Принудительная архивация одной сущности (zip):
qrcp --zip имя_файла_или_папки- Передача папки:
qrcp Documents- Оставить сервер запущенным, чтобы несколько устройств могли скачать файл:
qrcp --keep-alive файл_или_папкаСовет: если браузер смартфона не предлагает сохранить файл автоматически, выберите пункт «Скачать» вручную и следите за всплывающими разрешениями.
Приём файлов с телефона на Linux
- Убедитесь, что оба устройства в одной сети.
- В терминале выполните:
qrcp receive
- Сканируйте QR‑код телефоном. Откроется веб‑интерфейс qrcp, где нажмите «Choose Files»/«Выбрать файлы».
- Выберите файлы или папку и нажмите «Transfer»/«Передать».
По умолчанию qrcp сохраняет файлы в папку Desktop (рабочий стол). Чтобы указать другую папку, запустите:
qrcp receive --output=/путь/к/папкеПример:
qrcp receive --output=/home/ivan/DocumentsЕсли требуется изменить порт, интерфейс или схему (HTTP/HTTPS), изучите документацию на GitHub для параметров конфигурации.
Настройки, опции и конфигурация
Часто используемые опции:
- –keep-alive — удерживать сервер после первой загрузки; удобно для множественных получателей.
- –zip — принудительно заархивировать перед отправкой.
- –output — указать папку при приёме.
- –port — изменить порт (если стандартный порт занят или заблокирован).
- –iface — привязать сервер к конкретному сетевому интерфейсу.
Примечание: подробный список опций доступен в справке команды:
qrcp --helpПрактические советы и устранение проблем
Важно: qrcp использует локальную сеть. Если устройства в разных подсетях (гость Wi‑Fi, гостевая сеть) — обмен не сработает.
Типичные проблемы и их решения:
- Нет доступа к QR‑ссылке: проверьте, что смартфон и ПК подключены к одной сети.
- Браузер на телефоне не загружает файл: попробуйте другой браузер или откройте ссылку вручную.
- Порт занят: укажите другой порт через –port.
- Фаервол блокирует соединение: временно разрешите входящие соединения на выбранный порт или настройте правило для локальной сети.
- SELinux/AppArmor/Snap: если qrcp запускается из снэп‑пакета, проверьте ограничения confinement; при необходимости используйте бинарник в /usr/local/bin.
- IPv6 vs IPv4: если в сети активно IPv6, а смартфон использует IPv4 — принудительно привяжите интерфейс/адрес через –iface.
Шаги диагностики:
- ping с телефона на IP компьютера (если доступен).
- curl http://
: с другого устройства в сети. - netstat/ss для проверки прослушивающих портов на компьютере.
Когда qrcp не подходит
Примеры сценариев, где qrcp будет не лучшим выбором:
- Отсутствует общая сеть (например, вы хотите переслать файл через интернет между удалёнными пользователями).
- Ограниченная или изолированная корпоративная сеть с межсетевой фильтрацией.
- Требуется централизованное шифрование, аудит и журналирование для соответствия политике безопасности.
- Нужна автоматизация большого числа передаваемых файлов с восстановлением после сбоев (лучше rsync/scp по SSH).
В таких кейсах рассмотрите альтернативы в разделе ниже.
Альтернативы и когда их использовать
- Snapdrop — веб‑аналог для локальной передачи через браузер; не требует установки.
- KDE Connect — хорош для тесной интеграции телефона и рабочего стола (уведомления, буфер обмена).
- Warpinator — удобен в локальной сети, ориентирован на простоту и GUI.
- scp / rsync — при работе через SSH и при необходимости шифрования и автоматизации.
- Nextcloud / Syncthing — для синхронизации и хранения, когда нужны постоянные реплики и доступ из сети.
Выбор зависит от требований: одноразовый быстрый обмен — qrcp/Snapdrop; постоянная синхронизация или автоматизация — rsync/Nextcloud.
Мини‑методология: быстрый рабочий процесс (4 шага)
- Проверьте, что оба устройства в одной Wi‑Fi сети.
- Запустите qrcp (send/receive) и получите QR.
- Сканируйте QR и подтвердите передачу на телефоне.
- Проверьте целевую папку и завершите сессию (или используйте –keep-alive для повторных загрузок).
Mermaid‑диаграмма принятия решения:
flowchart TD
A[Нужно передать файл?] --> B{Оба устройства в одной сети?}
B -- Да --> C{Требуется шифрование и аудит?}
B -- Нет --> Z[Используйте облако/SSH]
C -- Нет --> D[Используйте qrcp]
C -- Да --> E[Используйте scp/rsync/HTTPS сервис]Чек‑лист по ролям
Для пользователя Linux (отправитель):
- Убедиться в подключении к той же Wi‑Fi сети.
- Проверить файл(ы) и права доступа.
- Запустить qrcp с нужными опциями (–zip, –keep-alive).
- Если нужно, менять порт и iface.
Для мобильного пользователя (приёмник или отправитель):
- Открыть камеру/сканер QR.
- Разрешить загрузку в браузере.
- Проверить, что выбранная папка приёма содержит файл после скачивания.
Критерии приёмки
Чтобы считать передачу успешной, проверьте:
- Файл скачан в указанную директорию.
- Размер и хэш (опционально) совпадают с исходным.
- Отсутствие повреждений при открытии файла на мобильном устройстве.
Простейшая проверка целостности: сравнить размер файла и, при необходимости, использовать md5sum/sha256sum на компьютере и сверить по значению, если это возможно.
Безопасность и приватность
Важно: qrcp открывает временный веб‑сервер в локальной сети. Рекомендации:
- Используйте qrcp только в доверенных сетях (дом, офис).
- Отключайте –keep-alive после завершения сессии, если вы не ожидаете дополнительных загрузок.
- При необходимости включайте HTTPS‑режим (см. GitHub, где описаны параметры для TLS).
- Удаляйте временные файлы и архивы после передачи при работе с конфиденциальными данными.
Приватность/GDPR: передача через локальную сеть не предполагает отправку данных третьим лицам, но всегда проверяйте политику безопасности сети, если работаете с персональными данными.
Примеры использования и сценарии
- Быстрая пересылка фото с компьютера на телефон перед показом на встрече.
- Передача отчёта клиенту, когда интернет ограничен, но есть локальная сеть.
- Копирование архива с ноутбука на телефон для офлайн‑просмотра.
Контрпример: если нужно передать файлы между удалёнными офисами через интернет, qrcp не подходит — используйте SSH или облачные сервисы.
Часто задаваемые вопросы
Нужен ли на телефоне специальный клиент?
Нет. На телефоне нужен только сканер QR‑кодов и браузер. Для Android подойдёт Google Lens или встроенный сканер; для iOS — камера.
Работает ли qrcp через мобильную точку доступа?
Да, если оба устройства подключены к одной сети (например, телефон раздал Wi‑Fi и компьютер подключился к этой точке). Обратите внимание на ограничения мобильного оператора.
Можно ли использовать qrcp в зашифрованном режиме?
Да, qrcp поддерживает HTTPS при настройке сертификатов. Подробности и примеры конфигурации доступны в репозитории на GitHub.
Резюме
qrcp — быстрый и простой инструмент для одноразового обмена файлами между Linux и мобильными устройствами через локальную сеть. Он удобен, когда не хочется устанавливать приложения на телефон и когда нужен быстрый обмен в пределах одной Wi‑Fi сети. При работе соблюдайте базовые меры безопасности: используйте доверенную сеть, отключайте –keep-alive и при необходимости включайте HTTPS.
Важно: если вы работаете в ограниченной или корпоративной сети, предварительно сверяйтесь с администраторами — возможны ограничения на межсетевую связь.
Короткий план действий: установить → запустить qrcp send/receive → сканировать QR → скачать/передать → завершить.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone