Podsync

Turn YouTube or Vimeo channels, users, or playlists into podcast feeds
Alternatives To Podsync
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Spotiflyer9,044
a month ago252gpl-3.0Kotlin
Kotlin Multiplatform Music Downloader, Supports Spotify / Gaana / Youtube Music / Jio Saavn / SoundCloud.
Podsync1,192
3 months ago1January 11, 202372mitGo
Turn YouTube or Vimeo channels, users, or playlists into podcast feeds
Mindcast951
2 years ago14mitJavaScript
A React-Native streaming-audio app that provides knowledge in the shape of Podcasts.
Savify858
3 months ago26January 29, 202134mitPython
Download Spotify songs to mp3 with full metadata and cover art!
Odyssey216
a month ago76gpl-3.0Java
Odyssey music player
Youcast212
5 months ago24gpl-2.0C#
Turn YouTube Channels into Subscribable Podcasts.
Overcast Sonos180
4 years agomitPHP
Listen to your Overcast podcasts on Sonos.
Poddycast162
20 days ago7gpl-3.0JavaScript
Podcast app made with Electron, lots of ❤️ and ☕️
Saavn Downloader78
3 years ago1Python
Saavn Downloader
Awesome Music Playlist52
6 months ago10
Just a list of music playlist from many music platform 🎧
Alternatives To Podsync
Select To Compare


Alternative Project Comparisons
Readme

Podsync

Podsync

Nightly GitHub release (latest SemVer) Go Report Card GitHub Sponsors Patreon Twitter Follow

Podsync - is a simple, free service that lets you listen to any YouTube / Vimeo channels, playlists or user videos in podcast format.

Podcast applications have a rich functionality for content delivery - automatic download of new episodes, remembering last played position, sync between devices and offline listening. This functionality is not available on YouTube and Vimeo. So the aim of Podsync is to make your life easier and enable you to view/listen to content on any device in podcast client.

Features

  • Works with YouTube and Vimeo.
  • Supports feeds configuration: video/audio, high/low quality, max video height, etc.
  • mp3 encoding
  • Update scheduler supports cron expressions
  • Episodes filtering (match by title, duration).
  • Feeds customizations (custom artwork, category, language, etc).
  • OPML export.
  • Supports episodes cleanup (keep last X episodes).
  • One-click deployment for AWS.
  • Runs on Windows, Mac OS, Linux, and Docker.
  • Supports ARM.
  • Automatic youtube-dl self update.
  • Supports API keys rotation.

Dependencies

If you're running the CLI as binary (e.g. not via Docker), you need to make sure that dependencies are available on your system. Currently, Podsync depends on youtube-dl , ffmpeg, and go.

On Mac you can install those with brew:

brew install youtube-dl ffmpeg go

Documentation

Nightly builds

Nightly builds uploaded every midnight from the main branch and available for testing:

$ docker run -it --rm ghcr.io/mxpv/podsync:nightly

Access tokens

In order to query YouTube or Vimeo API you have to obtain an API token first.

Configuration

You need to create a configuration file (for instance config.toml) and specify the list of feeds that you're going to host. See config.toml.example for all possible configuration keys available in Podsync.

Minimal configuration would look like this:

[server]
port = 8080

[storage]
  [storage.local]
  data_dir = "/data/podsync/"

[tokens]
youtube = "PASTE YOUR API KEY HERE"

[feeds]
    [feeds.ID1]
    url = "https://www.youtube.com/channel/UCxC5Ls6DwqV0e-CYcAKkExQ"

If you want to hide Podsync behind reverse proxy like nginx, you can use hostname field:

[server]
port = 8080
hostname = "https://my.test.host:4443"

[feeds]
  [feeds.ID1]
  ...

Server will be accessible from http://localhost:8080, but episode links will point to https://my.test.host:4443/ID1/...

One click deployment

Deploy to AWS

How to run

Build and run as binary:

Make sure you have created the file config.toml. Also note the location of the data_dir. Depending on the operating system, you may have to choose a different location since /app/data might be not writable.

$ git clone https://github.com/mxpv/podsync
$ cd podsync
$ make
$ ./bin/podsync --config config.toml

How to debug

Use the editor Visual Studio Code and install the official Go extension. Afterwards you can execute "Run & Debug" "Debug Podsync" to debug the application. The required configuration is already prepared (see .vscode/launch.json).

Run via Docker:

$ docker pull mxpv/podsync:latest
$ docker run \
    -p 8080:8080 \
    -v $(pwd)/data:/app/data/ \
    -v $(pwd)/config.toml:/app/config.toml \
    mxpv/podsync:latest

Run via Docker Compose:

$ docker-compose up

How to make a release

Just push a git tag. CI will do the rest.

Popular Podcast Projects
Popular Playlist Projects
Popular Media Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Go
Golang
Docker
Youtube
Playlist
Cron
Podcast
Soundcloud
Vimeo
Cron Expression