Menu

Tree [2cf8d3] main /
 History

HTTPS access


File Date Author Commit
 demonstration 2025-09-19 Hashir Asad Hashir Asad [ce40bf] Add images in /demonstration
 .gitattributes 2025-04-26 Hashir Asad Hashir Asad [579d7e] Initial commit
 .gitignore 2025-05-15 Hashir Asad Hashir Asad [03f7ac] Created Splash Screen and Added Authentication ...
 LICENSE 2025-04-26 Hashir Asad Hashir Asad [579d7e] Initial commit
 README.md 2025-09-21 Hashir Asad Hashir Asad [2cf8d3] Update instructions for creating an app
 authenticate.sh 2025-05-15 Hashir Asad Hashir Asad [03f7ac] Created Splash Screen and Added Authentication ...
 get_comments.sh 2025-09-19 Hashir Asad Hashir Asad [cf4b85] Add screenshot demonstration and edit readme
 get_posts.sh 2025-09-19 Hashir Asad Hashir Asad [051365] Update get_posts.sh
 logo.png 2025-09-19 Hashir Asad Hashir Asad [e20755] Update logo.png
 splash.sh 2025-05-15 Hashir Asad Hashir Asad [84e998] Add Color To Splash Screen Text . Created Main ...
 termuddit.sh 2025-06-04 Hashir Asad Hashir Asad [08ff99] add --noimg flag for optional image display

Read Me

Termuddit Logo

Termuddit - Reddit CLI Client

A command-line interface Reddit client written in Bash that lets you browse Reddit from your terminal with a clean, colorful interface.

Termuddit Screenshot
Termuddit Screenshot
Termuddit Screenshot
Termuddit Screenshot

Features

  • 🎨 Colorful and clean terminal interface
  • 👀 Browse subreddits and view posts
  • 🖼️ View images as ASCII art in terminal
  • 💬 View nested comments with proper threading
  • 🔄 Refresh posts and comments
  • 🎯 Load more comments on demand
  • 🔒 Secure credential management
  • 🚀 Fast and lightweight

Prerequisites

  • Bash 4.0+
  • curl
  • jq (JSON processor)
  • figlet (for splash screen)
  • chafa (for ASCII art images)
  • Reddit API credentials

Installation

  1. Clone the repository:
git clone https://github.com/WeWeBunnyX/Le-Termuddit.git
cd Le-Termuddit
  1. Make scripts executable:
chmod +x *.sh
  1. Install dependencies:

Ubuntu/Debian

sudo apt install jq curl figlet chafa

Fedora/RHEL

sudo dnf install jq curl figlet chafa

Arch Linux

sudo pacman -S jq curl figlet chafa

macOS (using Homebrew)

brew install jq curl figlet chafa

Using Package Manager Alternatives

Distribution Package Manager Command
OpenSUSE zypper sudo zypper install jq curl figlet chafa
Alpine apk sudo apk add jq curl figlet chafa
Gentoo emerge sudo emerge jq curl figlet chafa
Void Linux xbps sudo xbps-install -S jq curl figlet chafa

Setup

  1. Create a Reddit App:
  2. Go to https://www.reddit.com/prefs/apps

  3. Click "Create App" or "Create Another App"

  4. Termuddit Screenshot

  5. Fill in the required information and click 'create app' (name and description field can be anything you like, select script as the type and redirect uri as shown below)
    Termuddit Screenshot

  6. Note your Client ID and Client Secret
    Termuddit Screenshot

  7. Run Termuddit:

./termuddit.sh
  1. Enter your Reddit API credentials when prompted
    Termuddit Screenshot

Usage

1. Start the application:

./termuddit.sh --noimg

Or just use ./termuddit.sh to render images along with the post (without --noimg flag). The images are converted to ASCII art and may not be in full quality/resolution due to terminal limitations

2. Enter a subreddit name when prompted (e.g., "linux", "programming")

3. Choose number of posts to fetch

Navigation

  • Enter post number to view its comments
  • r - Refresh posts
  • q - Return to main menu

Comment View

  • m - Load more comments
  • r - Refresh current comments
  • q - Return to posts view

Image Display (use -noimg flag to disable)

Images in posts are automatically converted to ASCII art using chafa. The quality depends on:
- Terminal color support (256 colors recommended)
- Terminal font (Unicode support required)
- Terminal window size

Project Structure

termuddit/
├── termuddit.sh      # Main script
├── authenticate.sh    # Reddit API authentication
├── get_posts.sh      # Post fetching and display
├── get_comments.sh   # Comment fetching and display
└── splash.sh         # Splash screen

Security

  • Credentials are stored locally in credentials.txt
  • Access token is stored in access_token.txt
  • Both files are git-ignored

Contributing

Contributions are welcome, you may open a pull request or submit an issue.

License

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

Acknowledgments/References

Author

Support

If you found this project helpful, please give it a ⭐️!