P2P-передача файлов
Отправьте файл прямо из своего браузера в браузер собеседника, без прослойки.
Настройка происходит в вашем браузере, а файлы идут напрямую между двумя устройствами. ArrayKit не получает ни файл, ни код, ни его название.
Сверить хеш файла после получения
Об инструменте P2P-передача файлов
Отправить кому-то файл обычно значит сперва положить копию на чужой компьютер — облако, сервис пересылки, мессенджер — и надеяться, что её потом удалят. Этот инструмент выкидывает промежуточный шаг. Два браузера открывают друг к другу прямое зашифрованное соединение, и байты проходят по нему ровно один раз, с вашего устройства на чужое. Для настройки нужно одно: вы вставляете короткий код в ту переписку, которой и так пользуетесь, вам присылают ответный, и соединение открывается. Только этот обмен проходит через кого-то ещё, и в нём нет ни байта файла — лишь адреса, по которым браузеры находят друг друга.
Возможности
- Файлы идут напрямую между двумя браузерами по зашифрованному каналу
- Настройка — по короткому коду в каждую сторону, через привычную переписку
- Принимающая сторона видит список и должна согласиться до первого байта
- Несколько файлов сразу, с живым прогрессом, скоростью и остатком времени
- Режим «только один Wi-Fi», который вообще не запрашивает внешний адрес
- Входящие имена очищаются от путей и символов, маскирующих тип файла
- Готовые файлы скачиваются по одному или все вместе архивом
- Показывает, вышло соединение локальным, прямым или через ретранслятор
Как использовать P2P-передача файлов
- На отправляющем устройстве выберите файлы и создайте код-приглашение
- Перешлите этот код так, как обычно пишете этому человеку
- Он вставляет его, получает ответный код и присылает обратно
- Вставьте ответ, соединитесь — как только он согласится, передача пойдёт
Пример
Ввод
A 480 MB video, both laptops on the same office Wi-Fi
Результат
Connected on the local network · 480 MB in about 40 seconds at 12 MB/s
В одной сети передача не покидает здание — и ждать исходящий канал не приходится.
Частые ошибки и устранение неполадок
- Браузеры так и не соединяются. — Причин две. Некоторые сети — особенно мобильный интернет и крупные корпоративные — прячут каждое устройство за строгим NAT, который двум сторонам не пробить. Другие блокируют разрешение локальных имён, по которым устройства в одном Wi-Fi находят друг друга; из-за этого не свяжутся даже две вкладки на одной машине. Попытка из другой сети или между двумя действительно разными устройствами обычно показывает, с чем именно вы столкнулись.
- Код обрезался пополам при вставке. — Некоторые мессенджеры укорачивают длинные сообщения или превращают их во вложение. Отправьте его обычным текстом или воспользуйтесь QR-кодом, который второе устройство считает с вашего экрана.
- Передача остановилась на полпути. — Соединение живёт в двух вкладках. Закрылась одна, устройство уснуло, сменилась сеть — канал обрывается и всё начинается заново: недокачанному файлу негде храниться.
- Очень большой файл исчерпал память браузера. — Принимающая сторона держит файл в памяти до конца. Файлы в несколько гигабайт лучше заранее разделить.
Часто задаваемые вопросы
- Загружается ли мой файл куда-либо во время P2P-передачи?
- Нет. Данные файла проходят по одному соединению, из вашего браузера в чужой. Через кого-то ещё идёт только код настройки, а в нём сетевые адреса, а не содержимое.
- Что именно лежит в коде, который я отправляю?
- Адреса, по которым ваш браузер считает себя доступным, и ключи, которыми обе стороны шифруют канал. Код показан целиком, а адреса перечислены под ним.
- Передача зашифрована?
- Да. Каналы данных WebRTC зашифрованы от конца до конца самим стандартом; незашифрованного режима попросту нет. Ключи лежат в тех кодах, которыми вы обменялись.
- Почему иногда опрашивается внешняя служба адресов?
- Чтобы узнать, как ваше устройство выглядит снаружи, — именно это позволяет двум сторонам в разных сетях найти друг друга. Отметьте режим одного Wi-Fi, и запрос исчезает совсем.
- Нужно ли обоим быть в сети одновременно?
- Да, и обе вкладки должны оставаться открытыми. Это живое соединение двух устройств, а не ячейка хранения: нигде не лежит копия в ожидании получателя.
- Насколько большой файл можно отправить?
- Здесь предел не задан, а в локальной сети скорость равна скорости самой сети. Практический потолок — память принимающего браузера, ведь он собирает файл перед сохранением.
Связанные инструменты
Все инструменты ArrayKit