Otaku — Anime & Manga Streaming Platform
A cross-platform desktop application for streaming anime and reading manga, built with Tauri, React, and Rust. Otaku provides a modern, Netflix-inspired interface for discovering, watching, reading, and organizing your anime and manga collection.
- Stream Anime — Watch from multiple sources with HLS adaptive streaming and quality selection
- Read Manga — Full-featured manga reader with multiple reading modes and offline support
- Unified Library — Manage both anime and manga in one place with status tracking
- Release Notifications — Get notified when new episodes or chapters are released
- Offline Support — Download episodes and chapters for offline viewing/reading
- Cross-Platform — Available for Windows, macOS, and Linux
- Features
- Screenshots
- System Requirements
- Installation
- Building from Source
- Usage Guide
- Keyboard Shortcuts
- Configuration
- Extension System
- Troubleshooting
- Contributing
- Tech Stack
- Project Structure
- License
- Disclaimer
- Stream anime from multiple sources with adaptive bitrate streaming
- Full HLS (HTTP Live Streaming) support with automatic quality adjustment
- Manual quality selection: 1080p, 720p, 480p, 360p
- Multiple server options for each episode with easy switching
- Seamless episode navigation with next/previous controls
- Automatic progress saving with resume functionality
- Native fullscreen support with smooth transitions
- Download episodes for offline viewing
- Full-featured manga reader with smooth page navigation
- Multiple reading modes:
- Single Page — One page at a time
- Double Page — Two pages side by side (manga spread view)
- Vertical Scroll — Continuous scrolling (webtoon style)
- Chapter navigation with progress tracking
- Reading progress auto-save with resume support
- Download chapters for offline reading
- Support for both traditional manga and webtoons
- Unified library for both anime and manga
- Status tracking: Watching/Reading, Completed, Plan to Watch/Read, On Hold, Dropped
- Favorites system for quick access to preferred titles
- Watch/read history tracking across all episodes and chapters
- Continue watching and continue reading sections on home page
- Filter and sort library by media type, status, or favorites
- Centralized notification management with bell icon in navigation
- Release Alerts — Get notified when new episodes/chapters release
- Automatic background checks (configurable: 6h, 12h, 24h, 48h intervals)
- Manual "Check Now" button for instant checking
- Tracks ongoing series in your library and favorites
- Tabbed Interface — Separate "All" and "Releases" tabs
- Download completion and progress notifications
- Mark as read, dismiss, and clear all functionality
- Notification persistence across app restarts
- Real-time search with instant results as you type
- Browse anime and manga separately with dedicated pages
- Current Season Tab — Dedicated view for seasonal anime (e.g., Winter 2026)
- Full listing sorted by rating
- Infinite scroll pagination
- Enhanced Home Page categories:
- Hot Today — Daily trending anime
- New Episodes — Recently updated anime with new releases
- All-Time Classics — Top-rated anime sorted by score
- Last Aired Date display on media cards for airing anime
- Dynamic genre filtering with count indicators
- Browse over 100 genres and tags fetched from sources
- Multi-genre filtering support for refined searches
- Related anime/manga suggestions on detail pages
- Download episodes and chapters for offline access
- Batch download support for entire series or selected items
- Real-time download progress tracking
- Pause, resume, and cancel functionality
- Automatic file organization by series
- Storage usage monitoring
- Downloaded content available without internet connection
- Dark theme optimized for extended viewing sessions
- Responsive design adapting to various window sizes
- Three grid density options: Compact, Comfortable, Spacious
- Modal-based detail views without navigation interruption
- Smooth animations and transitions throughout
- Keyboard-first navigation support
- NSFW content filtering
- Cross-platform support for Windows, macOS, and Linux
- Native performance with Rust backend
- Low memory footprint compared to Electron alternatives
- SQLite database for local data persistence
- Modular extension system for content sources
- Secure sandboxed JavaScript execution for extensions
- Automatic app updates with changelog notifications
The main home screen displaying continue watching, continue reading, trending anime, and personalized recommendations.
The anime browser page with search functionality and genre-based filtering.
Browse manga with search, genres, and filtering options.
Detailed anime information showing synopsis, metadata, episode list, and related anime.
Manga detail view with chapter list, download options, and reading progress indicators.
Full-featured video player with custom controls, quality selection, and server switching.
Clean manga reader with multiple reading modes and chapter navigation.
Personal library with anime and manga organized by status categories.
Notification center with release alerts and download notifications.
Download manager showing anime episodes and manga chapters with progress tracking.
Application settings including appearance, playback, reader preferences, and storage management.
| Component | Windows | macOS | Linux |
|---|---|---|---|
| Operating System | Windows 10 version 1803+ | macOS 10.15 Catalina+ | Ubuntu 20.04, Fedora 33+ |
| Processor | 64-bit Intel or AMD | Intel or Apple Silicon | 64-bit Intel, AMD, or ARM |
| Memory | 4 GB RAM | 4 GB RAM | 4 GB RAM |
| Storage | 200 MB for application | 200 MB for application | 200 MB for application |
| Display | 1280 x 720 minimum | 1280 x 720 minimum | 1280 x 720 minimum |
| Network | Broadband connection | Broadband connection | Broadband connection |
| Component | Specification |
|---|---|
| Memory | 8 GB RAM or more |
| Storage | SSD with 20 GB+ free space for downloads |
| Display | 1920 x 1080 or higher resolution |
| Network | 25 Mbps or faster for HD streaming |
Windows:
- Microsoft Edge WebView2 Runtime (automatically installed if not present)
- Visual C++ Redistributable (included with installer)
macOS:
- No additional runtime dependencies required
- Rosetta 2 for Apple Silicon when running Intel builds (automatic)
Linux:
- WebKitGTK 4.1
- libappindicator3 or libayatana-appindicator3
- GStreamer with appropriate codecs for media playback
Pre-built installers and packages are available for all supported platforms on the GitHub Releases page.
Latest Release: https://github.com/vishnukv64/otaku/releases/latest
All Releases: https://github.com/vishnukv64/otaku/releases
| Platform | Architecture | Filename | Description |
|---|---|---|---|
| Windows | x64 (Intel/AMD) | otaku_VERSION_x64-setup.exe |
NSIS installer with automatic WebView2 installation |
| Windows | x64 (Intel/AMD) | otaku_VERSION_x64_en-US.msi |
MSI package for enterprise deployment |
| macOS | ARM64 (Apple Silicon) | otaku_VERSION_aarch64.dmg |
Disk image for M1, M2, M3 Macs |
| macOS | x64 (Intel) | otaku_VERSION_x64.dmg |
Disk image for Intel-based Macs |
| Linux | x64 (Intel/AMD) | otaku_VERSION_amd64.deb |
Debian package for Ubuntu, Debian, and derivatives |
| Linux | x64 (Intel/AMD) | otaku_VERSION_amd64.rpm |
RPM package for Fedora, RHEL, and derivatives |
| Linux | x64 (Intel/AMD) | otaku_VERSION_amd64.AppImage |
Portable AppImage requiring no installation |
Replace VERSION with the actual version number (e.g., 0.2.0).
- Download
otaku_VERSION_x64-setup.exefrom the releases page - Run the downloaded installer
- If prompted by Windows SmartScreen, click "More info" then "Run anyway"
- Follow the installation wizard
- Launch Otaku from the Start Menu or desktop shortcut
The installer will automatically download and install Microsoft Edge WebView2 Runtime if not present.
Silent Installation (Command Line):
msiexec /i otaku_VERSION_x64_en-US.msi /quietOtaku ships a Homebrew Cask (via the vishnukv64/homebrew-otaku tap) that auto-selects the right DMG for your Mac's architecture:
brew tap vishnukv64/otaku
brew install --cask otakuOr, in a single command:
brew install --cask vishnukv64/otaku/otakuTo upgrade later:
brew upgrade --cask otakuThe app also self-updates via the in-app updater.
- Determine your Mac's architecture: Apple menu → "About This Mac" → "Chip"
- "Apple M1/M2/M3" → download
aarch64.dmg - "Intel Core" → download
x64.dmg
- "Apple M1/M2/M3" → download
- Double-click to mount, drag Otaku to Applications
- On first launch, if blocked by Gatekeeper, run:
xattr -cr /Applications/otaku.app
sudo apt install ./otaku_VERSION_amd64.debsudo dnf install ./otaku_VERSION_amd64.rpmchmod +x otaku_VERSION_amd64.AppImage
./otaku_VERSION_amd64.AppImage| Tool | Minimum Version | Purpose |
|---|---|---|
| Node.js | 18.0 | JavaScript runtime |
| pnpm | 8.0 | Package manager |
| Rust | 1.70 | Backend compilation |
| Git | 2.0 | Source code management |
Ubuntu/Debian:
sudo apt install -y build-essential libssl-dev libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev librsvg2-dev patchelfFedora:
sudo dnf groupinstall "Development Tools"
sudo dnf install openssl-devel webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-develmacOS:
xcode-select --install# Clone the repository
git clone https://github.com/vishnukv64/otaku.git
cd otaku
# Install dependencies
pnpm install
# Run in development mode
pnpm tauri dev
# Build for production
pnpm tauri build- Click Anime or Manga in the navigation bar
- Use the search bar to find specific titles
- Click genre tags to filter content
- Select multiple genres for combined filtering
- Click on any anime card to open details
- Click "Watch Now" or select a specific episode
- In the video player:
- Use quality/server buttons to change source
- Press N/P for next/previous episode
- Progress auto-saves for resuming later
- Click on any manga card to open details
- Click "Read Now" or select a specific chapter
- In the manga reader:
- Use arrow keys or click to navigate pages
- Press M to change reading mode
- Progress auto-saves for resuming later
- Navigate to Library in the navigation bar
- Toggle between Anime and Manga tabs
- Filter by status: Watching, Completed, Plan to Watch, etc.
- Add items from their detail modals
- Right-click items to change status
- Click the bell icon in the navigation bar
- Switch to Releases tab for new episode/chapter alerts
- Configure auto-check interval via the settings gear
- Click "Check Now" for immediate checking
- Click notification actions to jump directly to new content
- Open anime/manga details
- Click "Download All" or "Select Episodes/Chapters"
- Monitor progress in the Downloads section
- Downloaded content shows a green indicator
- Access offline content anytime without internet
| Shortcut | Action |
|---|---|
Cmd/Ctrl + K |
Open spotlight search |
/ |
Focus search bar |
Escape |
Close modal or exit fullscreen |
| Shortcut | Action |
|---|---|
Space / K |
Toggle play/pause |
F |
Toggle fullscreen |
M |
Toggle mute |
← / → |
Seek -10s / +10s |
↑ / ↓ |
Volume +10% / -10% |
N |
Next episode |
P |
Previous episode |
0-9 |
Seek to 0%-90% |
| Shortcut | Action |
|---|---|
← / → |
Previous / Next page |
Space |
Next page |
M |
Cycle reading mode |
F |
Toggle fullscreen |
N |
Next chapter |
P |
Previous chapter |
Escape |
Exit reader |
Windows:
%APPDATA%\com.otaku.player\
macOS:
~/Library/Application Support/com.otaku.player/
Linux:
~/.config/com.otaku.player/
~/.local/share/com.otaku.player/
Otaku uses SQLite for local data storage containing:
- Watch and reading history with progress
- Library entries and status
- Media metadata cache
- Download records
- Notification history
- Release tracking data
Otaku uses a modular extension system to support multiple content sources.
- Extensions run in a QuickJS sandbox without filesystem access
- Network requests are limited to whitelisted domains
- No access to Node.js or browser APIs
- All communication through a defined interface
| Method | Purpose |
|---|---|
search(query, page) |
Search for anime/manga by title |
discover(page, sortType, genres) |
Browse with filters |
getDetails(id) |
Get detailed information |
getSources(episodeId) |
Get video sources (anime) |
getChapterImages(chapterId) |
Get chapter images (manga) |
getTags(page) |
Get available genres and tags |
Windows: Ensure WebView2 Runtime is installed. Reinstall if necessary.
macOS: Run xattr -cr /Applications/otaku.app to remove quarantine.
Linux: Verify dependencies are installed. Run from terminal to see errors.
- Check your internet connection
- Try switching to a different server
- Try a lower quality setting
- Wait and retry (server may be temporarily unavailable)
- Ensure sufficient disk space
- Check downloads folder is writable
- Try a different server source
Warning: This deletes all data including library and history.
# macOS
rm -rf ~/Library/Application\ Support/com.otaku.player
# Linux
rm -rf ~/.config/com.otaku.player ~/.local/share/com.otaku.player
# Windows (PowerShell)
Remove-Item -Recurse -Force "$env:APPDATA\com.otaku.player"Include: OS version, app version, steps to reproduce, expected vs actual behavior, logs/screenshots.
Submit issues: https://github.com/vishnukv64/otaku/issues
| Technology | Purpose |
|---|---|
| React 18 | UI framework |
| TypeScript 5 | Type-safe JavaScript |
| Tailwind CSS 4 | Utility-first styling |
| Zustand 5 | State management |
| TanStack Router | Client-side routing |
| Vite 6 | Build tool |
| HLS.js | HTTP Live Streaming |
| Technology | Purpose |
|---|---|
| Tauri 2 | Desktop application framework |
| Rust | Backend language |
| SQLite | Local database |
| QuickJS | JavaScript sandbox for extensions |
| Tokio | Async runtime |
| Axum | HTTP server for video streaming |
| SQLx | Database toolkit |
otaku/
├── src/ # Frontend source
│ ├── components/
│ │ ├── layout/ # AppShell, TopNav
│ │ ├── media/ # MediaCard, MediaDetailModal, MangaDetailModal
│ │ ├── player/ # VideoPlayer, DownloadManager
│ │ ├── reader/ # MangaReader
│ │ └── notifications/ # NotificationCenter
│ ├── routes/ # Page components
│ ├── store/ # Zustand stores
│ ├── hooks/ # Custom React hooks
│ └── utils/ # Utilities, Tauri commands
├── src-tauri/ # Backend source
│ ├── src/
│ │ ├── commands.rs # Tauri command handlers
│ │ ├── extensions/ # Extension system
│ │ ├── database/ # SQLite operations
│ │ ├── downloads/ # Download manager
│ │ ├── notifications.rs # Notification system
│ │ ├── release_checker.rs # Release tracking
│ │ └── video_server.rs # Local video server
│ ├── migrations/ # Database migrations
│ └── extensions/ # Bundled extensions
└── docs/ # GitHub Pages landing page
├── index.html # Landing page
├── styles.css # Styling
├── script.js # OS detection and downloads
└── screenshots/ # Application screenshots
This project is licensed under the MIT License. See LICENSE for details.
This application is intended for educational and personal use only. The developers do not host, store, or distribute any copyrighted content. All media content is retrieved from third-party sources through user-installed extensions. Users are solely responsible for ensuring they have the legal right to access content in their jurisdiction.
By using this application, you agree to comply with all applicable laws and regulations regarding digital media consumption.
- Tauri — Cross-platform desktop framework
- React — UI library
- Rust — Backend language
- Tailwind CSS — CSS framework
- HLS.js — HLS playback
- QuickJS — JavaScript sandbox
Special thanks to the open-source community for their continuous contributions.









