DeepTube is a desktop application for managing YouTube subscriptions and playlists
without having the drawbacks of algorithmically
curated
content.
It fetches recent videos from specified subscriptions and playlists,
stores them in a local SQLite database, and displays them in a YT-like subscription box.
Users can watch videos directly or hide them to declutter the view.
The app runs in the system tray and refreshes videos automatically every 30 minutes.
-
Create
subscriptions.yamlandplaylists.yamlfiles in the project root with your YouTube subscriptions and playlists.Example
subscriptions.yaml:- channel: "Channel Name" id: "UCxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" categories: ["Tech", "News"] live: true exclude_keywords: ["sponsored", "ad"] shorts: false
Example
playlists.yaml:- playlist: "Playlist Name" id: "PLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" categories: ["Music"]
-
To obtain channel/playlist IDs:
-
Set up Google YouTube Data API credentials:
- Visit YouTube Data API to enable the API and obtain an API key.
- Create a
.envfile withYOUTUBE_API_KEY=your_api_key_here. - This makes it possible to get the video information.
-
Create a
videos.dbfile and create the sqlite tables defined insqlite/schema.sql
Ensure you have GO installed with at least version 1.24.5
- Windows: Run
go build -ldflags -H=windowsguito build a GUI executable. - Mac: Additional configuration is required for system tray functionality. Refer to the fyne-io/systray README for setup instructions. Then run
go build. - Linux: On Linux running
go buildshould be enough. If you are using an older desktop environment and run into problems refer to this link.


