MinusPod

MinusPod

A self-hosted de-advertising service for podcast enthusiasts that automatically transcribes programs before playback, identifies sponsored clips, and outputs purified RSS and processed audio.

249GitHub
Description

Lazy cat OIDC login has been integrated. ##Functional characteristics - Podcast subscriptions and RSS proxies: You can add public podcast RSS to generate purified private feeds for podcast clients to continue to use. - Audio transcriptions and ad recognition: Support local Whisper or OpenAI-compatible transcriptions interfaces, combined with LLM to determine oral advertisements and dynamic interbreaks. - Automatic editing and audio replacement: After an advertisement is detected, the audio is automatically cropped and a prompt tone is inserted. Subsequent repeated playback directly hits the processed result. - Advertisement review editor: View the test reasons, confidence levels, start and end times in the Web UI, and manually confirm, adjust boundaries or mark misjudgments. - Pattern learning and inter-temporal reuse: Sponsor patterns, audio fingerprints and misjudgment elimination rules will be precipitated from user correction results, making subsequent program processing more stable. - History, statistics and queue monitoring: Built-in processing history, SSE real-time status bar, statistics page, mode management page and system settings page. - API Documentation and Webhooks: Provides extended capabilities such as OpenAPI Documentation, Webhook events, and PodcastIndex search. ###Usage process 1. After logging in, click on the top right 'Toggle menu' from the home page 'Feeds' to enter 'Settings'. 2. Select a Provider first from LLM Provider. If you use Olama in the AI Pod, select `Olama`. 3. Continue filling in the same block: `Base URL`: Your Olama OpenAI-compatible entry must have `/v1`; `Ollama API key`: If the service requires authentication, enter the key first, and then click the small button `Save` below this line. 4. Note that there are two save actions here: Save only saves API keys; The `Save Changes 'in the floating bar at the bottom of the page will save the`Provider`,`Base URL`and model selection. 5. Click Refresh in AI Models to pull the model list, then manually select a large model that can be talked to for Ad Detection Model, Verification Model, and Chapters Model, and then click Save Changes at the bottom of the page. 6. Confirm Whisper protocol in Transcription: If you continue to use the default 'Local (faster-whisper)', the CPU can also run, but the speed is slower; If you have a remote Whisper service, switch Backend to Remote API (OpenAI-compatible) and fill in the corresponding address. 7. Go to the 'Add Feed' page and enter the podcast RSS into the 'Podcast RSS Feed URL'; if you already have a podcast subscription list, you can also go 'Import from OPML'. 8. Go back to the Feeds page and use Refresh All, Refresh feed on a single card, or open the podcast details page to continue working on subsequent episodes. 9. After clicking Add Feed for the first time, the page may stay at Adding Feed... For a while. This is because the current implementation will simultaneously complete the first round of RSS updates, cover grabbing and episode discovery, and then jump to the feed details page. Note: The RSS link requirements are "RSS/Atom feed that is accessible on the public network, can parse podcast titles, and has audio enclosure for each program item", and is not an ordinary web link. Test link: feeds.twit.tv/sn.xml ###Quick overview of interface navigation - `Feeds`: The application home page displays entries such as subscribed podcasts,`Refresh All`, and `Add Feed`. - `Add New Feed`: Add a single RSS, or import it in batches via OPML. - `Search`: Full-text search page, which can search for episodes, podcasts, patterns, and sponsors, and supports `Rebuild Index`. - `Ad Patterns`: View sponsor patterns, misjudgments and pattern statistics. - `Processing History`: View historical processing records and export `CSV` / `JSON`. - `Stats`: View aggregate statistics such as processing times, time consuming, time saving, and LLM costs. - `Settings`: Centrally configure LLM, Whisper, storage, security, Webhook and other system settings.

Screenshots
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
Mobile Screenshots
Mobile Screenshot 1
Mobile Screenshot 2
Mobile Screenshot 3
App Information
Version
2.0.18
Package Size
29.5 KB
Image Size
5.55 GB
Updated
May 11, 2026
Source Code
ttlequals0
Platform Support
PCMobile
Keywords
PodcastPodcastDe-AdvertisingRSSWhisper