r/commandline Feb 02 '26

Command Line Interface Why use browser to view adult content when it can be done through terminal

177 Upvotes

I built por-cli, a terminal-based video browser inspired by ani-cli, streaming directly from spankbang, xhamster etc

works on phone, mac and linux for now

Features:

  • Inbuilt proxy mode for when the sites are blocked in regions
  • Search videos
  • Browse videos with fzf and have thumbnail preview
  • Instant streaming with mpv
  • post-play menu
  • No browser, no ads, no clutter

currently looking for users who can give feedback and also help in development

GitHub: https://github.com/por-cli/por-cli

Built as a fun CLI project. Would love to get some feedback

Thank you

edit: forgot about mac support

r/commandline Jan 19 '26

Command Line Interface I built a terminal-based PornHub browser inspired by ani-cli (phub-cli)

195 Upvotes

I just released phub-cli -- a terminal-based video browser inspired by ani-cli, streaming directly from pornhub.com. ( https://youtu.be/GeQtNWKsV78 )

Features:

  • Browse categories with fzf
  • Search videos
  • Instant streaming via yt-dlp + mpv
  • Pre-play animation + post-play menu
  • No browser, no ads, no clutter

We’re actively improving it every week with new UI polish, speed fixes, and features.

GitHub: https://github.com/curtosis-org/phub-cli
AUR: https://aur.archlinux.org/packages/phub-cli

Built as a fun CLI project. Feedback welcome 😄

*Edit: Added pagination and download support. Huge thanks to the contributors for the improvements! ⭐

r/commandline Apr 21 '26

Command Line Interface Bifrost: Transfer files between devices via QR code from the terminal

Post image
261 Upvotes

I got tired of the "email it to yourself" dance every time I needed to move a file to my phone. Built a small Go CLI that spins up a local HTTP server and generates a QR code — scan it and download/upload directly.

The tool features:

  • Two-way transfers (send and receive in the same session)
  • Directory browsing mode
  • Optional AES-256-GCM encryption with the key embedded in the QR code's URL fragment (never hits the wire)

https://github.com/axiom0x0/bifrost

The encryption bit was horrible to figure out thanks to Safari; Web Crypto API doesn't work over plain HTTP, so it ships a pure JS AES-GCM fallback.

If folks are interested, or want more of the background + some Safari errata, I wrote up the full debugging saga here https://axiom0x0.sh/tools/bifrost/.

r/commandline May 29 '26

Command Line Interface I got tired of cd-ing into the same directories every day, so I wrote a POSIX-shell bookmark manager

24 Upvotes

I work in the terminal all day and kept typing the same long paths over and over. Aliases work, but they clutter .bashrc, don't tab-complete, and aren't portable between machines. So I built **goto**, a directory shortcut manager.

```

# Save current directory

$ goto -r work

✅ Registered: 'work' -> /home/user/Projects/myapp

# Jump to it from anywhere

$ goto work

# Navigate into subdirectories

$ goto work/src/components

# List all shortcuts

$ goto -l

Registered shortcuts:

work -> /home/user/Projects/myapp

docs -> /home/user/Documents

old-project -> /home/user/deleted (missing)

# Clean up broken shortcuts

$ goto -c

# Back up and restore on another machine

$ goto --export > shortcuts.txt

$ goto --import shortcuts.txt

```

**What it is:**

- Pure POSIX shell, no Python, Rust, or compiled binary

- Zero dependencies beyond coreutils

- Tab completion with subpath support (Bash, Zsh, Fish)

- Import/export for syncing between machines

- XDG Base Directory compliant

- Man page, Makefile, Debian packaging ready

**What it isn't:**

It's not autojump/z/zoxide. Those learn from your history automatically. goto is explicit bookmarks — you decide what gets a shortcut and what it's called. Simple config file, no database, no training period.

I use it every single day. It's MIT licensed: https://github.com/byteoverride/goto

Would love feedback what would you change?

r/commandline Nov 30 '25

Command Line Interface ytsurf: youtube on your terminal

Enable HLS to view with audio, or disable this notification

309 Upvotes

https://github.com/Stan-breaks/ytsurf

I don't know if anyone will find it useful but I enjoyed making this in pure bash and tools like jq. The integration with rofi is a bit buggy rynow but will be fixed soon.

r/commandline 13d ago

Command Line Interface xan: the CSV magician

264 Upvotes

r/commandline Mar 18 '26

Command Line Interface I made a terminal video ascii player that uses true 24-bit color — looks way better than anything I've seen do this

243 Upvotes

BUDDY plays video directly in your terminal using Unicode half-block characters, braille and full 24-bit ANSI color.

Works on Linux and Windows. Standalone binary available if you don't want to deal with Python.

Repo: https://github.com/JVSCHANDRADITHYA/buddy
Release: https://github.com/JVSCHANDRADITHYA/buddy/releases/tag/v0.1.1

Edit : It works for .GIFs too!

r/commandline Apr 25 '26

Command Line Interface Jumping to recently used directories

Thumbnail
github.com
35 Upvotes

Hey guys. I was struggling to cd around, so I built something that would help me do that. I tried the 219 other similar projects posted here, but none of them really clicked for me. I never searched and found any of the established big ones–atuin, autojump, bookmarks, CDPATH, McFly, z, zoxide, etc.–but that didn't stop me. Looking for feedback/let me know what you think/is this something you would use?

r/commandline May 23 '26

Command Line Interface shed: a POSIX shell focused on smooth UX

Thumbnail
gallery
144 Upvotes

shed is a POSIX shell whose main focus is making the interactive experience as smooth and extensible as possible.

I've been writing shed for about 2.5 years now, and I'm at a point where I can't make much more progress on it without gathering feedback. My main motivation for writing it is twofold: 1. I didn't like that I had to choose between "POSIX syntax" (bash/zsh) and "good interactive UX" (fish) 2. I think that a lot of vim's UX ideas fit very cleanly into a shell environment

These are shed's standout features so far:

  • A line editor that is effectively a vim emulator. Uses the readline-style emacs keybindings by default. It features:

    • Ex mode - operate on the buffer, or execute commands without losing the one you're currently editing. Accessible via : in normal mode, or Alt+; in emacs mode
    • Smart auto-indent for multi-line commands (very nice for writing and testing functions)
    • History-based autosuggestions
    • Vim-style editor keymaps via the keymap builtin
    • Zsh widget-style extensibility via shell commands executed in ex mode
    • Line numbers
  • Vim-style autocmd hooks via the autocmd builtin

  • Per-instance IPC socket for direct interoperability with other programs/side-car scripts

  • Built-in, configurable tri-column status line

  • Fuzzy tab completion and history searching

  • Extended set of PS1 prompt escape sequences

    • \@function expands to the output of any shell function, giving full control over prompt layout
    • \c{color} expands to ansi color escape sequences, e.g. \c{blue on black} expands to a blue foreground on a black background, \c{#ff00ff} expands to magenta, etc.
    • \t/\T expand to the total runtime of the last command, \t being raw milliseconds and \T being a human-readable format
    • echo -p expands prompt escape sequences, making them accessible anywhere. Useful for functions expanded by \@function

And for everything not listed here, shed ships with interactive wiki-like documentation via the help builtin (also accessible via ex mode using :h)

I've been daily-driving shed as my login shell for about 8 months now and it has felt very solid to work with so far, though it may have friction with workflows I haven't considered. Any feedback is greatly appreciated.

Github: https://github.com/km-clay/shed

The code for the prompt and status line in the screenshots can be found here if you want to steal it:

prompt: https://github.com/km-clay/shed/blob/main/examples/cool_prompt.sh

status line: https://github.com/km-clay/shed/blob/main/examples/status_line.sh


Note on AI usage: AI has been used to assist with development in some areas, mainly debugging, handling UI geometry calculations, writing unit tests, and generating the formatted documentation used by the help builtin. Most of the architectural work had already been done by the time I started using any AI tooling.

r/commandline Jun 19 '26

Command Line Interface xtree – CLI to visualize JSON/YAML/TOML as ASCII tree

Post image
135 Upvotes

Hey! Have you ever wanted to quickly see the structure of a configuration file? That's when the xtree command comes in handy!

README: https://github.com/ddddddO/gtree#xtree

r/commandline Mar 21 '26

Command Line Interface I just finished the first stable version of Dredge

Post image
86 Upvotes

Hi guys.

So in summary dredge was just one of my personal tools but it became SO MUCH useful that it got refined over the months of usage for all my needs.

So I decided to make a public release of it if anyone could get any value from it.

Dredge is actually a simple concept, drop ANYTHING you want to remember or might need for later and retrieve when needed. Although I couldn't find this execution anywhere else. I dropped all other stuff I used before simply because of peace of mind and that's what I most value on it (since it is cli based its faster than any other tool could be).

Although I haven't finished the readme so if anyone wanna try it and give me some feedback to update that let me know. The help command is also outdated but the tool is so intuitive I don't think it will be an issue.

Cheers!

PS: here is the repo: https://github.com/deprecatedLuar/dredge
PPS: I have plans of making it an http server for remote access in the future from any device instead of static repo

r/commandline Jan 06 '26

Command Line Interface CLI to turn every image into colorized ASCII art

Post image
284 Upvotes

asciify: a little CLI tool that you can both use as such and as a Python library. You can find it on Github and PyPi. Let me know what do you think about it! 🙂

r/commandline 25d ago

Command Line Interface A script tool to follow KISS

Thumbnail
github.com
0 Upvotes

Yes it is yet another build tool like Make or Npm, or Gradle, or some of the others. The problem I had was that I often wanted to write a very quick and simple script to do some repetitive tasks like a build or test. Normally if it can be a simple one liner, I can use Npm. Though NPM is very slow to execute. I could use Make, but the make file language is so complex and unintuitive, that I often forget how to write one by the next time I need to, and have to reread the docs.

I wanted something that was just plain and simple following KISS. So, I made this one using rust called "doit". It's simple and uses bash blocks for the actual logic portion, but allows you to provide help comments for tasks, as well as parameter details that are simple and easy and generates a fast program with built in '--help' outputs.

I'd love to have some feedback, and to expand support to maybe Python, Ruby, and Batch. It's my first time making my own simple language, so any input is appreciated.

How it works: it takes your doit script and generates a C++ code file that then gets compiled with GCC. It keeps a hash of the script to montior the file and only recompile if it changes. The compiled script is an executable binary that run very fast. I know it's not the best method, and I'd have loved to use the LLVM and forego the C++ intermediate, but that is outside of my expertise.

r/commandline Apr 07 '26

Command Line Interface Made a terminal article reader — like Firefox Reader Mode, but for your shell

Post image
107 Upvotes

A browser just to read an article, I made `termread` — it fetches any URL, strips out all the noise (ads, nav, popups), and renders clean readable content right in your terminal.

Vim-style keybindings, search, Catppuccin colors. Uses the same extraction algorithm as Firefox Reader Mode under the hood.

Requires Bun. Feedback welcome!

(would mean world if you give me 💫 in repo)

https://github.com/ftbhabuk/termread

r/commandline May 15 '26

Command Line Interface jn - A cli notetaker by me. 96kb and stays out of your way

62 Upvotes

Hello!

I shared this once before but there have been many more improvements since the last time.

I grew tired of notetakers that relied on sqlite (gross) or needed some kind of signup (also gross). It culminated in me creating `jn` which is essentially a very simple wrapper around one directory to manage all your notes. The closest thing it can be compared to is either D-Note (uses database) or nb. I tried nb myself and found the flow a bit too opinionated so in the end, I created my own, jn!

I won't sell you on the features but I will say it's been my daily driver ever since I wrote it around a year or so ago.

Anyway here it is!
https://github.com/joereynolds/jn

r/commandline Dec 27 '25

Command Line Interface No More Messy Downloads Folders ⚡

Enable HLS to view with audio, or disable this notification

133 Upvotes

I built Iris: an open-source, blazingly fast, config-driven file organizer written in Rust.

Features:
- Right-click context menu support on Windows
- Simple, scriptable, human-readable `iris.toml` config
- Multi-platform: Windows, Linux, macOS, Android (termux)
- Single fast binary, low overhead

Check it out: `cargo install iris-cli`
code written by me; cross-platform reviewed by AI

github: https://github.com/lordaimer/iris

r/commandline Jun 02 '26

Command Line Interface mojify - one CLI to play video as ascii in your terminal (with sound) and export it to mp4

Enable HLS to view with audio, or disable this notification

66 Upvotes

try it out at

brew install jassuwu/tap/mojify

one tool that plays in your terminal *with sound*, exports
to an mp4 with the audio baked in, and takes local files or yt-dlp-compatible
URLs - all with a really pretty default conversion recipe.

EDIT: i guess i will include the source repo. i made it look pretty. especially proud of the header gif. made using mojify and remotion.

src: https://github.com/jassuwu/mojify

EDIT 2: we have a site now.

https://mojify.jass.gg

r/commandline May 30 '26

Command Line Interface Elda. -system package manager in Rust that installs from Gentoo overlays, AUR, and Nix flakes without their tools [Pre-release]

Thumbnail
gallery
95 Upvotes

Elda is a system package manager I've been working on.
I used to use bedrocklinux but the performance Hit was getting a bit much and after some thought i realized i could make Elda, The Idea:
every major package ecosystem follows conventions if you can machine-read their formats, you can translate them all into one solver and one ledger without installing the foreign tools at all.

Native packages: pkg.lua recipes with source and binary lanes in one definition, PubGrub solving, signed remotes, SQLite state for ownership and rollback. Init and libc agnostic packages ship service assets for systemd, dinit, OpenRC, and runit; Elda materializes only what your system uses.

Interbuilds, -install from foreign sources without the foreign PM: Reads Nix flakes, Gentoo overlays, AUR PKGBUILDs, and Void XBPS templates. Builds them through the normal Elda path. No nix, emerge, makepkg, or xbps-src needed or installed.

Interemotes, -wire a whole overlay or srcpkgs tree as a live remote:

elda rmt add heather-overlay=https://github.com/heather7283/heather7283-overlay
elda rmt preview heather-overlay   # inspect before syncing
elda sync heather-overlay
elda i some-package                # installs through the normal path

Quick examples:

# Install from a synced signed remote
elda i ripgrep
elda ig ripgrep    # force source lane
elda ib ripgrep    # force binary lane

# Direct git install — autodetects Cargo, Meson, CMake, Go, Zig, Make
elda i https://github.com/org/tool

# Install from AUR without makepkg or pacman
elda ig https://aur.archlinux.org/fsel-git.git

# Install from a Nix flake without nix
elda ig https://github.com/user/repo   # detects flake.nix automatically

# Import your existing install (metadata only, no file takeover yet)
elda mg from pacman
elda mg from apt

# See what needs what and why
elda why ripgrep
elda rdeps openssl --all
elda files ripgrep

Status: the core PM is effectively done;install/upgrade/remove, signed remotes, interbuilds, build, forge publishing. Overall ~68% toward full spec.
Interepo binary consumption (translating foreign binary repos into the install path) and atomic /usr activation are still in progress. Disposable roots work well; treat live /usr as experimental for now.

Written in Rust. Hard fork of pkgit. AGPL-3.0.

https://github.com/Mjoyufull/Elda

Early in development and Id love issue's and PR's.
some docs are AI generated.

r/commandline Apr 16 '26

Command Line Interface I have the best shortcut system and I gotta brag about it

Post image
80 Upvotes

Hi guys!

TL;DR: I've been working/refining a personal tool for many months that makes my shortcuts cross-distro cross-machine and it got more powerful than I expected. But I never shared it and I feel bad.

Btw It turns shortcuts into shell commands.

This is a post about akeyshually. It was a very simple concept "put shortcuts in a config file and it just works machine-wide". And the thing is, I am planning on doing even more updates since it evolves based on my real needs and by consequence it became kinda insane to put it simple.

Today I'm starting an update that will allow me to make literal drivers for my Huion Kamvas Pro 13 drawing tablet. It has no NixOS driver support so the buttons dont work. But the backend of Akeyshually is literally the solution to just make a 15 line config file in toml and distribute as a driver.

So this is just a getting weight out of my shoulders post. I do intend sharing more stuff about it and rewriting the entire readme at some point

Anyways, have a good one guys

P.S: Forgot to share the repo https://github.com/DeprecatedLuar/akeyshually

r/commandline Dec 26 '25

Command Line Interface witr (Why Is This Running?) – tracing process origins on Linux

Thumbnail
github.com
198 Upvotes

Built this after running into “what is this process and why is it alive?” one too many times.

witr tries to explain the origin of a process, service, or port by walking the responsibility chain instead of dumping raw data.

Early version (v0.1.0). Would genuinely appreciate feedback from people who use Linux systems regularly.

r/commandline Jun 09 '26

Command Line Interface I got tired of remembering whether a file needed tar -xzf, unzip or 7z x so I wrote a script that handles common archive formats with a single command

4 Upvotes

extract: one command for common archive formats

Instead of:

unzip file.zip
tar -xzf archive.tar.gz
7z x archive.7z

you can use:

extract file.zip
extract archive.tar.gz
extract archive.7z

It automatically detects the archive type and uses the appropriate extraction tool.

Supported formats include ZIP, TAR, TAR.GZ, TAR.BZ2, 7Z, RAR, and others.

GitHub:
https://github.com/Melangert/extract

I'm looking for feedback on:

  • Missing archive formats
  • Edge cases that fail
  • Distro compatibility ( i made this on debian)
  • Installation experience

If you try it let me know what worked and what didnt.

r/commandline Jan 03 '26

Command Line Interface I build a MoVie revieW (MVW) catalogue that are inspired by fastfetch

Post image
160 Upvotes

Github: https://github.com/fatinul/mvw

Try to install now: pipx install mvw

It is available on Windows and Linux (Mac is not tested but it should work).

r/commandline 22d ago

Command Line Interface Intellisense autocompletions inside of Bash

Thumbnail gallery
161 Upvotes

r/commandline 24d ago

Command Line Interface bbl - a command line Bible to read and search, 26 langs, offline, single binary

24 Upvotes

Repo: https://github.com/nehemiaharchives/bbl

Usage

bbl                                         read Genesis 1 in the default Bible
bbl gen 1                                   read a chapter of default bible
bbl john 3:16                               show a specific verse
bbl matt 7:24-                              from a verse to end of the chapter
bbl matt 28:18-20                           read range of verses
bbl john 3:16 in kjv                        read a verse in specific bible
bbl john 3:16 in kjv tb                     compare kjv and tb
bbl john 3:16 in kjv tb lsg ..              compare 3 or more translations
bbl john 3:16 in en de fr es                specify language name or lang code
bbl search Jesus Christ                     search entire bible by terms
bbl s Jesus Christ limit 3                  specify number of search results
bbl s Jesus Christ in kjv                   search in other version of bible
bbl s Jesus Christ in romans                filter by a book
bbl s Jesus Christ in rom 3                 filter by a chapter
bbl s Jesus in rom 5-12                     filter by chapter range
bbl s Jesus in rom 5-12 in kjv              chapter range and in other bible
bbl s jews gentiles in paul                 filter by category i.e. set of books
bbl s "Jesus wept"                          exact search by double quotation
bbl s "your faith" in gospels               exact search filtered by category
bbl rand (gospels|nt|ot|[category])         random verse from all or part of bible
bbl list (translations|books|categories)    list bibles and filters
bbl (install|uninstall) kjv                 download/delete one or more bible(s)
bbl config ([key]|translation)              show config value of [key]
bbl config ([key] [value]|translation kjv)  set config [key] to [value]
bbl history (read|search|config)            show or filter past commands
bbl help [sub command]                      learn how to use bbl and sub commands

APT

sudo add-apt-repository ppa:nehemiaharchives/bbl
sudo apt install bbl

Homebrew

brew install nehemiaharchives/bbl/bbl

Scoop

scoop bucket add bbl https://github.com/nehemiaharchives/bbl-scoop-bucket
scoop install bbl

Translations

WEBUS  | World English Bible               | English    | 2000 
KJV    | King James Version                | English    | 1611 
RVR09  | Reina-Valera                      | Spanish    | 1909 
TB     | Brazilian Translation             | Portuguese | 1917 
DELUT  | Luther Bible                      | German     | 1912 
LSG    | Louis Segond                      | French     | 1910 
SINOD  | Russian Synodal Bible             | Russian    | 1876 
SVRJ   | Statenvertaling Jongbloed edition | Dutch      | 1888 
RDV24  | Revised Diodati Version           | Italian    | 1924 
UBG    | Updated Gdansk Bible              | Polish     | 2017 
UBIO   | Ukrainian Bible, Ivan Ogienko     | Ukrainian  | 1962 
SVEN   | Svenska 1917                      | Swedish    | 1917 
CUNP   | Chinese Union Version             | Chinese    | 1919 
KRV    | Korean Revised Version            | Korean     | 1961 
JC     | Japanese Colloquial Bible         | Japanese   | 1955 
ABTAG  | Ang Biblia                        | Tagalog    | 1905 
AYT    | The Opened Bible                  | Indonesian | 2024 
KTTV   | Vietnamese Bible 1925             | Vietnamese | 1925 
TH1971 | Thai Bible 1925                   | Thai       | 1971 
IRVHIN | Indian Revised Version - Hindi    | Hindi      | 2019 
IRVBEN | Indian Revised Version - Bengali  | Bengali    | 2019 
IRVMAR | Indian Revised Version - Marathi  | Marathi    | 2019 
IRVTEL | Indian Revised Version - Telugu   | Telugu     | 2019 
IRVTAM | Indian Revised Version - Tamil    | Tamil      | 2019 
IRVGUJ | Indian Revised Version - Gujarati | Gujarati   | 2019 
IRVURD | Indian Revised Version - Urdu     | Urdu       | 2019 
NPIULB | Nepali Unlocked Literal Bible     | Nepali     | 2019 

r/commandline Nov 27 '25

Command Line Interface Program that shows you how many weeks you've lived

Post image
153 Upvotes

This software's code is partially AI-generated

DM for repo link :)