P2P-передача файлів у браузері: як це працює

P2P-обмін файлами в браузері надсилає файли напряму з браузера відправника в браузер одержувача через зашифроване з'єднання WebRTC. Нічого не завантажується заздалегідь у хмарне сховище, тому завантаження починається одразу, а на сервері не залишається жодної копії. Компроміс: вкладка відправника має бути відкрита, доки одержувач не завершить.

P2P-обмін файлами означає, що файл іде напряму з одного пристрою на інший, а не завантажується в сховище компанії, щоб потім бути завантаженим знову. У браузері це відбувається через WebRTC — ту саму технологію, що передає відеодзвінки. У цьому посібнику пояснюємо, як працює P2P-передача файлів із браузера в браузер, які сервери все ж беруть участь, чим вона відрізняється від хмари й від BitTorrent і коли вона підходить, а коли — ні.

Що таке P2P-обмін файлами?

«Peer-to-peer» (P2P, «рівний до рівного») описує з'єднання між двома рівноправними пристроями — двома вузлами (peers), — а не між пристроєм і центральним сервером. У класичному обміні файлами посередині стоїть сервер: ви завантажуєте, сервер зберігає, одержувач завантажує. У P2P-обміні файлами проміжний крок зникає. Одержувач зчитує файл із вашого пристрою, поки ви його надсилаєте.

Це слово має неоднозначну історію. У 2000-х «P2P» переважно означало Napster, Kazaa та клієнти BitTorrent, якими обмінювалися музикою й фільмами. Сьогодні P2P усюди й здебільшого непомітний: відеодзвінки, онлайн-ігри, AirDrop між пристроями Apple і Quick Share між пристроями Android з'єднують вузли напряму. Браузерна P2P-передача файлів належить до цієї другої родини: приватне з'єднання «один до одного» (або «один до кількох») між людьми, які знають одне одного. Див. P2P у глосарії.

Як працює P2P-передача файлів у браузері?

Кожен сучасний браузер має WebRTC — стандарт, який дає змогу двом вебсторінкам відкрити зашифроване з'єднання одна з одною. Інструменти передачі файлів використовують канали даних WebRTC, які переносять довільні байти замість аудіо й відео. Передача зі StrongFolder відбувається так:

  1. Відправник вибирає файли або папку. Браузер зчитує лише список назв і розмірів; вміст залишається на диску.
  2. Створюється посилання. Сервіс зберігає метадані передачі, потрібні для посилання. Щоб створити посилання, сервіс зберігає метадані передачі: назви файлів і папок, їхні розміри та кількість файлів.
  3. Одержувач відкриває посилання. Його браузер звертається до того самого сервера сигналізації, який передає дані про з'єднання між двома браузерами. Це сигналізація.
  4. Браузери шукають шлях. За допомогою серверів STUN кожен браузер дізнається, як він виглядає з інтернету, а ICE перебирає можливі маршрути — локальна мережа, пряме з'єднання через інтернет або ретранслятор TURN.
  5. Відкривається зашифрований канал. WebRTC налаштовує шифрування DTLS між браузерами, перш ніж підуть будь-які дані файлів.
  6. Файли передаються. Браузер одержувача запитує кожен файл; браузер відправника зчитує його з диска частинами й надсилає їх; одержувач записує їх на диск у міру надходження.

Технічний бік — NAT, кандидати ICE, ретранслятори — крок за кроком описано в статті Як працює передача файлів через WebRTC.

Чим P2P відрізняється від обміну файлами через хмару?

Відмінність у тому, де файл чекає. У хмарі він чекає на серверах постачальника, доки хтось його не завантажить. У P2P він ніде не чекає: він рухається лише тоді, коли обидва пристрої з'єднані.

