--- title: HarshItPDF emoji: 🖥️ colorFrom: indigo colorTo: purple sdk: gradio sdk_version: "5.23.3" python_version: "3.12" app_file: app.py pinned: false --- # HarshItPDF — HF Spaces Gradio (Free Tier) HarshItPDF is a rebranded, fully-unlocked Stirling-PDF deployed on Hugging Face Spaces Free Tier using Gradio. ## What you get - **All premium / enterprise features enabled** (3-layer bytecode patch + mock license server) - **OCR support** (Tesseract pre-installed via `packages.txt`) - **Gradio splash screen** with JavaScript auto-redirect to the Java backend - **No credit card required** ## Default login - **Username:** `admin` - **Password:** `changeme123` ## How to deploy 1. Create a new **HF Space** → choose **Gradio** as the SDK 2. Upload these files to the repo root: - `app.py` - `license_server.py` - `requirements.txt` - `packages.txt` - `README.md` 3. HF builds the environment automatically (~3–5 minutes) 4. Once the Space status shows **Running**, click the **Open** button 5. The splash screen will auto-redirect to the app once the Java backend is ready (~30–60 seconds) ## Files | File | Purpose | |---|---| | `app.py` | Runtime patcher + orchestrator + Gradio UI | | `license_server.py` | Mock Keygen API on port 7871 | | `requirements.txt` | Python dependencies (gradio) | | `packages.txt` | System packages (Java 17 JDK, Tesseract, unzip, wget) | ## Important notes - **Cold start:** Free CPU Spaces hibernate after ~48 hours of inactivity. First visit after sleep triggers a ~1–2 minute cold start (JAR download + extraction + patching + Java startup). - **While awake:** The app stays responsive. The Gradio UI proxies to the Java backend via HF Spaces' internal port proxy (`/proxy/7870/`). - **OCR languages:** English is pre-installed. Add more `tesseract-ocr-*` packages in `packages.txt` if needed. - **Premium license:** Three independent patches ensure Enterprise status — bytecode flip (`iconst_0→1`), `LicenseKeyChecker` getter override, and Spring bean `runningProOrHigher()→true`.