На берегу ничего не остаётся
Ни файла, ни имени файла, ни метаданных на диске сервера. В оперативке — идентификатор раздачи, сокеты и скользящее окно байтов, которое тут же вытесняется.
Ни файла, ни имени файла, ни метаданных на диске сервера. В оперативке — идентификатор раздачи, сокеты и скользящее окно байтов, которое тут же вытесняется.
AES-256-GCM на устройстве. Ключ живёт во фрагменте ссылки и на сервер не уходит никогда. Сервер видит шифротекст, размер и число чанков — даже имя файла спрятано в зашифрованном манифесте.
Ни почты, ни телефона, ни логина. Пишет ли релей идентификаторы в журнал, отвечает GET /api/health — проверить можно, не веря на слово.
Скорость не делится на число получателей
Клиент раздаёт сам релей
Версия клиента по определению совпадает с версией сервера. Один файл, без пакетов, служб и прав администратора.
$
Значит, у релея ещё нет домена и сертификат самоподписанный. Тогда установщику нужно сказать об этом прямо:
Именно в таком виде: привычный однострочник с ServerCertificateValidationCallback = { $true } в Windows PowerShell 5.1 ломает Invoke-WebRequest — колбэк вызывается из потока без пространства выполнения PowerShell и падает с невнятной «Непредвиденной ошибкой при передаче».
ferry send ~/проект
ferry get "https://…#ключ"
Часть после решётки — ключ. На сервер она не уходит: её нет ни в запросе, ни в логах, ни в Referer. Кто получил ссылку целиком — получил том.
Пароль передайте отдельно — голосом или другим мессенджером. Без него ссылка бесполезна, а с ним получатель откроет том.
••••••••••••Ссылка без ключа скопирована. Ключ отправьте другим путём — получатель вставит его на странице, которую откроет ссылка.
Закроете вкладку — раздача продолжится, если кто-то уже скачал том целиком. Вернуться к управлению — продлить, добавить использований, закрыть — можно по этой ссылке. Это права владельца: никому её не пересылайте.
Пока никого. Пришлите ссылку — получатель откроет её в браузере или заберёт командой ferry get.