Skip to content

Repository files navigation

IntroHater Logo

✨ IntroHater

The Ultimate Skip Intro Addon for Stremio

Skip the Boring. Focus on the Story.

Version Stremio License

GitHub Stars Docker Pulls Node.js


Users Segments



🌐 Website📚 Catalog📖 API Docs🏆 Leaderboard🤝 Contribute👤 Profile




IntroHater Demo

Experience seamless intro skipping across all your devices



🎯 What is IntroHater?

IntroHater is a next-generation Stremio addon that automatically skips intros, outros, and recaps for movies and TV shows. Unlike basic seeking scripts, IntroHater employs Smart HLS Proxying to surgically modify video streams on-the-fly — physically removing unwanted segments before they ever reach your player.

🚀 Instant 🧠 Intelligent 🔒 Private
Zero-delay segment removal with pre-fetched data Multi-source skip detection with fallback logic Open source, no tracking, your data stays yours

⚡ Key Features

🎬 Smart HLS Proxy Engine

Our proprietary HLS proxy converts streams and stitches content in real-time to skip intros seamlessly — no buffering, no glitches, just pure content.

🧠 Multi-Source Skip Detection

Priority: Community DB → Ani-Skip → Chapter Detection

Three-tier fallback system ensures skip data for virtually any content.

📺 Universal Compatibility

Works flawlessly across:

  • TV: Android TV, Samsung Tizen, LG WebOS
  • Mobile: iOS & Android (VLC/Outplayer)
  • Desktop: Windows, macOS, Linux

🔗 Multi-Debrid Support

Works with Real-Debrid, TorBox, Premiumize, and AllDebrid.

✨ TorBox Special Feature: Automatic HLS transcoding for Web Stremio compatibility — no black screens or freezing on browser-based players!

👥 Community-Powered Database

Users contribute skip segments, building an ever-growing library. Your contributions help millions skip intros.

🏆 Gamified Leaderboard

Track your contributions, earn ranks, and compete with the community. Every segment submitted counts!

👤 User Profiles Dashboard

View your personal stats, contribution breakdown, and track your achievements with 15+ earnable badges. Monitor your time saved and watch history.

🤝 Easy Contribution Portal

Search for any show and submit skip segments in seconds. Report issues with existing segments and help keep the database accurate.


🧬 Architecture

flowchart LR
    subgraph Client["👤 Client"]
        A[🎬 Stremio]
    end
    
    subgraph IntroHater["🎯 IntroHater Server"]
        B[📡 Stream Router]
        C[(Skip Database)]
        D[✂️ HLS Proxy]
    end
    
    subgraph External["☁️ External Scrapers"]
        E[AIOstreams]
        F[Comet / Torrentio]
        G[Debrid Services]
    end
    
    A -->|1. Request| B
    B -->|2. Get Streams| E
    E -->|Fetches from| F
    F -->|Resolves via| G
    B -->|3. Lookup Skips| C
    B -->|4a. With Skip| D
    D -->|Skip Manifest| A
    B -->|4b. No Skip| A
    
    style B fill:#6366f1,stroke:#4f46e5,color:#fff
    style C fill:#22c55e,stroke:#16a34a,color:#fff
    style D fill:#f59e0b,stroke:#d97706,color:#fff
    style E fill:#3b82f6,stroke:#2563eb,color:#fff
Loading

How It Works

  1. 📥 Request — Stremio requests streams from IntroHater
  2. 🔄 Fetch — IntroHater queries your configured scraper (AIOstreams/Comet) — rate limits handled by external service, not IntroHater!
  3. 🎯 Lookup — Checks Community DB → Ani-Skip → Video Chapters for skip timestamps
  4. ✂️ Route
    • With skip data: Generates HLS manifest that cuts out intros
    • Without skip data: Passes stream directly (zero overhead)

🔌 Skip Data Sources

Source Coverage Description
📚 Community Database Growing Daily User-submitted skip segments with voting and verification
🎌 Ani-Skip Integration 150,000+ Episodes Massive anime skip database covering most popular series
📼 Chapter Detection Automatic FFprobe analysis of embedded video chapters (fallback)

