релей больших файлов · без хранения

Паром для файлов.
Перевёз и ушёл.

Ferry перевозит файлы и папки любого размера через релей, который ничего не хранит. Шифрование — на вашем устройстве, проверка — на каждом чанке, а отправитель отдаёт байт один раз, сколько бы человек ни качало.

скорость каждому получателю min(аплоад, даунлоад)
на диске сервера 0 байт
ключ шифрования только в ссылке после #
01 погрузка ждёт груз
Положите груз на причал Перетащите сюда файл или папку целиком — любого размера
или примите груз
Ключ — часть ссылки после #. На сервер она не уходит: её нет ни в запросе, ни в логах.
01

условия перевозки

три обещания

На берегу ничего не остаётся

Ни файла, ни имени файла, ни метаданных на диске сервера. В оперативке — идентификатор раздачи, сокеты и скользящее окно байтов, которое тут же вытесняется.

на диске сервера 0 байт

Груз пломбируют на вашем берегу

AES-256-GCM на устройстве. Ключ живёт во фрагменте ссылки и на сервер не уходит никогда. Сервер видит шифротекст, размер и число чанков — даже имя файла спрятано в зашифрованном манифесте.

ключ на сервере никогда

Без судового реестра

Ни почты, ни телефона, ни логина. Пишет ли релей идентификаторы в журнал, отвечает GET /api/health — проверить можно, не веря на слово.

регистрация не нужна
02

почему паром

а не торрент

Скорость не делится на число получателей

чистый P2P 4 получателя
получатель 1
получатель 2
получатель 3
получатель 4
аплоад отправителя / N Каждый получает канал отправителя, поделённый на всех, — и упирается в NAT.
Ferry 4 получателя
получатель 1
получатель 2
получатель 3
опоздавший
min(аплоад, свой даунлоад) Отправитель отдаёт том релею один раз, опоздавший берёт начало у тех, кто уже скачал. Плата — исходящий трафик сервера, но именно он у VPS и есть.
03

как проходит переправа

четыре отметки
  1. 01 · на вашем берегу Погрузка Том режется на чанки от 256 КиБ до 4 МиБ. Каждый шифруется и хешируется BLAKE3 прямо на устройстве.
  2. 02 · сразу Отплытие Ссылка готова без ожидания: хеши считаются в фоне и уходят получателям по мере подсчёта.
  3. 03 · две волны Переправа Релей держит в памяти только скользящее окно. Опоздавший догоняет начало у других получателей.
  4. 04 · на их берегу Причал Каждый чанк проверяется по прибытии. Том собирается у получателя — на сервере не остаётся ничего.
04

из терминала

для серверов и скриптов

Клиент раздаёт сам релей

Версия клиента по определению совпадает с версией сервера. Один файл, без пакетов, служб и прав администратора.

$
отправить ferry send ~/проект
забрать ferry get "https://…#ключ"
Ссылку — в кавычках: иначе шелл съест всё после решётки, то есть ключ.
судовой журнал ferry send
$ ferry send ~/sirius-raw-2026-09
┌ том
│ имя sirius-raw-2026-09
│ состав 4 812 файлов
│ размер 12,4 ГиБ
│ чанки 3 174 по 4 МиБ
┌ ссылка и ключ
│ /t/n7Qk2pLm0vXsR7dTnWcAqB#xK4m9Tz1Rb7Q…
│ Часть после решётки — это ключ. На сервер она не уходит.
отдано 7,7 из 12,4 ГиБ скорость 112,4 МБ/с
повторно ничего
получатели:
гость 1 ██████████░░░░░░ качает 62 %
гость 2 ████████████████ готово
гость 3 █████░░░░░░░░░░░ догоняет 31 %