Надоело пересылать самому себе пароли в «Избранное». Сделал свой обмен буфером - и так, чтобы даже я не мог прочитать ваши данные
С чего всё началось
Знакомая ситуация? Скопировал на телефоне код из СМС - надо вставить в терминал на ноуте. Скопировал ссылку на компе - хочешь открыть на телефоне. И каждый раз одно и то же: отправляешь сам себе в Telegram, в «Избранное».
У меня этих «Избранных» сообщений уже на пару тысяч накопилось. Свалка из ссылок, кодов, кусков текста и паролей.
Вот на слове «паролей» я и притормозил.
Неприятная мысль
Сначала я пошёл искать готовое решение - таких сервисов хватает. Поставил один, попользовался неделю. А потом поймал себя на мысли: я только что прогнал через этот буфер пароль от рабочей базы. И он улетел на чей-то чужой сервер.
Полез читать, как эти штуки устроены. И почти везде одно и то же: ваш буфер обмена уезжает на сервер компании, там лежит, оттуда раздаётся на другие ваши устройства. Шифрование «по дороге» есть почти у всех - но на самом сервере данные лежат как есть. Открытым текстом.
То есть весь вопрос «читает ли кто-то мой буфер» сводится к «доверяю ли я этой компании». А я не хотел доверять на слово. Даже самому себе.
Что я в итоге сделал
Сел и написал свой сервис. Называется Copy Sync. Идея в одной фразе:
Сервер устроен так, что ему физически нечего у вас украсть.
Это не «мы обещаем не смотреть». Это «мы технически не можем посмотреть, даже если очень захотим». Разница примерно как между «сосед обещал не читать ваши письма» и «письмо вообще не попадает соседу в руки».
Как это работает на человеческом языке:
Ваш текст шифруется прямо на вашем устройстве, ещё до отправки.
На сервер уезжает уже не текст, а зашифрованная каша. Ключа от неё у сервера нет - ключ остаётся у вас.
Получатель (другое ваше устройство) расшифровывает кашу обратно у себя.
Сервер в этой схеме - просто труба. Он передаёт мешок, не зная, что внутри. Сами данные не хранятся - улетели и удалились.
Если кто-то завтра украдёт мой сервер целиком и заглянет в базу - он увидит столбец со случайным шумом. Ни паролей, ни ссылок, ни ключей. Их там нет не потому, что я их спрятал. Их там нет по конструкции.
Почему рассказываю, а не просто пользуюсь молча
Потому что «доверьтесь мне, я честный» - это ровно то, от чего я бежал. Поэтому весь код открыт. Любой, кто умеет читать программу, может проверить.
И честно про минусы, без маркетинга: проект ещё сырой. Пока работает веб-версия, расширение для браузера и приложения на телефон - в планах. Пара важных штук по безопасности ещё не доделана. Это пет-проект одного человека, а не продукт корпорации.
Если интересно потыкать
Сайт: copysync.ru
Исходники (для тех, кому интересно заглянуть под капот): gitlab.com/razgiva/copy-sync
Буду рад вопросам и критике в комментах - особенно если кто-то шарит в безопасности и найдёт, что я сделал не так. Для того и выкладываю.
А ещё расскажите: вы сами-то как ссылки между телефоном и компом гоняете? Неужели тоже «Избранное»?

