Local-first manga/manhwa reader with AniList sync and provider scraping. ManVerse runs on your machine, stores your library locally, and lets you read and track progress without a hosted backend.
Add screenshots and a short demo video here.
- Screenshots: drop files into a folder like
docs/assets/and link them here. - Video: link a short demo (YouTube, MP4, or GIF).
- Local-first library with history and progress stored on your machine.
- AniList sync to keep your profile up to date.
- Provider search + reading with manual mapping when titles differ.
- Offline downloads for chapters.
- Desktop notifications for new releases (optional).
- In-app updates for the desktop app.
- Download the latest
ManVerse-Setup.exefrom Releases. - Run the installer and launch ManVerse.
Use the one-line installer after the GitHub Pages repo is published:
curl -fsSL https://ahm4dd.github.io/ManVerse/install.sh | sudo bashManual repo setup (apt):
sudo install -d -m 0755 /usr/share/keyrings
curl -fsSL https://ahm4dd.github.io/ManVerse/public.key | sudo gpg --dearmor -o /usr/share/keyrings/manverse.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/manverse.gpg] https://ahm4dd.github.io/ManVerse/deb stable main" | \
sudo tee /etc/apt/sources.list.d/manverse.list > /dev/null
sudo apt update
sudo apt install manverseManual repo setup (dnf):
sudo tee /etc/yum.repos.d/manverse.repo > /dev/null <<'REPO'
[manverse]
name=ManVerse
baseurl=https://ahm4dd.github.io/ManVerse/rpm/
enabled=1
gpgcheck=1
gpgkey=https://ahm4dd.github.io/ManVerse/public.key
REPO
sudo dnf install manverseyay -S manverse-binIf AppImage fails with FUSE errors:
sudo pacman -S fuse2Download ManVerse-<version>.AppImage from Releases and run it directly.
- Desktop app: checks automatically and can update in-app.
- apt/dnf: update via your package manager.
- AUR: update via your AUR helper.
If the in-app updater does not find updates, verify the release assets include latest-linux.yml.
Create your own AniList app:
- Open https://anilist.co/settings/developer
- Create a new app
- Set the redirect URL:
http://localhost:3001/api/auth/anilist/callback
- Paste Client ID/Secret in Settings → AniList setup
If you enable LAN hosting, update the redirect URL to:
http://<your-lan-host>:3001/api/auth/anilist/callback
Only one redirect URL can be active at a time.
ManVerse runs locally by default. For LAN access or production setups:
- Frontend: React + Vite (
app/) - API: Bun + Hono (
api/) - Scrapers + shared libs:
packages/* - Desktop app: Electron wrapper (
desktop/)
No hosted backend required.
Prereqs: Bun 1.3+
bun install
bun run devSeparate terminals:
bun run dev:api
bun run dev:appDesktop dev:
bun run dev:desktopBuild desktop locally:
bun run build:desktopDatabase:
- Linux:
~/.config/manverse/data.db - Windows:
%APPDATA%/manverse/data.db
Downloads:
- Linux:
~/.config/manverse/downloads - Windows:
%APPDATA%/manverse/downloads
- AniList login fails: verify Client ID/Secret and redirect URL.
- Port already in use: change
PORTinapi/.env. - CORS errors: set
CORS_ORIGINto your frontend URL. - Provider issues: try another provider or re-map the series.
Apache-2.0. See LICENSE.