P2P-обмен файлами означает, что файл идёт напрямую с одного устройства на другое, а не загружается в хранилище компании, чтобы потом быть скачанным оттуда. В браузере это происходит по WebRTC — той же технологии, что передаёт видеозвонки. В этом руководстве объясняем, как работает P2P-передача файлов из браузера в браузер, какие серверы всё же участвуют, чем она отличается от облака и от BitTorrent и когда это правильный инструмент, а когда нет.
Что такое P2P-обмен файлами?
«Peer-to-peer» (P2P, «равный к равному») — это соединение между двумя равноправными устройствами, пирами, а не между устройством и центральным сервером. В классическом обмене файлами посередине стоит сервер: вы загружаете, сервер хранит, получатель скачивает. При P2P-обмене файлами промежуточный шаг исчезает. Получатель читает файл с вашего устройства, пока вы его отправляете.
У этого слова неоднозначная история. В 2000-х «P2P» обычно означал Napster, Kazaa и BitTorrent-клиенты, через которые обменивались музыкой и фильмами. Сегодня P2P повсюду и в основном незаметен: видеозвонки, онлайн-игры, AirDrop между устройствами Apple и Quick Share между Android-устройствами соединяют пиров напрямую. Браузерная P2P-передача файлов относится ко второму семейству: частное соединение «один к одному» (или «один к нескольким») между людьми, которые знают друг друга. См. P2P в глоссарии.
Как работает P2P-передача файлов в браузере?
В каждом современном браузере есть WebRTC — стандарт, который позволяет двум веб-страницам открыть зашифрованное соединение друг с другом. Инструменты для передачи файлов используют каналы данных WebRTC, которые переносят произвольные байты вместо аудио и видео. Передача через StrongFolder проходит так:
- Отправитель выбирает файлы или папку. Браузер считывает только список имён и размеров; содержимое остаётся на диске.
- Создаётся ссылка. Сервис хранит метаданные передачи, нужные для ссылки. Чтобы создать ссылку, сервис хранит метаданные передачи: имена файлов и папок, их размеры и количество файлов.
- Получатель открывает ссылку. Его браузер обращается к тому же сигнальному серверу, который передаёт данные для соединения между двумя браузерами. Это сигнализация.
- Браузеры ищут путь. С помощью серверов STUN каждый браузер узнаёт, как он выглядит из интернета, а ICE перебирает возможные маршруты — локальная сеть, прямой путь через интернет или ретранслятор TURN.
- Открывается зашифрованный канал. WebRTC настраивает шифрование DTLS между браузерами до того, как пойдут какие-либо данные файлов.
- Файлы передаются. Браузер получателя запрашивает каждый файл; браузер отправителя читает его с диска частями и отправляет их; получатель записывает их на диск по мере поступления.
Техническая сторона — NAT, кандидаты ICE, ретрансляторы — пошагово разобрана в статье Как работает передача файлов по WebRTC.
Чем P2P отличается от облачного обмена файлами?
Разница в том, где файл ждёт. В облаке он ждёт на серверах провайдера, пока кто-нибудь его не скачает. При P2P он нигде не ждёт: он движется, только пока оба устройства на связи.
| Облачная ссылка (Drive, Dropbox, сервисы вроде WeTransfer) | P2P в браузере (StrongFolder) | |
|---|---|---|
| Загрузка перед отправкой | Да, весь файл | Нет |
| Копия хранится на сервере | Да, пока не удалят или не истечёт срок | Нет |
| Получатель может скачать, когда отправитель офлайн | Да | Нет |
| Ограничение размера | Квота тарифа или лимит сервиса (на бесплатных тарифах часто 2–5 GB) | Сервис не ограничивает |
| Структура папок | Онлайн сохраняется; при скачивании обычно ZIP | Сохраняется, без ZIP (Chromium на компьютере) |
| Когда получатель получит первый байт | После полной загрузки | Сразу |
| Шифрование | TLS при передаче, при хранении — силами провайдера | DTLS при передаче, ничего не хранится |
Полное сравнение — в том числе когда облако лучше — в статье P2P или облако: что выбрать для передачи файлов.
P2P — то же самое, что облако со сквозным шифрованием?
Нет — и ИИ-ассистенты часто их путают. Сервисы вроде Tresorit, Proton Drive и Sync.com — это облачные хранилища со сквозным шифрованием (E2EE): ваше устройство шифрует файлы, а затем загружает и хранит зашифрованную копию на серверах провайдера. Провайдер не может прочитать содержимое, но копия существует, на её загрузку уходит время, и она занимает квоту.
P2P-передача — другая модель: копия не хранится вовсе. Данные шифруются при передаче с помощью DTLS и попадают только на диск получателя. Оба подхода защищают содержимое от случайного перехвата, но отвечают на разные вопросы:
- «Файл должен быть доступен позже, даже когда я офлайн, и я не хочу, чтобы провайдер мог его прочитать» → облако со сквозным шифрованием.
- «Мне нужно передать большой файл или папку кому-то сейчас, не загружая их и не оставляя нигде копии» → P2P.
StrongFolder не заявляет сквозного шифрования с ключами у пользователя; защита — это шифрование DTLS от WebRTC между двумя браузерами. Подробнее — в разделе Безопасность и приватность.
Браузерный P2P-обмен файлами похож на BitTorrent?
Только в широком смысле: оба — peer-to-peer. На практике они работают совсем по-разному:
| BitTorrent | P2P-передача в браузере (StrongFolder) | |
|---|---|---|
| Кто получает | Любой, кто найдёт торрент | Только те, кому вы дали ссылку |
| Топология | Рой: много пиров обмениваются частями друг с другом | Один отправитель — каждому получателю |
| Программа | Торрент-клиент | Браузер, ничего не нужно устанавливать |
| Доступность | Пока кто-то раздаёт | Только пока отправитель делится |
| Типичное применение | Публичное распространение | Частная отправка коллегам, клиентам, семье |
У частной ссылки в браузере нет публичного списка и роя незнакомцев. Когда отправитель нажимает Stop Sharing или закрывает вкладку, ссылка перестаёт работать.
Какие преимущества у P2P-передачи файлов?
- Не нужно ждать загрузки. Получатель начинает скачивать, как только откроет ссылку. В облачном сервисе папке на 50 ГБ при исходящей скорости 50 Мбит/с нужно больше двух часов только на загрузку — прежде чем получатель вообще сможет начать.
- Никакой хранимой копии. После передачи на стороннем сервере ничего не остаётся, поэтому потом нечего удалять, нечему истекать и нечему утекать.
- Сервис не ограничивает размер. StrongFolder не ограничивает размер. На практике предел задают свободное место на диске получателя, скорость соединения и то, сколько времени оба устройства остаются онлайн.
- Папки остаются папками. Папки передаются как папки: вложенные папки и имена файлов сохраняются, ничего не архивируется.
- Без аккаунта. Аккаунт не нужен ни для отправки, ни для получения. Вход через Google — по желанию: он сохраняет список ваших передач.
Бесплатно · в браузере · без регистрации
Какие ограничения у P2P-обмена файлами?
Честный разговор об ограничениях — единственный способ выбрать правильный инструмент:
- Отправитель должен оставаться онлайн. Вкладка браузера отправителя должна оставаться открытой и онлайн, пока получатель не закончит скачивание: файлы идут с устройства отправителя, а не с сервера. Советы по планированию — в статье Почему отправитель остаётся онлайн.
- Скорость ограничена исходящей скоростью отправителя. Прямая передача не может быть быстрее исходящей скорости отправителя или входящей скорости получателя — в зависимости от того, что медленнее.
- В строгих сетях может понадобиться ретранслятор. Некоторые корпоративные файрволы и мобильные сети блокируют прямые соединения; тогда поток идёт через ретранслятор TURN, что может быть медленнее. Если прямое соединение невозможно (строгий корпоративный файрвол, некоторые мобильные сети), зашифрованный поток проходит через ретрансляционный (TURN) сервер StrongFolder. Ретранслятор пересылает данные и не хранит их.
- Сохранение папок зависит от браузера. Чтобы сохранить целую папку со структурой, нужен File System Access API: Chrome, Edge, Opera и другие браузеры на Chromium на компьютере. В других браузерах файлы можно скачать по одному или одним ZIP-архивом.
- Другая сторона видит ваш IP-адрес при прямом соединении, как при любом видеозвонке.
- Продолжение после обрыва не гарантируется. Если одна из сторон потеряет соединение, будьте готовы начать передачу заново.
Когда использовать P2P-передачу файлов, а когда нет?
Используйте P2P, когда файлы большие, когда вы не хотите оставлять копию на сервере, когда нужно отправить целую папку или когда получатель должен начать сразу. Используйте облачную ссылку, когда вы не можете держать компьютер включённым, когда получатель в совсем другом часовом поясе и будет скачивать через несколько часов или когда многим людям нужен доступ неделями. Для очень больших объёмов данных при очень медленной исходящей скорости физический диск всё ещё может выиграть.
Итоги
P2P-обмен файлами в браузере соединяет отправителя и получателя напрямую по зашифрованному WebRTC. Нет загрузки, нет хранимой копии и нет ограничения размера со стороны сервиса; цена — отправитель остаётся онлайн во время передачи. Технические подробности — в статье Как работает передача файлов по WebRTC; сравнение инструментов — в обзоре Лучшие P2P-сервисы для передачи файлов.