Доступен второй выпуск torrent-клиента distribyted, позволяющего обращаться к содержимому торрентов как к части файловой системы с загрузкой данных по мере необходимости. Код проекта написан на языке Go и распространяется под лицензией GPLv3. Для привязки к ФС используется подсистема FUSE. Сборки подготовлены для Linux (x86_64 и ARM7) и Windows.
При помощи distribyted можно организовать доступ локальных мультимедийных проигрывателей к определённым торрентам с видео и музыкой, предварительно не загружая содержимое торрентов — загрузка будет производиться по мере обращения к файлам из программ и только тех частей, что запрошены. Другим примером является работа с торрентами, включающими очень большие наборы данных, distribyted позволяет обрабатывать и анализировать необходимые части в Jupyter Notebook, без полной загрузки всей коллекции.
Поддерживается преобразование некоторых форматов в форму файлов и каталогов. На текущем этапе разработки поддерживается трансляция содержимого архивов zip — пользователь может загрузить отдельный файл из zip-архива из торрента. В ближайшее время также обещают добавить поддержку форматов tar, 7zip и xz. Если для файлового формата не поддерживается загрузка частями, то distribyted может передавать содержимое в потоковом режиме, в том числе с возможностью смены позиции в файле (например, для просмотра видео и прослушивания музыки в любом мультимедийном проигрывателе напрямую из торрентов).
Подключаемые к файловой системе торренты определяются в файле конфигурации. После монтирования торрентов предоставляется встроенный web-интерфейс для навигации и мониторинга (можно отслеживать скорость загрузки и статистику).
Похожие проекты для монтирования torrent-файлов или magnet-ссылок в форме каталогов в ФС:
- btfs — FUSE-модуль на базе libtorrent, написанный на C++;
- torrent-mount — FUSE-модуль на базе torrent-stream Код на JavaScript (используется платформа node.js);
- fuse-torrent — вариант torrent-mount, позволяющий монтировать сразу несколько торрентов.
- torrentfs — FUSE-модуль для монтирования отдельных торрентов, написанный на языке Go;
- TorrentFuse — FUSE-модуль на языке Haskell.
Источник: https://www.opennet.ru/opennews/art.shtml?num=53968