Plexo розподіляє завантаження одного файлу між Wi-Fi, Ethernet і мобільною мережею

Відкритий менеджер завантажень Plexo ділить файл на частини та спрямовує їх через різні мережеві інтерфейси. Прискорення можливе не завжди: підключення мають бути незалежними, а сервер повинен підтримувати HTTP Range-запити.

Plexo – відкритий менеджер завантажень, що може отримувати частини одного файлу через кілька мережевих інтерфейсів одночасно. Ідея полягає не в тому, щоб просто відкрити більше потоків, а в розподілі цих потоків між різними підключеннями, наприклад домашнім Wi-Fi та телефоном у режимі USB-модема. Водночас сама наявність Wi-Fi, Ethernet і мобільної мережі не гарантує вищої швидкості.

Plexo ділить файл на байтові діапазони

Програма розбиває файл на окремі діапазони байтів і надсилає паралельні HTTP Range-запити. Окремі з’єднання Plexo прив’язує до адрес конкретних мережевих інтерфейсів. У документації серед можливих інтерфейсів названо Wi-Fi, Ethernet, USB-модем телефона та стільникове з’єднання.

Такий підхід дозволяє одній частині файлу завантажуватися через домашнє підключення, а іншій – через мобільну мережу. Після отримання діапазонів програма складає їх в один файл. Це відрізняє Plexo від сценарію, де всі паралельні запити виходять в інтернет через один і той самий канал.

Wi-Fi та Ethernet біля одного роутера не мають прискорити файл

Найважливіше обмеження стосується незалежності каналів. Якщо Wi-Fi та Ethernet ведуть до того самого роутера або працюють в одній підмережі, документація Plexo не очікує приросту швидкості. У такій конфігурації обидва інтерфейси зрештою ділять один зовнішній інтернет-канал, тому розподіляти між ними частини файлу немає сенсу.

Практичний сценарій можливого виграшу – поєднання домашнього інтернету з незалежним мобільним підключенням. Але результат залежить також від маршрутизації операційної системи та фактичної пропускної здатності кожної мережі.

Plexo не створює VPN і не виконує мережеве об’єднання каналів

Plexo не є засобом packet bonding, link aggregation або VPN. Він не перетворює кілька ліній на один мережевий канал для всієї системи. Його механізм обмежений конкретним завантаженням, яке можна розділити на HTTP-діапазони та виконати кількома з’єднаннями.

Звичайні менеджери завантажень також часто ділять файл на сегменти, але зазвичай передають їх через одне інтернет-підключення. Plexo додає можливість рознести ці сегменти між різними інтерфейсами, якщо вони справді ведуть у різні мережі.

HTTP Range-запити та політика сервера визначають результат

Метод працює лише з джерелами, які підтримують HTTP Range-запити. Сервер також може обмежувати кількість одночасних з’єднань, тому збільшення сумарної швидкості не гарантоване навіть за кількох незалежних каналів. Використання мобільного інтернету для великих файлів може додатково витратити тарифний ліміт або спричинити оплату.

Проєкт має відкритий вихідний код і ліцензію MIT. Plexo позиціонується для Windows, macOS і Linux, однак готових pre-built збірок наразі немає: документація пропонує запускати або збирати програму з вихідного коду. Це робить інструмент насамперед варіантом для користувачів, готових самостійно працювати з раннім проєктом.

Репозиторії, згадані в матеріалі:

Джерела