Skip to content

Your Terminal Companion for the Holy Quran: Read, Listen & Generate Subtitles for Video Editing!

License

Notifications You must be signed in to change notification settings

anonfaded/QuranCLI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

QuranCLI โœจ

Your Terminal Companion for the Holy Quran: Read, Listen & Generate Subtitles for Video Editing!

GitHub all releases

ko-fi badge Discord

Demo

Tip

This project is part of the FadSec Lab suite.
Discover our focus on ad-free, privacy-first applications and stay updated on future releases!


QuranCLI brings the Quran to your Windows command line with a rich set of features designed for readers, listeners, and video creators.

๐ŸŒŸ Key Features

  • ๐Ÿ“– Complete Quran Access: Read all 114 Surahs with English translation (Simple & Uthmani Arabic scripts)
  • ๐ŸŽง Audio Recitations: Stream high-quality audio from renowned reciters with full playback controls
  • ๐ŸŽฌ Subtitle Generation: Create .srt subtitle files (Arabic + English) for video editing workflows
  • ๐ŸŒ Built-in Web Server: Share generated subtitle files with devices on the same Wi-Fi network
  • ๐Ÿ’พ Offline Mode: Smart caching for Quran text and audio with local storage
  • ๐ŸŽจ Customizable Interface: Colorful, responsive terminal UI with theme customization
  • ๐Ÿ”„ Auto-Updates: Automatic notifications for new app versions from GitHub
  • ๐Ÿ“Š Download Statistics: Real-time download counts displayed in the app header
  • ๐Ÿ–ฅ๏ธ Cross-Platform: Native support for Windows and Linux operating systems
  • โŒจ๏ธ Command Line Integration: Launch directly from terminal using the qurancli command
  • ๐ŸŒ Multi-Language Support: Urdu, Turkish, and English translations with transliteration
  • ๐Ÿ”– Advanced Bookmarks: Comprehensive bookmark system with notes and quick Ayatul Kursi access
  • ๐Ÿ’พ Data Management: Backup and restore capabilities for settings and data
  • ๐Ÿงฉ Linux-Style Commands: Short commands like ls for efficient navigation
  • ๐ŸŽต Focused Audio Player: Dedicated Ayatul Kursi audio player for spiritual listening
  • ๐Ÿ” Audio Loop Mode: Continuous playback feature for extended listening sessions
  • โฐ Sleep Timer: Auto-stop functionality after specified time duration
  • ๐Ÿ“– Bulk Reading: all command for opening complete Surahs from any starting point
  • ๐Ÿ“ฅ Audio Manager: Comprehensive audio management system with download, clear, and path commands
  • โš™๏ธ Translation Settings: Toggle Urdu, English, and Turkish translations in reader mode
  • ๐Ÿ”” Smart Notifications: Toast messages for download completion and error handling
  • ๐Ÿ—‚๏ธ Organized Settings: Categorized configuration commands in dedicated settings screen

๐ŸŽฌ Demo & Screenshots

QuranCLI-theme-command-demo.mp4

Theme command in use


Reading View

Reading View (Transliteration + en, ur & tr Translations)


Audio Player

Audio Player (with Progress Bar & Controls)


Reciter Selection

Reciter Selection Menu


Surah List

Full Surah List (`list` command)


Smart Search

Smart Surah Search (Suggestions for "rehman")


Info Page

Information / Help Page (`info` command)


Subtitle Management

Subtitle Management & Sharing (`sub` command)


Web Server Interface

Subtitle Web Server Interface (Accessible on Local Network)

Bookmark manager

Bookmark Manager


๐Ÿš€ Installation

Windows Installer (Recommended)

Get it on GitHub

  1. Go to the Releases Page.
  2. Download the latest QuranCLI-Setup.exe file.
  3. Run the installer and follow the on-screen instructions.
  4. Launch QuranCLI from your Start Menu or Desktop shortcut.
    Tip: You can also run the tool directly from the terminal by typing qurancli.

