Skip to content

Latest commit

Β 

History

451 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AniFox Logo

AniFox

A modern anime streaming experience built with Flutter.
Stream β€’ Download β€’ Track with AniList β€’ Customize everything

Android β€’ Windows β€’ Linux β€’ macOS


πŸ“– About

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.


✨ Features

🎬 Streaming

  • 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

πŸ–₯️ Cross-Platform

  • 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

πŸ“₯ Downloads

  • 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

πŸ“š AniList Integration

  • 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

πŸ”” Smart Features

  • 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)

🎨 UI & Experience

  • 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

Screenshots coming soon.

Home Player Details
πŸ“· πŸ“· πŸ“·
Downloads Profile Search
πŸ“· πŸ“· πŸ“·

πŸš€ Installation

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.app from Terminal.

Linux Runtime Dependencies

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-0

Quick dependency check:

ldd ./anifox | grep -E "webkit2gtk|secret"
# Should show both libraries found

If 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.app from Terminal.


πŸ›  Building From Source

Requirements

  • 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 AniFox

Create your environment file

cp .env_example .env

Install dependencies

flutter pub get

Run (debug)

flutter run --dart-define-from-file=.env

Build 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=.env

Set up your signing keystore in android/app/ and android/key.properties before building release APKs.

Helper Scripts

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

πŸ” Environment Variables

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.


🧩 Extensions

AniFox can load additional sources from community repositories, following the extension approach used by ShonenX.

  1. Go to Settings β†’ General β†’ Manage Providers
  2. Add a repository URL (any provins / Mangayomi / AniFox index.json)
  3. 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.


πŸ“‚ Project Structure

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

πŸ— Tech Stack

  • Flutter 3.44.0 / Dart 3.12
  • provider for state management
  • Material 3
  • Hive for local persistence
  • better_player + fvp for playback
  • Custom isolate-based download manager
  • AniList / MyAnimeList / Simkl APIs
  • awesome_notifications for scheduled episode alerts
  • home_widget for the Android widget
  • dart_discord_presence for desktop Rich Presence
  • Custom TS β†’ MKV remuxer (H.264, AAC, subtitle tracks)

🀝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a new branch
git checkout -b feature/amazing-feature
  1. Run the checks before committing
bash scripts/check.sh
  1. Commit your changes
git commit -m "feat: add amazing feature"
  1. Push and open a Pull Request
git push origin feature/amazing-feature

CI runs the same analyze + test gate before any build is published.


πŸ—Ί Roadmap

  • 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)

❓ FAQ

Is AniFox free?

Yes.

Does AniFox host anime?

No.

AniFox acts as a client that accesses publicly available third-party sources.

Can I download anime?

Yes.

Supported providers allow offline downloading.

Does AniFox require an AniList account?

No.

AniList is optional but recommended for synchronization.

A provider stopped working. Now what?

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.

Which platforms are supported?

Android, Windows, Linux, and macOS. iOS is planned; the code is mostly platform-agnostic but the player and notification stack need work first.


⚠ Disclaimer

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.


πŸ“œ License

This project is licensed under the GNU General Public License v3.0.

See the LICENSE file for details.


❀️ Credits

  • FrostNova β€” Original AnimeStream project
  • ShonenX β€” extension system inspiration
  • AniList
  • Simkl
  • Flutter Team
  • Contributors

🌟 Support

If you enjoy AniFox, consider helping the project by:

⭐ Starring the repository

πŸ› Reporting bugs

πŸ’‘ Suggesting new features

🀝 Contributing code


Made with ❀️ using Flutter

Releases

Packages

Contributors

Languages