Skip to main content
User Guide

Plugin Architecture

NeoQN uses a decentralized, modular plugin system where scraper sources are loaded dynamically from isolated Android package files (APKs).

Why Isolated Provider APKs?

Rather than hardcoding scraper engines directly into the main application codebase, NeoQN loads them as independent plugins. This approach offers significant architectural advantages:

1. Robust Sandboxed Security

Each provider APK is loaded at runtime within its own isolated classloader context (DexClassLoader). If an extension is compromised or contains unstable scraping scripts, it cannot access the main application's private storage, databases, or saved cloud tokens.

2. Layout-Resilient Independent Updates

Websites change their HTML structure and layouts frequently, breaking scraper logic. By decoupling sources from the main app, individual scrapers can be updated, compiled, and re-imported instantly by the community without needing to rebuild or push a full release of NeoQN.

3. Zero-Bloat Core Client

The core NeoQN installer remains extremely lightweight. The app only loads and caches the scraper modules you actually use, reducing memory consumption, background network usage, and storage footprints.

4. Direct Community Scrapers

Anyone can build, compile, and distribute scrapers. This bypasses centralized application stores and gatekeepers, allowing users to host their own custom index tools and share them directly on community forums (Telegram/Discord).

5. Throttled Traffic Control

Each provider handles its own network rate-limiting. Throttling thresholds and request queues are managed independently per APK class instance, preventing your local IP from being blacklisted by target novel servers.