From 8a2984d896d8b06db60dcaab17c76c8a29e396b6 Mon Sep 17 00:00:00 2001 From: Manuel <43859792+LoredCast@users.noreply.github.com> Date: Fri, 19 Sep 2025 22:09:37 +0200 Subject: [PATCH] Update README.md --- README.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 32d6228..9cab305 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,11 @@ File Wizard is a self-hosted, browser-based utility for file conversion, OCR, an ## Features - * **Versatile File Conversion:** Convert between various file formats. The system is designed to be extended with any command-line tool (like FFmpeg, ImageMagick, etc.) via a simple `settings.yml` configuration file. - * **OCR:** Perform Optical Character Recognition (OCR) on PDFs and images to extract text. - * **Accurate Audio Transcription:** Transcribe audio files into text using Whisper models. - * **Modern UI & UX:** - * Clean, responsive, dark-themed interface. + * Convert between various file formats. The system is designed to be extended with any command-line tool (like FFmpeg, ImageMagick, etc.) via a simple `settings.yml` configuration file. + * **OCR:** Perform Optical Character Recognition on PDFs and images to extract text. + * **Audio Transcription:** Transcribe audio files into text using Whisper models. + * **UI:** + * Clean, responsive, dark-themed interface (hopefully goodlooking idk) * Drag-and-drop support for single or multiple files anywhere on the screen. * Traditional multi-file selection buttons. * A dialog to choose the desired action (Convert, OCR, Transcribe) for dropped files. @@ -19,19 +19,17 @@ File Wizard is a self-hosted, browser-based utility for file conversion, OCR, an * A persistent job history table displays file names, tasks, submission times, file sizes (input → output), and final status. * **Configuration:** - * A dedicated `/settings` page allows for viewing and editing the configuration directly from the UI. + * A dedicated `/settings` page. * OAuth needs to be configured in the `config/settings.yml` file, you can see the default for a reference. By default, it runs without auth in local mode. * Currently it only supports cpu operations, but a future image will include the cuda drivers for running whisper on gpu (torch and cuda is large and I didn't want to inflate the image even more) ----- -## Tech Stack +## NOTE +Run at your own risk! This app is highly vulnerable to arbitrary code executing if left public and without auth. I'm no security expert this app is intended for local use or usage with an OAuth oidc provider! - * **Backend:** FastAPI (Python) - * **Frontend:** Vanilla HTML, CSS, JavaScript (no framework) - * **Task Queue:** Huey (with a SQLite backend might do redis soon) - * **Database:** SQLAlchemy (with a SQLite database might go postgres soon) - * **Configuration:** YAML +## Tech Stack: +FastAPI for the Server, Vanilla html, js, css for the frontend (might switch to svelte in the future, kept it light for this), Huey for task queuing and SQlite for any Databse. ----- @@ -107,10 +105,11 @@ chmod +x run.sh ----- -## Usage 🖱️ +## Usage 1. Open your browser to `http://127.0.0.1:8000`. 2. **Drag and drop** any file or multiple files onto the page. 3. A dialog will appear asking you to choose an action: **Convert**, **OCR**, or **Transcribe**. 4. Alternatively, use the "Choose File" buttons in any of the three sections. 5. Your job will appear in the "History" table, and its status will update automatically. +