Skip to content

kryptonyousuke/AniHub

Repository files navigation

AniHub (Alpha)

YOUR streaming app.

GitHub commits since latest release

Introduction

Anihub is an open-source streaming platform engineered to end the chaos of content fragmentation. Currently, consuming anime and manga means jumping between disparate ecosystems, dealing with inconsistent libraries, and juggling multiple interfaces.

This project solves this by unifying your entire media library into a single, fluid, and high-performance interface. Powered by an open plugin system, it allows the community to aggregate any source seamlessly. Anyone can develop and distribute plugins, ensuring that your content is always just a click away.

anihub screenshot

Plugin System (WIP)

AniHub does not provide any content by default.

All anime and manga sources are delivered through external plugins. Currently supported:

  • Python plugins (executed as external processes)

Planned:

  • JavaScript / TypeScript plugins
  • Native binaries
  • ⚠️ Plugins are responsible for content sources, legality and ads delivery.

AniHub does not host or distribute any media content.

Features

  • Anime Streaming: Does support modern streaming protocols, such as HLS and DASH + simple video files.
  • Manga Reader: We have a simple manga reader (still under development, but it works).
  • Plugin Support: currently supports only python plugins (under development, but works). Future versions will support JS/TS and compiled binaries.

How to build

Install the pnpm package.

On linux distros that have apt:

    sudo apt install pnpm -y

For Arch based distros:

    sudo pacman -S pnpm --noconfirm

You can install pnpm on windows following the instructions from the official website here.

Build the project

Clone this repository:

    git clone https://github.com/kryptonyousuke/AniHub
    cd AniHub

And run:

    pnpm install # install the projects dependencies
    pnpm exec electron-rebuild -f -w better-sqlite3 # electron does use its own node version, we need to rebuild native node addons.
    pnpm run build # builds the project

This will make the correct build for your system. If you want to build for a specific system:

    # Windows build (portable & installer): 
    pnpm run build --win
    
    # Linux build (AppImage, deb, pacman, .tar.gz, .tar.xz, rpm, flatpak):
    pnpm run build --linux
    
    # Specific format:
    pnpm run build --linux flatpak

Testing

If you don't want to compile the entire project, you can just test it in a electron instance by running:

    pnpm run dev

For developers

Architecture Overview

AniHub is composed of three main layers:

  • Renderer (React + Vite)
    Responsible for UI, navigation, video playback and manga reader.

  • Electron (Main + Preload)
    Handles native APIs, filesystem access and plugin execution.

  • Plugins (External)
    Providers written in Python (currently) that fetch metadata and streaming sources.

Planned features

Home features:

  • Random banner

Settings features:

  • Detailed usage metrics;
  • Discord Rich Presence;
  • Plugins needs a json to describe themselves;
  • Player tweaks;
  • General usage and sensitive content tweaks.

Anime features

  • History;
  • Favorite.

Manga features:

  • History
  • Favorite;
  • Pages counter;
  • Optional season/chapter division (delegated by the plugin);
  • Number of favorites/likes.

Roadmap (Alpha)

  • HLS / DASH playback;
  • Manga reader (basic);
  • Python plugin execution;
  • JS/TS plugins;
  • Better error handling;
  • Navigation history;
  • Internal database;
  • Basic plugin manager.
  • All planned features were implemented;

Roadmap (Beta)

  • UI polish;
  • All needed icons were added;
  • Entire internal plugin management (plugin import + communication) is complete;
  • Design is responsive enough;
  • Plugin API documentation.

Roadmap (Release Candidate)

  • 100% lazy loading based.

About

Plugin-driven and cross-platform desktop anime client & manga reader.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors