Modern anime episode downloader with a beautiful command-line interface
Download your favorite anime episodes with style and speed β¨
Features β’ Installation β’ Quick Start β’ Documentation β’ Contributing
- Multi-source search - Find anime across multiple streaming sources
- Fuzzy matching - Smart search that handles typos and variations
- Interactive mode - Browse and select anime with rich formatting
- Source filtering - Search specific sources or all at once
- Rich terminal UI - Stunning tables and progress bars with Rich
- Episode filtering - Filter by quality, range, or episode type
- Pagination support - Navigate large episode lists easily
- Detailed info - View episode metadata, quality options, and more
- aria2c integration - Multi-connection downloads up to 16x faster
- Concurrent downloads - Download multiple episodes simultaneously
- Progress tracking - Real-time speed and progress indicators
- Resume capability - Automatic resume for interrupted downloads
- Smart fallback - Falls back to standard downloads if needed
- Bulk downloads - Download entire seasons or specific episode ranges
- Quality selection - Choose from 480p, 720p, 1080p, and higher
- Custom naming - Configurable file naming templates
- Directory management - Organized downloads with custom paths
- Multiple themes - Dark, light, colorful, and default themes
- Rich animations - Smooth progress bars and loading indicators
- Configurable UI - Customize colors, styles, and layout
- Cross-platform - Works on Windows, macOS, and Linux
- Modular architecture - Easy to add new anime sources
- Plugin management - Enable, disable, and configure sources
- Developer-friendly - Clean APIs for plugin development
- Built-in sources - HiAnime, Animetsu, and more included
- Python 3.8 or higher
- pip package manager
# Clone the repository
git clone https://github.com/Yui007/AniPlux.git
cd AniPlux
# Install in development mode
pip install -e .
# Or install with all dependencies
pip install -e ".[dev]"# Windows (Chocolatey)
choco install aria2
# Windows (Scoop)
scoop install aria2
# macOS
brew install aria2
# Ubuntu/Debian
sudo apt install aria2
# CentOS/RHEL
sudo yum install aria2The HiAnime plugin may require additional setup for optimal performance:
- AdBlock Extension (Recommended): For better scraping reliability, you can configure an AdBlock extension path in the HiAnime plugin settings. This helps bypass ads and improves extraction success rates.
- Selenium WebDriver (Optional): For JavaScript-heavy content, install Selenium support:
pip install -e ".[selenium]"
To configure AdBlock for HiAnime:
# Configure HiAnime plugin settings
aniplux sources config hianime_plugin
# Or manually set the AdBlock extension path
aniplux config set sources.hianime_plugin.config.adblock_extension_path "/path/to/adblock/extension"Download the adblock from this link : https://www.dropbox.com/scl/fo/yx2pkebuk3mkcr2wqux12/AO36V6g84LQySif3d6m6Jls?rlkey=0j0340gk63ketast502jm298s&st=v8bq5uvv&dl=0 and put the folder in your C Drive downloads folder and then update the sources.json file, it should look something like this
# Run the configuration wizard
aniplux config wizard# Basic search
aniplux search anime "demon slayer"
# Search with specific source
aniplux search anime "attack on titan" --source hianime_plugin
# Interactive search mode
aniplux search anime --interactive# Browse episodes interactively
aniplux episodes browse "anime-url" source_name
# Browse with custom title
aniplux episodes browse "anime-url" source_name --title "My Anime"# Download single episode
aniplux download episode "episode-url"
# Download with quality preference
aniplux download episode "episode-url" --quality 1080p
# Download to specific directory
aniplux download episode "episode-url" --output "/path/to/downloads"From the episode browser, you can:
- Type
all- Download all episodes - Type
1-10- Download episodes 1 through 10 - Type
download 1,5,10- Download specific episodes
- Usage Guide - Complete user manual with examples
- Plugin Development - Create custom source plugins
- Configuration - Detailed settings and customization options
# View all available commands
aniplux --help
# Get help for specific commands
aniplux search --help
aniplux download --help
aniplux config --help
# Check system information
aniplux info
# Run diagnostics
aniplux doctor# View current configuration
aniplux config show
# Edit configuration interactively
aniplux config edit
# Set specific values
aniplux config set settings.default_quality 1080p
aniplux config set settings.concurrent_downloads 5
# Backup and restore
aniplux config backup create "my-backup"
aniplux config backup restore backup_file.json# List available sources
aniplux sources list
# Test source connectivity
aniplux sources test --all
# Enable/disable sources
aniplux sources enable hianime_plugin
aniplux sources disable old_plugin
# Configure source settings
aniplux sources config hianime_pluginAniPlux follows a clean, modular architecture designed for extensibility and maintainability:
aniplux/
βββ cli/ # Command-line interface layer
βββ core/ # Core business logic and models
βββ plugins/ # Plugin system and source implementations
βββ ui/ # User interface components and themes
βββ config/ # Configuration management
- Python 3.8+ - Modern Python with type hints
- Typer - CLI framework with Rich integration
- Rich - Beautiful terminal UI components
- Pydantic - Data validation and settings management
- aiohttp - Async HTTP client for web scraping
- BeautifulSoup4 - HTML parsing for web scraping
- yt-dlp - Video extraction capabilities
We welcome contributions from the community! Here's how you can help:
- Use the issue tracker to report bugs
- Include system information, error messages, and steps to reproduce
- Run
aniplux doctor --verboseand include the output
- Suggest new features through GitHub Issues
- Check existing issues to avoid duplicates
- Provide detailed use cases and examples
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with tests
- Run the test suite (
pytest) - Format code (
black aniplux/ && isort aniplux/) - Type check (
mypy aniplux/) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Read the Plugin Development Guide
- Use the sample plugin as a starting point
- Test your plugin thoroughly before submitting
- Follow the plugin naming conventions
- Improve existing documentation
- Add examples and use cases
- Fix typos and clarify instructions
- Translate documentation to other languages
# Clone the repository
git clone https://github.com/Yui007/AniPlux.git
cd AniPlux
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run tests with coverage
pytest --cov=aniplux
# Format code
black aniplux/
isort aniplux/
# Type checking
mypy aniplux/
# Run pre-commit hooks
pre-commit run --all-files# Run all tests
pytest
# Run specific test file
pytest tests/test_models.py
# Run with verbose output
pytest -v
# Run with coverage report
pytest --cov=aniplux --cov-report=html- Multi-source anime search
- Interactive episode browser
- High-speed downloads with aria2c
- Plugin system architecture
- Configuration management
- Rich terminal UI
- HiAnime and Animetsu plugins
- Bulk download capabilities
- Additional anime source plugins
- Download queue management
- Automatic episode tracking
- Web interface (optional)
- Mobile companion app
- Subtitle download support
- Torrent integration
- Cloud storage sync
- Notification system
- Advanced filtering options
This project is licensed under the MIT License - see the LICENSE file for details.
- Rich - For the beautiful terminal UI
- Typer - For the excellent CLI framework
- yt-dlp - For video extraction capabilities
- aria2 - For high-speed download support
- Community contributors - For bug reports, feature requests, and code contributions
- Documentation: Usage Guide | Plugin Development
- Issues: GitHub Issues
- Discussions: GitHub Discussions