GitHunt
CH

Chandima-Prabhath/Aura-Legacy

A stealthy Python scraper for AnimeHeaven.me built with Playwright and managed with UV. Designed to extract direct download links for anime episodes without triggering bot detection or wasting bandwidth on video streaming.

Aura logo

โš ๏ธ ARCHIVED

This repository is no longer maintained.
This version utilized Python (Playwright) for the core and PyQt6 for the GUI. We encountered significant difficulties maintaining a consistent codebase across Windows, Linux, and Android due to PyQt6 complexities and the separation between the API server and the GUI.

The project has been completely rewritten. The new version uses a pure Rust core (aura-core) integrated directly with a Tauri + ReactJS GUI. This offers better performance, true cross-platform support (Android/Linux/Windows), and direct function calling without the need for a local API server.

๐Ÿ‘‰ Continue to the new, active project: Aura


Aura (Legacy)

A stealthy, modular Python scraper for AnimeHeaven.me โ€” built with Playwright and managed with uv.


Release Testing License: MIT Python

Table of Contents

Overview

Note: This is the legacy Python implementation.

Aura extracts direct episode download links from AnimeHeaven.me while minimizing bandwidth and avoiding common bot-detection signals. It combines a resilient Playwright automation core with a small CLI and an optional PyQt6 front-end.

Requirements

Note: The repository was developed primarily on Windows but is compatible with Linux and macOS where Playwright is supported.

Installation

Recommendation: Please use the new Rust/Tauri version for the best experience. If you must use this legacy version, follow the steps below.

Download Release

Binaries may be available in the Releases section.

From Source

PowerShell / Bash

git clone https://github.com/Chandima-Prabhath/Aura-Legacy.git
cd Aura-Legacy
uv sync

Build Executables (Optional)

uv run python build-cli.py
uv run python build-gui.py

Quick Start

CLI (Development Run)

uv run python cli\main.py

GUI (Development Run)

uv run python src\main.py

CLI Example

If you have a built executable (e.g., aura-cli.exe):

aura-cli.exe -u "https://animeheaven.me/anime.php?17c9p"

Use as a Library

You can embed the legacy engine in your own async Python code:

import asyncio
from core.engine import AnimeHeavenEngine

async def main():
    engine = AnimeHeavenEngine(headless=True)
    await engine.start()
    try:
        results = await engine.search_anime("Slime")
        downloads = await engine.resolve_episode_selection(results[0]["url"], "1-3,10")
        for item in downloads:
            print(f"Ep {item['episode_number']}: {item['download_url']}")
    finally:
        await engine.close()

asyncio.run(main())

Debug & Logs

During runs, the tool persists structured debug files to the debug_jsons/ directory for inspection:

  • search_results.json
  • episode_list.json
  • download_link.json

Project Layout

Top-level layout of the legacy codebase:

core/              # Core engine and download manager
cli/               # Command-line interface
src/               # GUI entry + assets (PyQt6)
tests/             # Integration & unit tests
debug_jsons/       # Generated debug output
pyproject.toml
build-cli.py
build-gui.py
README.md
LICENSE

Development

Install dependencies and synchronize the environment with uv:

uv sync

Run tests:

uv run python -m pytest -q tests/integration_test.py

Contributing

This repository is read-only and in maintenance mode. Please direct all issues, feature requests, and contributions to the new active repository: Aura.

License

MIT โ€” see LICENSE for details.