A modern anime streaming experience built with Flutter.
Stream β’ Download β’ Track with AniList β’ Customize everything
Android β’ Windows β’ Linux β’ macOS
AniFox is a modern Flutter-powered anime streaming application focused on providing a smooth, elegant, and feature-rich watching experience β now on desktop as well as mobile.
Whether you're binge-watching your favorite series, downloading episodes for offline viewing, or keeping everything synced with AniList, AniFox keeps your anime library organized and accessible.
Originally based on AnimeStream by FrostNova and expanded with numerous improvements, redesigned UI components, additional features, and continuous maintenance.
v2 "Eclipse" brings the full source into this repository, adds desktop builds, a community extension system, deep customization, and Discord Rich Presence.
No private submodule needed. Clone, run
flutter pub get, build. The whole source tree is here.
- 12 built-in providers β AnimeKai, AnimePahe, Gogoanime, AllAnime, AnimeParadise, MegaPlay, Anikoto, AniZone, AnimeGG, AniDB, AnimeOnsen, Gojo
- Extensions system β add community repositories and install extra sources without waiting for an app update
- Fast episode loading
- Multiple video qualities and servers per episode
- Sub and dub selection
- Subtitle support with full styling controls
- Per-episode server memory ("quick play")
- External player support
- Continue Watching
- Windows β custom frameless-style title bar, desktop player controls, fullscreen toggle
- Linux β native GTK build with tiling-WM aware windowing
- macOS β native build (unsigned, see Installation)
- Android β PiP, home-screen widget, native notifications
- Shared data directory layout and one build pipeline for every target
- Download episodes for offline playback
- Download queue with pause, resume, and retry on failure
- Parallel or queued (one-at-a-time) download modes
- MKV remuxer with optional embedded subtitle tracks
- Direct-download extraction where a source supports it
- Login with AniList
- Automatic watch progress sync
- Update scores
- Manage lists (watching, planning, completed, dropped, paused)
- Track completed anime
- Recently watched synchronization
- MyAnimeList and SimKl account support
- Episode release notifications with cover art and deep links
- Continue Watching widget showing up to 3 entries with progress
- Personalized recommendations
- Watch statistics
- Genre statistics
- Watch time dashboard
- Recent search history
- Settings backup and restore (JSON)
- Material Design 3
- Smooth animations
- Native splash screen with animated intro
- 12 themes, light & dark, AMOLED black
- Custom accent color with automatic readable contrast
- App font selection
- Card corner radius and grid density controls
- Per-section home screen toggles and startup tab selection
- Full subtitle customization (font, size, stroke, shadow, background, margin)
- Haptic feedback toggle
- Discord Rich Presence on desktop
Screenshots coming soon.
| Home | Player | Details |
|---|---|---|
| π· | π· | π· |
| Downloads | Profile | Search |
|---|---|---|
| π· | π· | π· |
Download the latest build from the Releases page.
https://github.com/ItzFallenMe/AniFox/releases
| Platform | Artifact | How to run |
|---|---|---|
| Android | app-release.apk |
Install directly (enable Install Unknown Apps), or grab a split APK for your ABI |
| Windows | windows.zip |
Extract β run anifox.exe |
| Linux | linux.zip |
Extract β ensure system dependencies β run ./anifox |
| macOS | macos.zip |
Extract β drag AniFox.app into Applications |
macOS builds are unsigned. On first launch use right-click β Open, or run
xattr -cr AniFox.appfrom Terminal.
The Linux build requires the following system libraries at runtime (not just build-time):
# Ubuntu / Debian
sudo apt update && sudo apt install -y libwebkit2gtk-4.1-0 libsecret-1-0
# Fedora
sudo dnf install -y webkit2gtk4.1 libsecret
# Arch Linux
sudo pacman -S webkit2gtk-4.1 libsecret
# openSUSE
sudo zypper install webkit2gtk-4.1 libsecret-1-0Quick dependency check:
ldd ./anifox | grep -E "webkit2gtk|secret"
# Should show both libraries foundIf the binary fails to start with error while loading shared libraries: libwebkit2gtk-4.1.so.0, install the packages above and try again.
macOS builds are unsigned. On first launch use right-click β Open, or run
xattr -cr AniFox.appfrom Terminal.
- Flutter 3.44.0 (see
.fvmrc; Dart 3.12+ required) - Git
- Android SDK (for APKs)
- CMake, Ninja, and
libgtk-3-dev(for Linux) - Visual Studio Build Tools (for Windows)
- Xcode (for macOS)
Clone the repository
git clone https://github.com/ItzFallenMe/AniFox.git
cd AniFoxCreate your environment file
cp .env_example .envInstall dependencies
flutter pub getRun (debug)
flutter run --dart-define-from-file=.envBuild a release
# One-shot build + packaging per platform
bash scripts/build.sh android
bash scripts/build.sh windows # or: linux | macos | all
# ...or call Flutter directly
flutter build apk --release --dart-define-from-file=.env
flutter build windows --release --dart-define-from-file=.env
flutter build linux --release --dart-define-from-file=.env
flutter build macos --release --dart-define-from-file=.envSet up your signing keystore in android/app/ and android/key.properties before
building release APKs.
| Script | Purpose |
|---|---|
scripts/check.sh |
flutter pub get + flutter analyze + flutter test |
scripts/build.sh <target> |
Build and package a platform release (android/windows/linux/macos/all) |
scripts/release.sh <version> |
Validate against pubspec.yaml, tag vX.Y.Z, push to trigger CI |
Copy .env_example to .env
| Variable | Required | Description |
|---|---|---|
SIMKL_CLIENT_ID |
For SimKl | Simkl Client ID |
SIMKL_CLIENT_SECRET |
For SimKl | Simkl Client Secret |
DISCORD_APP_ID |
For Discord RPC | Discord Application ID (desktop Rich Presence) |
All three are also available as GitHub Actions secrets for CI builds.
AniFox can load additional sources from community repositories, following the extension approach used by ShonenX.
- Go to Settings β General β Manage Providers
- Add a repository URL (any provins / Mangayomi / AniFox
index.json) - Browse the Available tab and tap install
Installed extensions appear alongside the built-in providers and can be enabled, disabled, or removed at any time.
lib/
βββ core/ # providers, downloader, remuxer, network, database
β βββ anime/
β β βββ providers/ # 12 built-in sources + AnimeProvider interface
β β βββ extensions/ # v2 repo manager + Mangayomi adapter
β β βββ extractors/ # Kwik, Vidtube, Streamwish
β β βββ downloader/ # queue, isolate workers, MKV remux
β βββ app/ # bootstrap, env, theme resolution, Discord RPC
β βββ data/ # Hive settings, preferences, search history
β βββ database/ # AniList / MAL / SimKl / AniSkip clients
β βββ network/ # HTTP client + response cache
β βββ integrations/ # notifications, widget, Discord
β βββ remuxer/ # TS β MKV muxer (H.264, AAC, subtitles)
βββ ui/
β βββ models/ # providers, widgets, bottom sheets
β βββ pages/ # screens (home, search, info, watch, settings)
β βββ theme/ # theme registry + ThemeResolver
βββ main.dart # entry point, deep links, desktop window setup
- Flutter 3.44.0 / Dart 3.12
providerfor state management- Material 3
- Hive for local persistence
better_player+fvpfor playback- Custom isolate-based download manager
- AniList / MyAnimeList / Simkl APIs
awesome_notificationsfor scheduled episode alertshome_widgetfor the Android widgetdart_discord_presencefor desktop Rich Presence- Custom TS β MKV remuxer (H.264, AAC, subtitle tracks)
Contributions are welcome!
- Fork the repository
- Create a new branch
git checkout -b feature/amazing-feature- Run the checks before committing
bash scripts/check.sh- Commit your changes
git commit -m "feat: add amazing feature"- Push and open a Pull Request
git push origin feature/amazing-featureCI runs the same analyze + test gate before any build is published.
- AniList Integration
- Downloads
- Notifications
- Continue Watching
- Widgets
- Windows, Linux & macOS support
- Extension system
- Discord Rich Presence
- Deep theming & customization
- Chromecast Support
- Android TV Support
- Better Recommendation Engine
- More Streaming Providers
- Multi-language Support
- iOS Support (Future)
Yes.
No.
AniFox acts as a client that accesses publicly available third-party sources.
Yes.
Supported providers allow offline downloading.
No.
AniList is optional but recommended for synchronization.
Open Settings β General β Manage Providers and install an alternative source from a community repository. Provider availability changes often, and you can add a new one without waiting for an app update.
Android, Windows, Linux, and macOS. iOS is planned; the code is mostly platform-agnostic but the player and notification stack need work first.
AniFox does not host or upload any video content.
All media is provided by publicly available third-party sources.
The developers of AniFox are not responsible for the content available through those sources.
Users are responsible for complying with the laws and regulations applicable in their jurisdiction.
This project is licensed under the GNU General Public License v3.0.
See the LICENSE file for details.
- FrostNova β Original AnimeStream project
- ShonenX β extension system inspiration
- AniList
- Simkl
- Flutter Team
- Contributors
If you enjoy AniFox, consider helping the project by:
β Starring the repository
π Reporting bugs
π‘ Suggesting new features
π€ Contributing code
Made with β€οΈ using Flutter