Animepahe DL Desktop is now a Tauri + React application with a Rust backend. It modernises the original animepahe-dl.sh experience, keeping the fast downloader pipeline while delivering a polished desktop UI. This GUI is heavily based on the excellent CLI tool KevCui/animepahe-dl, reusing its ergonomics while layering on a desktop-first experience.
- π Universal Navigation: Screen-based architecture with 8 core screens (Home, Search, Title, Episodes, Player, Downloads, Library, Settings) connected via React Router
- π± Responsive Design: Adaptive UI with mobile bottom navigation and desktop horizontal header, both featuring automatic back button detection
- π¬ Integrated Video Player: Built-in player supporting both local library files and remote HLS streaming with quality selection
- π Library Management: Track downloaded episodes, watch history, and manage your local collection
- π― Smart Episode Selection: Pattern-based episode selection (ranges, latest N, specific episodes) with batch download support
- π Robust Download Pipeline: Multi-threaded downloads with progress tracking, queue management, and automatic resume
- π State Persistence: Zustand-based stores with persistence for preferences, library, player settings, and download queue
- π οΈ CI-ready: GitHub Actions produces installers/archives for macOS, Windows, and Linux
- React 18 + Vite front end bundled inside a Tauri shell
- Tailwind CSS and shadcn/ui (Radix primitives) for styling and components
- Neon-glassmorphism desktop UI with gradient accents and vector icons
- Rust 2021 backend with
tokio,reqwest,scraper, andregex - Embedded JavaScript evaluation via pure-Rust
boa_enginefor playlist deobfuscation across macOS/Windows/Linux - macOS crash fix via
winitβ₯ 0.30.12 andobjc2+objc2-foundationbuilt with therelax-sign-encodingfeature - External binaries:
ffmpeg,node(detected at runtime)
Install on your machine before building:
- Rust toolchain (stable channel)
- Node.js 18+ and npm/pnpm/yarn
- ffmpeg
For detailed, OS-specific installation instructions for each requirement:
- Node.js Installation Guide - Required for the React/Vite build tooling during development
- FFmpeg Installation Guide - Required for video processing
At runtime the desktop app only depends on ffmpeg; Node.js is needed solely for local development/build steps.
The Tauri bundle looks for a platform-specific ffmpeg executable under src-tauri/resources/ffmpeg/<platform>/ (copied into the app bundle at build time):
- macOS:
src-tauri/resources/ffmpeg/macos/ffmpeg - Windows:
src-tauri/resources/ffmpeg/windows/ffmpeg.exe - Linux:
src-tauri/resources/ffmpeg/linux/ffmpeg
If you place the appropriate binary in these folders before running npm run tauri build, the packaged app will prefer the bundled copy. When the folder is empty the app automatically falls back to the system ffmpeg on PATH.
git clone https://github.com/<your-account>/animepahe-dl.git
cd animepahe-dl
npm install # installs tailwind, shadcn/ui dependencies, radix primitives
npm run tauri devThis spins up the Vite dev server with hot reload inside the Tauri shell.
npm run build # bundles the React front end
npm run tauri build # produces installers/archives per platformOutput goes to src-tauri/target/release/ (DMG/ZIP on macOS, MSI/EXE on Windows, AppImage/deb/tar on Linux depending on target).
cargo fmt -p animepahe-tauri
cargo check -p animepahe-tauri --locked
cargo build -p animepahe-tauri --release --locked- Home Screen β Dashboard with recently watched episodes and quick access to trending content
- Search Screen β Search for anime titles with instant results and navigation to title details
- Title Screen β View anime details, synopsis, and episode grid with play/download options
- Episodes Screen β Select episodes using patterns (e.g.,
1-5,latest 10,all) and batch download - Player Screen β Watch episodes locally or stream remotely with quality/audio selection and episode navigation
- Downloads Screen β Monitor active downloads, view queue, and manage download progress
- Library Screen β Browse downloaded episodes, continue watching, and manage your collection
- Settings Screen β Configure download directory, host URL, thread count, and app preferences
- Mobile: Bottom navigation bar with Home, Search, Downloads, Library, and Settings tabs. Automatic back button appears in the top bar for nested routes.
- Desktop: Horizontal header navigation with the same 5 sections. Back button automatically shows before the logo for nested routes (e.g., viewing a specific title or episode list).
- Discover β Search for anime on the Search screen or browse trending titles on Home
- Explore β View anime details on the Title screen with synopsis, metadata, and episode previews
- Select β Navigate to Episodes screen to select specific episodes using patterns or checkboxes
- Download β Choose quality/audio options and download to your configured directory
- Watch β Play episodes directly from the Library or Title screen, either locally or via streaming
- Track β Your watch history and progress are automatically saved across sessions
All download progress is automatically tracked and saved to ~/.config/animepahe-dl/download_state.json (or equivalent OS config directory). This includes:
- Download status (in-progress, completed, failed, cancelled)
- Progress tracking (downloaded bytes, file size, timestamps)
- Episode metadata (anime name, slug, audio/resolution settings)
- Error messages for failed downloads
The app automatically detects incomplete downloads on startup and offers to resume them. You can also manually access the resume dialog via the toolbar button.
Animepahe DL Desktop includes optional, privacy-conscious analytics to help us improve the app. Analytics are enabled by default but can be disabled at any time.
We collect anonymous usage data to understand how the app is used and identify areas for improvement:
- User Actions: Search, selection, and download events (counts and durations only)
- App Usage: Launch, session duration, settings changes
- Feature Usage: Tour interactions, requirements checks
- Performance: Search speed, download speed, startup time (all categorized)
- Errors: Error types only (no messages, stack traces, or personal data)
We take your privacy seriously and never collect:
- β Anime titles or search queries
- β File names or paths
- β Personal information
- β IP addresses (PostHog anonymization)
- β Exact error messages or stack traces
- β System specifications beyond OS type
In the App:
- Toggle off "Share anonymous usage data" in the settings section
- Click "View Details" to see exactly what's tracked
- Use the Analytics Dashboard to reset your ID or clear data
Via Environment Variables:
Create a .env file in the project root:
# Disable analytics completely
VITE_ENABLE_ANALYTICS=false
# Or configure PostHog (optional)
VITE_POSTHOG_KEY=your_posthog_key_here
VITE_POSTHOG_HOST=https://app.posthog.comFor Developers:
If you're building from source, analytics are automatically disabled in development mode unless explicitly configured.
For complete details about data collection and your rights:
- View the Privacy Policy
- Check the in-app Analytics Dashboard (Settings β View Details)
npm run tauri buildbundles the front end and emits cross-platform artifacts.- The GitHub workflow in
.github/workflows/release.ymlruns on pushes to thereleasebranch, builds installers for macOS (Intel + Apple Silicon), Windows, and Linux, and drafts the corresponding GitHub Release.
cargo fmt -p animepahe-tauri
cargo check -p animepahe-tauri --locked
npm run lint # add ESLint/Prettier if desiredMIT β see LICENSE.