🚀 Quick Start

For Users

Before you start, you need:

  1. Stremio installed (desktop, mobile, or TV)
  2. A debrid account (Real-Debrid, TorBox, Premiumize, or AllDebrid)
  3. AIOstreams configured with your debrid service + a scraper (Comet recommended)

IntroHater sits on top of those — it adds intro skip to streams AIOstreams finds. It is not a standalone scraper.

Install IntroHater

Install flow: Visit introhater.com/configure → paste debrid key + AIOstreams URL → validate → install to Stremio

On Android TV / Fire Stick (MKV torrents): pick the Direct stream for playback; use Skip on desktop for auto-skip.


For Developers

📦 Local Development Setup

Prerequisites

  • Node.js 18+
  • MongoDB (local or Atlas)
  • FFmpeg (auto-installed on first run for Windows)

Installation

# Clone the repository
git clone https://github.com/introhaterapp/IntroHater.git
cd IntroHater

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env with your settings

Environment Variables

# Required
MONGODB_URI=mongodb://localhost:27017/introhater

# Optional
OMDB_API_KEY=your_omdb_key      # For poster fetching
ADMIN_PASSWORD=your_admin_pwd    # For admin panel access
PORT=7005                        # Default: 7005

Run

# Development
npm start

# Server runs at http://localhost:7005
🐳 Docker Deployment

Quick Start with Docker Compose (Recommended)

The easiest way to run IntroHater locally with MongoDB:

# Start everything (MongoDB + IntroHater)
docker-compose up -d

# View logs
docker-compose logs -f introhater

# Stop
docker-compose down

The app will be available at http://localhost:7005

Manual Docker Build

# Build
docker build -t introhater .

# Run
docker run -d \
  -p 7005:7005 \
  -e MONGODB_URI=mongodb://host.docker.internal:27017/introhater \
  --name introhater \
  introhater

Or use render.yaml for one-click deployment to Render.com.

☁️ Cloud Deployment (Render/Railway)

Production (introhater.com) runs on Render behind Cloudflare. Pushes to main auto-deploy via render.yaml (autoDeploy: true).

To deploy your own instance:

  1. Fork this repository
  2. Connect to Render.com or Railway.app
  3. Set environment variables
  4. Deploy!

📡 API Reference

IntroHater exposes a RESTful API for integration and data access.

Endpoint Method Description
/api/stats GET Global statistics (users, segments, time saved)
/api/leaderboard GET Top contributors ranking
/api/catalog GET Searchable skip segment catalog
/api/activity GET Live feed of recent contributions
/api/skip/:videoId GET Get skip segments for a specific video

Full API documentation: introhater.com/api.html


📊 Project Stats

Metric Value
Active Users Growing Community
Skip Segments 150,000+
Supported Shows Thousands
Time Saved Counting...

🛠️ Tech Stack

Node.js Express MongoDB FFmpeg Docker

  • Backend: Node.js + Express
  • Database: MongoDB (with optimized indexes)
  • Media Processing: FFmpeg / FFprobe
  • Stremio SDK: Official stremio-addon-sdk
  • Security: Helmet, HPP, Rate Limiting, XSS Protection

🤝 Contributing

We welcome contributions from the community! Here's how you can help:

  1. 🐛 Report Bugs — Open an issue with detailed reproduction steps
  2. 💡 Suggest Features — Share your ideas for improvements
  3. 📝 Submit Skip Segments — Use the Contribute Portal to add missing data
  4. 👤 Track Your Stats — View your achievements and progress on your Profile
  5. 🔧 Code Contributions — Fork, develop, and submit a PR

Contribute Skip Segments Contributing Guide


📜 License

MIT License — Free and open source, forever.

Made with ❤️ by the IntroHater Community



Try IntroHater



⭐ Star this repo if IntroHater saves you time!

About

No description, website, or topics provided.

Resources

Contributing

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages