Skip to content

aaronzipp/deeptube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeepTube

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.

Configuration

  1. Create subscriptions.yaml and playlists.yaml files 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"]
  2. To obtain channel/playlist IDs:

    • For channels:
      • Visit the channel's YouTube page and click onto "...more" click onto "...more" on the channel page
      • Scroll down and click on "Share channel" the bottom of the channel info
      • Click on "Copy channel ID"
        the channel ID
    • For playlists: Open the playlist, copy the ID from the URL (e.g., youtube.com/playlist?list=PL...).
  3. Set up Google YouTube Data API credentials:

    • Visit YouTube Data API to enable the API and obtain an API key.
    • Create a .env file with YOUTUBE_API_KEY=your_api_key_here.
    • This makes it possible to get the video information.
  4. Create a videos.db file and create the sqlite tables defined in sqlite/schema.sql

Building the Executable

Ensure you have GO installed with at least version 1.24.5

  • Windows: Run go build -ldflags -H=windowsgui to 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 build should be enough. If you are using an older desktop environment and run into problems refer to this link.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages