После более года разработки проект Tor представил выпуск утилиты OnionShare 2.3, позволяющей безопасно и анонимно передавать и получать файлы, а также организовать работу публичного сервиса для обмена файлами. Код проекта написан на языке Python и распространяется под лицензий GPLv3. Готовые пакеты подготовлены для Ubuntu, Fedora, Windows и macOS.
OnionShare запускает на локальной системе web-сервер, работающий в форме скрытого сервиса Tor, и делает его доступным для других пользователей. Для доступа к серверу генерируется непредсказуемый onion-адрес, который выступает в роли точки входа для организации обмена файлами (например, “https://ash4…pajf2b.onion/slug”, где slug – два случайных слова для усиления защиты). Для загрузки или отправки файлов другим пользователям достаточно открыть этот адрес в Tor Browser. В отличие от отправки файлов по email или через такие сервисы, как Google Drive, DropBox и WeTransfer, система OnionShare является самодостаточной, не требует обращения к внешним серверам и позволяет передать файл без посредников напрямую со своего компьютера.
От других участников обмена файлами не требуется установка OnionShare, достаточно обычного Tor Browser и одного экземпляра OnionShare у одного из пользователей. Конфиденциальность пересылки осуществляется путём безопасной передачи адреса, например, используя режим end2end-шифрования в мессенджере. После завершения передачи адрес сразу удаляется, т.е. передать файл второй раз в обычном режиме не получится (требуется применение отдельного публичного режима). Для управления отдаваемыми и принимаемыми файлами, а также для контроля за передачей данных, на стороне запущенного на системе пользователя сервера предоставляется графический интерфейс.
Основные новшества:
- Реализована поддержка вкладок, позволяющих одновременно выполнять несколько действий в программе. Поддерживается запуск четырёх типов сервисов во вкладках: предоставление доступа к своим файлами, получение сторонних файлов, управление локальным сайтом и общение в чате. Для каждого сервиса можно открывать несколько вкладок, например, можно запустить несколько локальных сайтов и создать несколько чатов. После перезапуска ранее открытые вкладки сохраняются и привязываются к тому же OnionShare-адресу.
- Добавлена возможность создания защищённых одноразовых чат-комнат для анонимного общения без сохранения истории переписки. Доступ к чату предоставляется на основе типового адреса OnionShare, который можно отправить участникам, с которыми необходимо что-то обсудить. К чату можно подключить без необходимости установки OnionShare, просто открыв присланный адрес в Tor Browser. Обмен сообщениями в чате шифруется с использованием оконечного шифрования, реализованного на базе штатных onion-сервисов Tor без изобретения дополнительных механизмов шифрования.
В качестве возможной области применения встроенного чата называются ситуации, в которых требуется что-то обсудить без оставления следов, в обычных мессенджерах нет гарантии того, что отправленное сообщение будет удалено получателем и не останется в промежуточных хранилищах. В чате OnionShare сообщения только показываются и нигде не сохраняются. Чат OnionShare также можно использовать для организации быстрого общения без заведения учётных записей или когда нужно обеспечить анонимность участника.
- Расширены возможности для работы с OnionShare из командной строки без запуска графического интерфейса. Интерфейс командной строки выделен в отдельное приложение onionshare-cli, которое в том числе можно использовать на серверах без монитора. Поддерживаются все базовые операции, например, для создания чата можно запустить команду “onionshare-cli –chat”, для создания сайта – “onionshare-cli –website”, а для приёма файла – “onionshare-cli –receive”.