Как перекинуть файлы между сервером и браузером без лишней головной боли
Знакомая ситуация: вы сидите в терминале на удаленном сервере, и вам нужно быстро стянуть оттуда лог-файл или какой-нибудь конфиг на свой рабочий ноутбук. Или наоборот — закинуть скрипт на машину коллеги, не настраивая при этом FTP, не воюя с правами доступа в S3 и не копируя гигантские куски текста через буфер обмена.
Обычно в такие моменты мы вспоминаем про scp, rsync или, в худшем случае, заливаем файл на какой-нибудь файлообменник, надеясь, что его никто не перехватит. Но оказывается, есть способ изящнее. Знакомьтесь — e2ecp, инструмент, который превращает передачу файлов между любыми устройствами в минутное дело.
Что это вообще такое?
e2ecp (End-to-End Encrypted Copy) — это опенсорсная утилита для передачи данных, которая работает по принципу «просто и безопасно». Главная фишка проекта в том, что он объединяет мир CLI и Web. Вы можете отправить файл из терминала Linux и принять его в браузере на iPhone, или перекинуть папку с одного сервера на другой, используя короткое кодовое имя «комнаты».
Самое приятное здесь — приватность. Все данные шифруются на стороне отправителя и расшифровываются только на стороне получателя (End-to-End Encryption). Промежуточный сервер-ретранслятор (relay) видит только зашифрованный поток байтов и понятия не имеет, что именно вы передаете — семейное фото или секретный ключ.
Почему это удобно?
В моей практике часто случается, что нужно передать файл человеку, который «не очень дружит» с консолью. e2ecp решает эту проблему идеально.
1. Гибридность: Терминал ↔ Браузер
Вам не нужно, чтобы на обоих концах стояла одна и та же программа.
- Отправитель:
e2ecp send my_report.pdf - Получатель: Просто заходит на e2ecp.com, вводит имя комнаты и скачивает файл. Это работает и в обратную сторону: загрузили файл через веб-интерфейс — забрали его в консоли одной командой.
2. Сквозное шифрование «из коробки»
Инструмент использует связку ECDH P-256 для обмена ключами и AES-GCM для шифрования самих данных. Это золотой стандарт современной криптографии. Даже если кто-то перехватит трафик или взломает сервер-ретранслятор, ваши файлы останутся в безопасности.
3. Личное облачное хранилище
Если зарегистрироваться на сайте, e2ecp превращается в зашифрованное хранилище. Вы можете «запушить» файл со своего сервера в аккаунт:
e2ecp upload secret_data.zip
И потом получить к нему доступ из любого места. При этом пароль от аккаунта используется для вывода ключа шифрования, так что сервер снова остается «ни с чем» в плане доступа к вашим данным.
Как это работает под капотом?
Архитектура проекта довольно интересна. Основная часть написана на Go, а веб-интерфейс — на современном стеке с использованием Node.js (v24+).
Когда вы запускаете передачу, происходит следующее:
- Программа подключается к ретранслятору по WebSocket.
- Создается виртуальная «комната».
- Стороны обмениваются ключами по протоколу Диффи-Хеллмана на эллиптических кривых.
- Файл разбивается на чанки, шифруется и летит через WebSocket к получателю.
Кстати, если вы параноик (в хорошем смысле слова) или работаете в закрытом корпоративном контуре, вам не обязательно пользоваться публичным сервером e2ecp.com. Вы можете поднять свой собственный ретранслятор одной командой:
e2ecp serve --port 8080
Практические сценарии использования
Где e2ecp экономит время?
- Быстрый деплой конфигов: Нужно закинуть
.envфайл на свежий сервер?e2ecp send .envна локалке,e2ecp receiveна сервере. Готово. - Обмен между коллегами: Вместо того чтобы мучиться с правами доступа в Google Drive для одного маленького архива, просто создайте временную комнату.
- Сбор логов: Когда техподдержка просит «скинуть логи», а они весят 500 МБ и не лезут в почту.
- Backups: Утилиту легко встроить в скрипты бэкапа для автоматической отправки дампов в зашифрованное облако.
Как начать пользоваться?
Установка максимально дружелюбная. Если вы на macOS, поможет Homebrew:
brew install schollz/tap/e2ecp
Для пользователей Linux есть удобный скрипт:
curl https://e2ecp.com | bash
Ну а если вы любите Docker, то и тут всё предусмотрено. В репозитории есть готовые Dockerfile и compose.yml, чтобы развернуть свой инстанс со своей базой данных PostgreSQL для хранения пользовательских профилей.
Итог: стоит ли пробовать?
Если вам надоело использовать Telegram или Slack как «перевалочный пункт» для конфигов и бинарников, e2ecp определенно заслуживает места в вашем тулбоксе. Это легкий, быстрый и, главное, безопасный способ перемещать файлы между мирами CLI и Web.
Проект активно развивается, у него понятный исходный код и отличная тестовая база (включая E2E тесты на Playwright). Попробуйте отправить свой первый файл прямо сейчас через e2ecp.com — это действительно меняет привычки работы с данными.
Удачи в передаче! И помните: шифрования много не бывает.