Diffuse — простой Electron (Node.js / JavaScript) / GTK музыкальный проигрыватель для воспроизведения файлов с облачных, удалённых и локальных хранилищ.
Diffuse может работать в режимах Blockstack, RemoteStorage и IndexedDB (анонимный), поддерживается воспроизведение аудио файлов с Amazon S3 и Azure Blob Storage, Dropbox, Google Drive, IPFS и веб-сервисами поддерживающими протокол WebDAV (например Yandex / Яндекс Диск), а также локальной коллекции (из одного или несколько каталогов).
После соединения с заданными в настройках сервисами Diffuse ищет в каталогах музыкальные файлы, индексирует найденные файлы и извлекает метаданные (теги), сохраняет их в собственной базе данных (~/.config/Diffuse/databases/Databases.db), никакие данные на сервисы не передаются. Заданные настройки приложения можно импортировать и экспортировать (в *.json файл).
Поддерживаются аудио файлы форматов MP3, MP4/M4A и FLAC (используется HTML5 Audio API), для корректной работы приложения с некоторыми сервисами необходимо настроить CORS (Cross-Origin Resource Sharing), по инструкциям из документации. Для авторизации на сервисах используется собственная реализация механизма проверки подлинности сообщений HMAC и SHA (алгоритм криптографического хеширования).
Diffuse имеет максимально простой пользовательский интерфейс и минимум настроек, можно изменить оформление (фоновое изображение). Найденные файлы отображаются в виде списка, можно просмотреть файлы по каталогам и сортированы по листам воспроизведения (плейлистам). Для сортировки композиций в плейлистах можно использовать перетаскивание (функция Drag & drop / Перетащи и брось).
Имеющийся в Diffuse аудио-плеер оснащён всеми функциональными возможностями для комфортного прослушивания музыки. Имеется регулятор громкости и тёхполосный эквалайзер (регулятор тембра), поддерживается поиск (с помощью lunr.js), имеется режим случайного воспроизведения и зацикливание воспроизведения (всей коллекции или плейлиста).
Diffuse кроме автономной имеет и имеет веб-версию, функционально практически аналогичную, изначально созданную для полной совместимости с облачным хранилищем NextCloud (форк ownCloud). Управление плеером ориентировано на использование мыши, частично поддерживается управление клавиатурными сочетаниями.
Лицензия: MLT (The MIT License)