Linux (.deb Package Installation)

  1. Go to the Releases Page.
  2. Download the latest .deb package, for example: qurancli_1.1.0_amd64.deb.
  3. Open a terminal and navigate to the download directory.
  4. Install the package with:
    sudo dpkg -i qurancli_1.1.0_amd64.deb
  5. If any dependency errors appear, run:
    sudo apt-get install -f
  6. Once installed, launch QuranCLI directly by typing:
    qurancli
๐Ÿ”ง Dev Only: Build from Source
  • Prerequisites: Python 3.9+ and pip.
  • Clone:
    git clone https://github.com/anonfaded/QuranCLI.git
    cd QuranCLI
  • Install Dependencies: (Using a virtual environment is recommended)
    # Optional: Create and activate venv
    # python -m venv venv
    # .\venv\Scripts\activate  (Windows) or source venv/bin/activate (Linux/macOS)
    
    pip install -r requirements.txt
  • Run:
    python Quran-CLI.py
๐Ÿ”ง Dev Only: Step-by-Step on building the .deb package for Linux

Building the .deb Package

  1. Copy Codebase from /mnt/c/ (WSL only)
    Due to the WSL /mnt/c/ structure, copy the whole codebase to the root to match the filesystem as linux would expect:

    cp -r /mnt/c/Users/username/Desktop/QuranCLI /
  2. Create the Executable:
    Run PyInstaller (WSL) in the project's directory:

    pyinstaller QuranCLI.spec
  3. Convert Line Endings:
    Convert the Debian maintainer scripts to Unix format:

    dos2unix debian/postinst debian/prerm debian/postrm
  4. Verify Executable Permissions:
    Ensure the generated executable has the correct executable permissions:

    ls -l dist/QuranCLI

    The permissions should show an x (executable) flag.

  5. Build the Debian Package:
    Run the Debian build command in the copied codebase directory (the .deb package will be placed one level up):

    dpkg-buildpackage -us -uc -b

๐ŸŽฎ Quick Start & Usage

  1. Launch: Start QuranCLI (via Installer or python Quran-CLI.py).
  2. Select Surah: Enter the Surah number (1-114) or type part of its name (e.g., rahman).
  3. Select Ayahs: Enter the starting and ending Ayah numbers.
  4. Read: View Arabic text and English translation. Use n / p to navigate pages.
  5. Listen: Type a to open the Audio Player. Use keys like p (play/pause), s (stop), r (change reciter), [ / ] (seek 5s), j / k (seek 30s). Press q to return.
  6. Subtitles & Share:
    • Type sub in the main menu.
    • Select Surah and the Ayah range you want subtitles for.
    • The .srt file is saved in Documents\QuranCLI Subtitles.
    • A local web server starts automatically. You'll see a URL like http://<Your-IP>:8000.
    • Open this URL on other devices on the same Wi-Fi to browse and download the subtitle files for that Surah.
    • Use the open command in the subtitle menu to view the folder on your PC, or back to return to the main menu (this also stops the server).
  7. Help: Type info in the main menu for detailed commands and credits.
  8. Quit: Type quit or exit in the main menu.

(Note: Use the reverse command in the reader if Arabic text appears incorrectly displayed on your specific terminal.)


๐Ÿš€ Upcoming Features Roadmap

  • New Reciters: Additional reciter options.
  • Tafsir Integration: In-depth explanations for each ayah.
  • I'm-Feeling Feature: A mood-based recommendation system that suggests ayahs based on the user's current feelings.

๐Ÿค Contributing & Feedback

  • Bugs & Feature Requests: Found an issue or have an idea? Please Open an Issue.

  • Pull Requests: Contributions are welcome!

๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿฝ Credits

๐Ÿ“„ License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

About

Your Terminal Companion for the Holy Quran: Read, Listen & Generate Subtitles for Video Editing!

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project