8000 GitHub - ttlequals0/podweb: A modern, responsive web interface for the go-podcast-sponsor-block project. Convert YouTube playlists into ad-free podcast RSS feeds with a beautiful, mobile-friendly UI.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A modern, responsive web interface for the go-podcast-sponsor-block project. Convert YouTube playlists into ad-free podcast RSS feeds with a beautiful, mobile-friendly UI.

License

Notifications You must be signed in to change notification settings

ttlequals0/podweb

Repository files navigation

πŸŽ™οΈ PodWeb

License: MIT Docker Hub Docker Pulls Node.js

A modern, responsive web interface for the go-podcast-sponsor-block project. Convert YouTube playlists into ad-free podcast RSS feeds with a beautiful, mobile-friendly UI.

✨ AI-Powered Development: This project was rapidly developed using AI assistance with Claude Code, showcasing modern full-stack development practices and demonstrating the potential of AI-human collaboration in software engineering.

🌟 Key Features

  • 🎨 Modern Dark UI - Clean, podcast-themed interface with professional design
  • πŸ“± Mobile-First - Responsive design that works perfectly on all devices
  • πŸ”„ Persistent Storage - Feed history shared across all users using Docker volumes
  • πŸ–ΌοΈ Smart Image Handling - Automatic podcast artwork fetching with CORS proxy
  • πŸ“‹ One-Click Copy - Instantly copy RSS URLs to clipboard
  • πŸ”§ Zero Configuration - Deploy with a single docker-compose up command
  • πŸš€ Fast & Lightweight - Optimiz 8000 ed nginx + Node.js architecture
  • πŸ“¦ Pre-built Images - Available on Docker Hub

Screenshots

Main Interface with Feed History

PodWeb Main Interface

The main PodWeb interface showing the feed creation form and persistent feed history with podcast artwork

RSS Feed Generation

RSS Feed Generated

Generated RSS feed URL with copy-to-clipboard functionality

The screenshots showcase:

  • Dark theme interface with red accent colors
  • Real podcast artwork automatically fetched from YouTube
  • Persistent feed history showing popular podcasts (Joe Rogan, Bill Burr, etc.)
  • Clean, modern design optimized for both desktop and mobile
  • One-click copy functionality for RSS URLs

Features

  • Simple Web Interface: Easy-to-use form for creating RSS feeds from YouTube playlists
  • Mobile-Friendly: Responsive design that works on all devices
  • Shared Feed History: Server-side storage allows all users to see created feeds
  • Persistent Storage: Feed history survives container restarts using Docker volumes
  • One-Click Copy: Copy RSS feed URLs to clipboard with a single click
  • Docker Deployment: Ready-to-deploy with Docker Compose
  • Optional Authentication: Secure feeds with optional token authentication

πŸš€ Quick Start

Prerequisites

  • Docker and Docker Compose
  • Google API Key for YouTube Data API (Get one here)

Quick Start (Using Pre-built Image)

  1. Download the configuration

    # Option 1: Clone the repository for the docker-compose.yml
    git clone https://github.com/YOUR_USERNAME/podweb.git
    cd podweb
    
    # Option 2: Download just the docker-compose.yml
    wget https://raw.githubusercontent.com/YOUR_USERNAME/podweb/main/docker-compose.yml
    wget https://raw.githubusercontent.com/YOUR_USERNAME/podweb/main/.env.example
  2. Configure environment

    cp .env.example .env
    # Edit .env and add your Google API key:
    # GOOGLE_API_KEY=your_google_api_key_here
  3. Deploy with Docker

    docker-compose up -d
  4. Access PodWeb Open your browser to http://localhost:3000

That's it! πŸŽ‰ PodWeb will automatically pull the latest image from Docker Hub and start running.

Building from Source (Optional)

If you prefer to build the image yourself:

  1. Clone and build
    git clone https://github.com/YOUR_USERNAME/podweb.git
    cd podweb
    docker-compose build podweb
    docker-compose up -d

Environment Variables

Variable Required Description
GOOGLE_API_KEY Yes Google API key for YouTube Data API
FEED_TOKEN No Optional authentication token for RSS feeds
BASE_URL No Base URL for the application (auto-detected if not set)

Usage

  1. Open the Web Interface: Navigate to your deployment URL
  2. Enter YouTube Playlist URL: Paste a YouTube playlist URL into the form
  3. Generate Feed: Click "Generate RSS Feed" to create your podcast feed
  4. Copy URL: Use the copy button to copy the RSS feed URL to your clipboard
  5. Add to Podcast App: Paste the RSS URL into your favorite podcast application

Finding Playlist IDs

To find a YouTube playlist ID:

  1. Navigate to the YouTube channel
  2. Click on the "Playlists" tab
  3. Click on the playlist you want to convert
  4. The URL will look like: https://www.youtube.com/playlist?list=PLbh0Jamvptwfp_qc439PLuyKJ-tWUt222
  5. The playlist ID is everything after list=: PLbh0Jamvptwfp_qc439PLuyKJ-tWUt222

Feed URLs

Generated RSS feeds follow this format:

https://your-domain.com/rss/PLAYLIST_ID

With optional token authentication:

https://your-domain.com/rss/PLAYLIST_ID?token=YOUR_TOKEN

Development

Prerequisites

  • Go 1.21 or later
  • Node.js (for development tools, optional)

Running Locally

go run ./cmd/app

The application will start on port 8080.

Building

go build -o podcast-sponsor-block ./cmd/app

API Endpoints

PodWeb Frontend (Port 3000)

  • GET / - Web interface
  • GET /static/* - Static web assets
  • GET /feeds-api/feeds - Get all saved feeds
  • POST /feeds-api/feeds - Save a new feed
  • DELETE /feeds-api/feeds/:id - Remove a saved feed

Podcast Backend (Port 8080)

  • GET /rss/:playlistId - Generate RSS feed from YouTube playlist
  • GET /channel/:channelId - Generate RSS feed from YouTube channel
  • GET /media/:videoId - Serve processed audio files

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ™ Credits & Acknowledgments

This project is built on top of the excellent work by:

  • Author: ikoyhn
  • Purpose: Core podcast processing engine that removes sponsor segments and generates RSS feeds
  • License: Please refer to the original project for licensing information

PodWeb serves as a modern web frontend for this powerful backend service, making it accessible to users who prefer a graphical interface over command-line tools.

AI Development

  • Developed with AI assistance using Claude Code by Anthropic
  • Demonstrates rapid full-stack development through human-AI collaboration

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Note: This frontend is licensed under MIT, but the core functionality depends on go-podcast-sponsor-block. Please respect the licensing terms of both projects.

πŸ†˜ Support

  • Frontend Issues: Open an issue in this repository
  • Backend/Processing Issues: Refer to the go-podcast-sponsor-block project
  • 6B51 Feature Requests: We welcome suggestions for UI/UX improvements!

βš–οΈ Disclaimer

This tool is for educational and personal use. Users are responsible for complying with YouTube's Terms of Service and applicable copyright laws. The developers are not responsible for any misuse of this software.

About

A modern, responsive web interface for the go-podcast-sponsor-block project. Convert YouTube playlists into ad-free podcast RSS feeds with a beautiful, mobile-friendly UI.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published
0