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.
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.
Table of Contents
- Overview
- Requirements
- Installation
- Quick Start
- Use as a Library
- Debug & Logs
- Project Layout
- Development
- Contributing
- License
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
- Python 3.11+
uv(for development workflows): https://github.com/astral-sh/uv- Playwright (installed by project tooling)
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 syncBuild Executables (Optional)
uv run python build-cli.py
uv run python build-gui.pyQuick Start
CLI (Development Run)
uv run python cli\main.pyGUI (Development Run)
uv run python src\main.pyCLI 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.jsonepisode_list.jsondownload_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 syncRun tests:
uv run python -m pytest -q tests/integration_test.pyContributing
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.