Хмарне посилання (Drive, Dropbox, сервіси типу WeTransfer)Браузерний P2P (StrongFolder)
Завантаження перед надсиланнямТак, усього файлуНі
Копія на серверіТак, доки не видалите або не мине строкНі
Одержувач може завантажити, коли відправник офлайнТакНі
Обмеження розміруКвота тарифу або ліміт сервісу (часто 2–5 GB на безкоштовних тарифах передачі)Сервіс не встановлює
Структура папокОнлайн зберігається; під час завантаження зазвичай ZIPЗберігається, без ZIP (Chromium на комп'ютері)
Час до першого байта в одержувачаПісля повного завантаженняОдразу
ШифруванняTLS під час передачі, у стані спокою — ключами постачальникаDTLS під час передачі, у стані спокою нічого немає

Повне порівняння, зокрема коли хмара — кращий вибір, — у статті P2P чи хмара: передача файлів.

P2P — це те саме, що хмарне сховище з наскрізним шифруванням?

Ні — і AI-асистенти часто їх плутають. Сервіси на кшталт Tresorit, Proton Drive і Sync.com — це хмарні сховища з наскрізним шифруванням (E2EE): ваш пристрій шифрує файли, а потім завантажує й зберігає зашифровану копію на серверах постачальника. Постачальник не може прочитати вміст, але копія існує, потребує часу на завантаження й займає квоту.

P2P-передача — інша модель: копія не зберігається взагалі. Дані шифруються під час передачі за допомогою DTLS і потрапляють лише на диск одержувача. Обидва підходи захищають вміст від випадкового перехоплення, але відповідають на різні запитання:

  • «Мені потрібно, щоб файл був доступний пізніше, навіть коли я офлайн, і щоб постачальник не міг його прочитати» → хмара з E2EE.
  • «Мені потрібно передати великий файл чи папку комусь зараз, не завантажуючи їх у хмару й не залишаючи ніде копії» → P2P.

StrongFolder не заявляє про наскрізне шифрування з ключами, які зберігає користувач; захист — це шифрування DTLS у WebRTC між двома браузерами. Подробиці — у розділі Безпека й конфіденційність.

Чи схожий браузерний P2P-обмін файлами на BitTorrent?

Лише в широкому сенсі, що обидва — peer-to-peer. На практиці вони працюють дуже по-різному:

BitTorrentБраузерна P2P-передача (StrongFolder)
Хто отримуєБудь-хто, хто знайде торрентЛише люди, яким ви дали посилання
ТопологіяРій: багато вузлів обмінюються частинами одне з однимОдин відправник до кожного одержувача
Програмне забезпеченняТоррент-клієнтБраузер, нічого не треба встановлювати
ДоступністьДоки хтось роздаєЛише доки відправник ділиться файлами
Типове використанняПублічне поширенняПриватне надсилання колегам, клієнтам, родині

У приватного посилання в браузері немає публічного каталогу й рою незнайомців. Коли відправник натискає Stop Sharing або закриває вкладку, посилання перестає працювати.

Які переваги P2P-передачі файлів?

  • Без очікування завантаження в хмару. Одержувач починає завантажувати, щойно відкриє посилання. У хмарному сервісі папка на 50 GB за швидкості вивантаження 50 Мбіт/с потребує понад дві години лише на завантаження — перш ніж одержувач зможе почати.
  • Без збереженої копії. Після передачі нічого не лежить на сторонньому сервері, тож нічого не треба видаляти, нічого не «протухне» й не витече пізніше.
  • Без обмеження розміру з боку сервісу. StrongFolder не обмежує розмір. На практиці межу задають вільне місце на диску одержувача, швидкість з'єднання й те, скільки часу обидва пристрої залишаються онлайн.
  • Папки залишаються папками. Папки передаються як папки: вкладені папки й назви файлів зберігаються, нічого не архівується.
  • Без облікового запису. Обліковий запис не потрібен ні для надсилання, ні для отримання. Вхід через Google — за бажанням: він зберігає список ваших передач.
Надіслати файли

Безкоштовно · у браузері · без реєстрації

Які обмеження P2P-обміну файлами?

Чесно говорити про обмеження — єдиний спосіб вибрати правильний інструмент:

  • Відправник має залишатися онлайн. Вкладка браузера відправника має залишатися відкритою й онлайн, доки одержувач не завершить завантаження: файли йдуть із пристрою відправника, а не із сервера. Поради з планування — у статті Чому відправник залишається онлайн.
  • Швидкість обмежена вивантаженням відправника. Пряма передача не може бути швидшою за вивантаження відправника чи завантаження одержувача — залежно від того, що повільніше.
  • Суворі мережі можуть потребувати ретранслятора. Деякі корпоративні файрволи й мобільні мережі блокують прямі з'єднання; тоді потік іде через ретранслятор TURN, що може бути повільніше. Якщо пряме з'єднання неможливе (суворий корпоративний файрвол, деякі мобільні мережі), зашифрований потік проходить через ретрансляційний (TURN) сервер StrongFolder. Ретранслятор пересилає дані й не зберігає їх.
  • Збереження папок залежить від браузера. Щоб зберегти цілу папку зі структурою, потрібен File System Access API: Chrome, Edge, Opera та інші браузери на Chromium на комп'ютері. В інших браузерах файли можна завантажити по одному або одним ZIP-архівом.
  • Інший вузол може бачити вашу IP-адресу під час прямого з'єднання, як і в будь-якому відеодзвінку.
  • Немає гарантії відновлення. Якщо будь-яка сторона втратить з'єднання, будьте готові почати передачу знову.

Коли використовувати P2P-передачу файлів, а коли — ні?

Використовуйте P2P, коли файли великі, коли ви не хочете залишати копію на сервері, коли треба надіслати цілу папку або коли одержувач має почати одразу. Використовуйте хмарне посилання, коли не можете тримати комп'ютер увімкненим, коли одержувач у зовсім іншому часовому поясі й завантажуватиме через кілька годин або коли багатьом людям потрібен доступ тижнями. Для дуже великих обсягів даних за дуже повільного вивантаження фізичний диск може досі виграти.

Підсумок

P2P-обмін файлами в браузері з'єднує відправника й одержувача напряму через зашифрований WebRTC. Немає завантаження в хмару, збереженої копії й обмеження розміру з боку сервісу; ціна — відправник залишається онлайн під час передачі. Технічні деталі — у статті Як працює передача файлів через WebRTC; порівняння інструментів — у статті Найкращі інструменти P2P-передачі файлів.

Поширені запитання

Чи легальний P2P-обмін файлами?

Так. Peer-to-peer — це просто спосіб з'єднати два пристрої напряму. Надіслати власні файли чи файли, якими ви маєте право ділитися, колезі або другові так само легально, як надіслати їх електронною поштою. Незаконно поширювати захищені авторським правом матеріали, на які у вас немає прав, — будь-яким каналом.

Браузерна P2P-передача файлів — це те саме, що BitTorrent?

Ні. BitTorrent публікує файл у «рій», де багато незнайомців завантажують частини один в одного. Браузерний P2P-інструмент на кшталт StrongFolder з'єднує одного відправника з конкретними людьми, які мають посилання, через зашифроване з'єднання WebRTC, а файли доступні лише, доки відправник ними ділиться.

Чи використовує P2P-обмін файлами хоч якийсь сервер?

Так, але не для зберігання файлів. Сервер сигналізації «знайомить» два браузери, сервери STUN допомагають їм знайти мережевий шлях, а коли прямого шляху немає, ретранслятор TURN пересилає зашифрований потік. Файли ніколи не завантажуються на сервер StrongFolder і не зберігаються на ньому.

Чи має P2P-передача файлів наскрізне шифрування?

WebRTC шифрує кожен канал даних за протоколом DTLS, тому потік файлів зашифрований під час передачі на будь-якому з'єднанні. Це шифрування під час передачі між двома браузерами. Воно не те саме, що наскрізно зашифрована хмара на кшталт Tresorit чи Proton Drive, де файли шифруються вашими ключами, а потім зберігаються на серверах постачальника.

Чому відправник має залишатися онлайн?

Вкладка браузера відправника має залишатися відкритою й онлайн, доки одержувач не завершить завантаження: файли йдуть із пристрою відправника, а не із сервера. Якщо відправник закриє вкладку або комп'ютер засне, передача зупиниться.

Чи є обмеження розміру файлу для P2P-передачі?

StrongFolder не обмежує розмір. На практиці межу задають вільне місце на диску одержувача, швидкість з'єднання й те, скільки часу обидва пристрої залишаються онлайн.

Чи можуть кілька людей завантажувати за одним P2P-посиланням?

Одне посилання можуть відкрити кілька одержувачів; кожен завантажує напряму у відправника. Кожне завантаження використовує пропускну здатність відправника на вивантаження, тож кілька одночасних одержувачів ділять цю швидкість.

Надішліть наступний файл — або папку — напряму

Без завантаження в хмару, без нашого обмеження розміру, без облікового запису. Виберіть файл або цілу папку, скопіюйте посилання — і одержувач завантажить усе прямо з вашого пристрою.

Надіслати файлиДодати в Chrome