ls ~/tarahtelo

Закинул папку на компьютере — слушаешь на телефоне, телевизоре, планшете, утюге...

Персональный онлайн-офлайн плеер для музыки и аудиокниг. Коллекция хранится на вашем сервере, а не в чужом облаке.

// история

Я сделал его, потому что мне было лень

Жена постоянно просила записать ей музыку или аудиокнигу на телефон. Подключить телефон. Найти папку. Скопировать. Дождаться. Отключить. Потом сделать то же самое ещё раз через пару дней.

В какой-то момент стало лень. Поэтому появился другой вариант: я просто кидаю на компьютере папку с книгой или музыкой в плеер — и она становится доступна на телефонах. Так появилось «Тарахтело».

Играет и с выключенным экраном

Большинство браузерных плееров ставят звук на паузу, стоит погасить экран телефона или свернуть вкладку, — так уж устроены мобильные браузеры. «Тарахтело» — исключение: воспроизведение продолжается в фоне, даже когда экран выключен, точно как в обычном нативном плеере. Убрали телефон в карман — трек не оборвётся.

// как это работает

Одна коллекция — сразу на всех устройствах

Задаёте структуру папок сами — отдельно музыка, отдельно аудиокниги. Загружаете файлы или целые каталоги одним движением, а «Тарахтело» раздаёт их всем вашим устройствам, без повторной возни с каждым отдельно. И загружать можно не только с компьютера — то же самое работает и прямо с телефона.

СХЕМА

Компьютер — папка «Аудиокниги» / «Музыка»
Тарахтело
PC
Телефон
Планшет
TV-Box

ONLINE

Слушаете прямо с сервера
Ничего скачивать не нужно

OFFLINE

Синхронизируете файлы на устройство
Слушаете без подключения к сети

// где хранится

Библиотека — на вашем сервере, не в чужом облаке

Это может быть обычный хостинг, VPS или даже домашний сервер. Никакой привязки к сторонним облакам, чужим алгоритмам рекомендаций или условиям использования третьих лиц — только то, что вы сами туда положили.

// установка

Что нужно для установки

PHP
8.1 или новее
Веб-сервер
с поддержкой PHP
Права доступа
запись в нужные каталоги
HTTPS
рекомендуется для PWA и офлайн-режима

→ Отдельная база данных не требуется.

// возможности

Что умеет

  • Музыка
    Слушайте собственную коллекцию прямо с сервера.
  • Аудиокниги
    Продолжаются с той позиции, где остановились в прошлый раз.
  • Онлайн
    Не нужно скачивать всю библиотеку на телефон заранее.
  • Офлайн
    Файлы можно синхронизировать с устройством и слушать без сети.
  • Папки
    Структуру библиотеки вы задаёте сами.
  • Массовая загрузка
    Загружайте отдельные файлы или целые папки одним движением.
  • Хранилище
    Видно, сколько файлов, сколько места занято и сколько осталось.
  • Управление
    Администратор загружает и удаляет, обычный пользователь слушает и скачивает.
  • // офлайн

    Офлайн работает по-настоящему

  • Полная синхронизация
    Вся библиотека сохраняется на устройство за один раз.
  • Только новое
    Можно скачать лишь то, что появилось с прошлого раза.
  • Хранение
    Офлайн-файлы лежат на устройстве через IndexedDB.
  • Без сети
    После синхронизации всё работает без подключения к интернету.
  • // таймер сна

    Потому что аудиокнига обычно заканчивается примерно через три часа после того, как вы уже уснули.

    Таймер сна останавливает воспроизведение через заданное время. Включили книгу, положили телефон рядом — и не переживаете, что утром обнаружите: вы всю ночь слушали книгу по кругу.

    // внешний вид

    Четыре темы оформления

    Светлая
    Тёмная
    Ночная
    Стекло

    // и ещё

    • Русский и английский интерфейс
    • Естественная сортировка файлов
    • Поиск
    • Сохранение позиции воспроизведения
    • Таймер сна
    • Доступ по паролю
    • Без рекламы
    • Без аналитики
    • Без чужих рекомендаций
    • Локальное офлайн-хранилище
    • Статистика файлов и хранилища

    // интерфейс

    Как это выглядит

    // исходники

    Да, исходники тоже можно посмотреть

    Проект развивается постепенно. Исходный код и актуальное состояние проекта опубликованы на GitHub, а готовая сборка — вот прямо тут, ниже.