Найти в Дзене

Как передать файл без облаков и бесплатно: новый способ безопасного обмена файлами

Оглавление

Обменивайтесь файлами между компьютерами через Интернет
Обменивайтесь файлами между компьютерами через Интернет

Наверное, каждый хоть раз ловил себя на мысли: как же бесит вот это всё — залить файл куда-то, ждать, пока он там проиндексируется, потом скинуть ссылку, и молиться, чтобы по дороге никто лишний не залез. Особенно, когда речь про что-то реально важное или, ну, просто очень личное. Короче, надоели эти облака, которые вроде твои, но на самом деле чьи-то чужие, и ты постоянно думаешь, а что там за человек сидит и смотрит на твою папку с «рабочими документами»? Да и по почте отправлять что-то больше десяти мегабайт — это прямо боль, особенно если почтовый клиент начнет капризничать. А когда ты сидишь на какой-то чужой машине или просто не хочешь светить свой логин-пароль, начинается цирк с конями. И вот тут на сцену выкатывается, казалось бы, что-то из девяностых, но до ужаса актуальное — чистый P2P обмен без посредников, только ты и тот, кому ты что-то шлешь. Мы сейчас не про торренты, а про одну очень классную штуку, которая называется «share». Реально, просто share. Этот инструмент обещает супер безопасную передачу файлов и при этом никакой лишней возни. Ну, почти.

P2P обмен и зачем вообще нужен свой релейный сервер

В чем вообще фишка этого «share»? Он делает так, чтобы ты мог по-быстрому, вообще без заморочек, отправить кому-то большой файл. Причем это настоящая peer-to-peer передача, когда данные летят напрямую от твоего ноута к ноуту получателя, минуя всякие там хранилища. Но вот в чем загвоздка с любым P2P: как двум компьютерам, которые оба сидят за хитрыми домашними роутерами (NAT), найти друг друга? Вот тут-то и нужен релейный сервер. Это такой маленький, скромный, но очень полезный помощник. Он не хранит твои файлы, он вообще их не видит! Он просто помогает установить соединение между тобой и твоим другом, чтобы вы могли начать обмен файлами напрямую. То есть, он — как сват, который познакомил людей, а потом удалился. Это в разы безопаснее, чем грузить файл куда-то на облако.

Что это за Go проект GitHub и кто такой schollz?

Изначально это был просто Go проект GitHub, который придумал один очень рукастый парень, известный как schollz share. Он вообще любит придумывать всякие мелкие, но полезные утилиты. Этот код лежит в открытом доступе, и любой может посмотреть, что там внутри. Это, кстати, огромный плюс — сразу видно, что никаких закладок и прочей нечисти там нет. А поскольку он написан на Go, то работает он везде: и на Windows, и на MacOS, и на Linux. MIT лицензия инструмент — это тоже такой жирный плюс, значит, его можно брать, менять под себя, использовать в коммерческих целях, и никто слова не скажет. В общем, идея не новая, но реализация очень изящная и быстрая.

Peer-to-peer передача с защитой как в банке: end-to-end шифрование для обычных людей

Ладно, P2P — это круто, но что насчет безопасности? Ведь если кто-то перехватит этот файл, пока он летит по сети? Тут-то и начинается самое интересное. «Share» сразу нативно поддерживает end-to-end шифрование. Это значит, что файл шифруется на твоём компьютере до того, как он отправится, и расшифровывается только на компьютере получателя. Даже тот самый релейный сервер, про который мы говорили, не сможет прочитать, что там летит. Он видит только нечитаемую кашу. По сути, это и делает безопасную передачу файлов реальной, а не просто громким словом.

Как работает эта магия ECDH шифрования и AES-GCM криптографии?

Для тех, кто любит копаться в деталях, там используется очень серьезная связка. Во-первых, ECDH шифрование (это такая криптография на эллиптических кривых) — она нужна для того, чтобы безопасно обменяться ключами. Грубо говоря, ты и твой получатель генерируете секретные половинки ключа, обмениваетесь ими, и в результате получается общий, но никто, кроме вас, его не знает. А во-вторых, сами данные, то есть твой файл, шифруются уже с помощью AES-GCM криптографии. Это сейчас считается одним из самых надежных стандартов, его используют везде, где нужна максимальная защита. Так что, когда ты отправляешь свои, ну, очень важные файлы, можешь быть уверен, что они защищены по всем правилам. Это реально не просто обмен файлами, а обмен с военным уровнем защиты.

Секреты для гиков: CLI обмен файлами и как поднять docker для обмена за пять минут

Сначала может показаться, что это что-то для супер-программистов, потому что основной режим работы — это CLI обмен файлами, то есть, через командную строку. Ты просто пишешь: share файл.zip, и тебе выдается код. Ты говоришь этот код другу, он пишет: share получить [код], и вуаля, файл пошел. Это, кстати, мегаудобно, когда ты сидишь за своим терминалом и не хочешь отвлекаться на браузеры. Но если ты не любишь консоль, не беда. Там есть и веб-интерфейс для файлов. Если ты запускаешь «share» без указания файла, он поднимает маленькую страничку, куда ты можешь просто перетащить (drag-n-drop) нужные файлы. Получателю тоже достаточно просто открыть эту веб-страницу по ссылке и ввести код.

Как начать делиться файлами через веб-интерфейс для файлов?

Самый простой способ — это скачать готовый бинарник (программу) с Гитхаба, запустить его и следовать инструкциям. Но самый элегантный и, наверное, правильный способ, особенно для тех, кто уже в теме, — это через docker для обмена. Запустить контейнер — это буквально одна команда. И ты сразу получаешь и свой личный релейный сервер, и возможность обмениваться файлами через веб, и все это в отдельном, чистом окружении. Не нужно ничего устанавливать в систему, не нужно засорять ее. Это быстро, чисто, и, главное, ты можешь быть уверен, что всё работает как надо.

Самостоятельный хостинг для параноиков: зачем морочиться?

Ну и, конечно, если ты прямо совсем не доверяешь никому, даже тем, кто предоставляет бесплатный релейный сервер (а у них, кстати, есть публичные серверы, которые можно использовать), ты можешь настроить самостоятельный хостинг. Зачем? Да просто чтобы быть абсолютно уверенным, что твой обмен файлами не зависит вообще ни от кого. Это уже такой уровень «домашнего сервера», но для тех, кто любит контроль над своими данными. По сути, ты делаешь сам себе маленький, но очень надежный сервис по безопасной передаче файлов. В общем, инструмент классный. Кажется, что он просто про обмен файлами, но на самом деле он про контроль, приватность и скорость. Стоит попробовать, даже если ты далек от командной строки, потому что там есть и веб-интерфейс, и вся эта криптография работает за тебя, в фоне, тихо и незаметно.

Ссылка на источник

Безопасно ли скачивать с GitHub?

🔔 Если статья была полезной, жмите на колокольчик на главной странице канала, чтобы быть в курсе новых публикаций, и подпишитесь, если ещё не подписаны! 📰