Ferry
Паром для файлов. Перевёз и ушёл.
Это релей больших файлов. Он ничего не хранит на диске: в оперативке — идентификатор раздачи, сокеты и скользящее окно байтов, которое тут же вытесняется. Перезапуск сервера гасит все раздачи, и это нормально.
Шифрование происходит на вашем устройстве. Сервер видит только шифротекст: ни содержимого, ни имени файла, ни ключа у него нет и быть не может.
Поставить клиент
Linux:
curl -fsSL https://…/install.sh | sh
Windows, в PowerShell:
irm https://…/install.ps1 | iex
Один файл, никаких пакетов и служб. Адрес этого релея пропишется сам — дальше достаточно команды ниже.
Браузер ругался на сертификат?
Значит у релея ещё нет домена и сертификат самоподписанный. Тогда установщикам нужно сказать об этом прямо:
curl -fsSLk https://…/install.sh | sh -s -- --insecure
…
Три строки, и именно в таком виде: привычный однострочник
с ServerCertificateValidationCallback = { $true } в Windows
PowerShell 5.1 ломает Invoke-WebRequest — колбэк вызывается из
потока без пространства выполнения PowerShell и падает с невнятной
«Непредвиденной ошибкой при передаче».
Отправить файл
ferry send большой-файл.tar.zst
Команда напечатает ссылку. Передайте её целиком, вместе с частью после решётки: эта часть и есть ключ шифрования, и на сервер она никогда не уходит.
Забрать
ferry get "https://…/t/…#…"
Ссылку — в кавычках: без них шелл съест всё после решётки, то есть ключ.
Чего пока нет
- Приёма в браузере. Сейчас на обоих концах нужен клиент из командной строки. Веб-получатель — следующий шаг.
- Позднего подключения. Получатели должны стартовать, пока раздача не ушла дальше окна.
- Папок. Пока один файл за раз; папку упакуйте архивом.
Исходники: github.com/vi5vi5vi5/Ferry · состояние релея: /api/health