
Зачем это нужно#
Оригинальный Podsync — отличная утилита, которая исправно забирает ролики с YouTube и заворачивает их в стандартный аудио-подкаст (RSS-фид). Но проект практически замер, а потребности для меня за последнее время сильно изменились:
- Есть контент в VK Видео, а поддержки этой платформы в апстриме не было.
- YouTube всё агрессивнее блокирует серверные IP и требует авторизацию ботов (
Sign in to confirm you're not a bot). - Любое добавление нового канала требовало ручной правки
config.tomlи перезапуска демона. - Хотелось управлять библиотекой с любого устройства — быстро скопировать RSS, или попросить AI-агента в OpenCode добавить подписку.
Поэтому я собрал собственный форк Podsync, куда навайбкодил всё, чего не хватало.
Что нового в форке#
1. Встроенная веб-админка (/admin)#
В бинарник вшита адаптивная панель управления без внешних Node.js-зависимостей:
- Карточки каналов: обложки, счетчики эпизодов, занятое место на диске.
- Быстрая подписка: кнопка копирования RSS в буфер, генератор QR-кода для камеры смартфона и прямые deep-link кнопки в Apple Podcasts, Pocket Casts и Overcast.
- Управление фидами: добавление новых каналов и плейлистов на лету (автоматически пишутся в
config.tomlи встают в очередь загрузки), ручной запуск обновления и удаление с очисткой файлов. - Контроль ошибок: просмотр статусов эпизодов и кнопка Retry для повторного скачивания упавших выпусков.
- Системные метрики: мониторинг памяти, свободного места в папке
dataи проверка доступностиyt-dlpиffmpeg. - Темы оформления: палитра Catppuccin Mocha и Latte с переключением.
2. Поддержка VK Видео#
Теперь можно превращать в подкасты каналы, сообщества, страницы авторов и плейлисты из VK Видео (vkvideo.ru, vk.com, vk.ru). Достаточно один раз указать API-токен через веб-интерфейс или переменную окружения PODSYNC_VKVIDEO_API_KEY.
3. Управление cookies и yt-dlp#
Для борьбы с проверками YouTube в веб-интерфейс вынесен раздел Downloader & Cookies:
- Вставка и сохранение
cookies.txt(Netscape формат) прямо из браузера. - Настройка прокси для yt-dlp и встроенный тестер URL для проверки скачивания перед сохранением.
4. Нативный MCP-сервер для ИИ-агентов#
Встроен сервер Model Context Protocol (MCP). Теперь любой LLM-ассистент (OpenCode v2, Claude Desktop, Cursor, Antigravity) умеет управлять вашей медиатекой:
- Смотреть список фидов и занятое место (
list_feeds,get_system_stats). - Добавлять новые каналы прямо по ссылке из чата (
add_feed). - Перезапускать упавшие загрузки (
retry_episode). - Работать как локально через
stdio(podsync --mcp), так и удаленно поSSE(/mcp/sse).
Быстрый запуск#
Запустить обновленный Podsync можно бинарником или в Docker.
Вариант 1. Сборка из исходников#
Вам понадобятся go, ffmpeg и yt-dlp:
git clone https://github.com/tatarinovms/podsync.git
cd podsync
makeВариант 2. Docker Compose#
services:
podsync:
image: tatarinovms/podsync:latest
container_name: podsync
restart: unless-stopped
ports:
- "8080:8080"
environment:
- PODSYNC_ADMIN_ENABLED=true
- PODSYNC_ADMIN_USERNAME=admin
- PODSYNC_ADMIN_PASSWORD=your-secure-password
- PODSYNC_VKVIDEO_API_KEY=your-vk-token
volumes:
- ./config.toml:/app/config.toml
- ./data:/app/data
- ./db:/app/dbВ config.toml включаем админку:
[server]
port = 8080
hostname = "http://192.168.1.100:8080"
[server.admin]
enabled = true
username = "admin"
password = "your-secure-password"Переходим в браузере по адресу http://<ip>:8080/admin/ и всё готово к работе.
Подключение к OpenCode v2 через MCP#
Чтобы агент в OpenCode мог управлять подкастами, пропишите сервер в opencode.json (или ~/.config/opencode/opencode.json):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"podsync": {
"type": "local",
"command": [
"/usr/local/bin/podsync",
"--config",
"/etc/podsync/config.toml",
"--mcp"
],
"enabled": true
}
}
}
}Проверяем список серверов:
opencode mcp listТеперь достаточно написать агенту: «Добавь этот плейлист из VK Видео в Podsync и скачай свежие выпуски» — и он сделает всё сам.
Итог#
Podsync превратился из фонового скрипта в полноценный self-hosted медиакомбайн с удобным интерфейсом и интеграцией в современный AI-стек.
- GitHub репозиторий: tatarinovms/podsync


