r/commandline • • 2d ago

Terminal User Interface Tewi: TUI for multiple torrent clients (Transmission, qBittorrent, Deluge, rtorrent) with torrent search

Thumbnail
gallery
28 Upvotes

LLM warning: Claude Code used for code review, audit, grammar and fuzz/exploratory testing. Features/design are mine.

A couple of years ago I started building a TUI client for Transmission. Since that time I changed it into a plugin-based system and it now supports more torrent clients via their API's: Transmission, qBittorrent, Deluge, rtorrent.

Also it supports torrent search from the app itself. It has several built-in search providers (Nyaa, and others) and can connect to search engines: Prowlarr, Jackett and bitmagnet.

It is made in Python using Textual. GPLv3+.

Available for installation via PyPI:

$ pipx install tewi-torrent

GitHub: https://github.com/anlar/tewi

Feedback, bug reports and feature requests are welcome. Especially from people using the newer client backends (as I'm mostly using Transmission).


r/commandline • • 3d ago

Fun Blip ! I made Claude Code talk like in a video game: every letter gets a "blip"

Thumbnail
gallery
0 Upvotes

Blip is a small open-source Claude Code plugin. Claude's replies type out letter by letter, with a little blip for each letter, like dialogue in a game.  

Install (in Claude Code) :
-> /plugin install blip --marketplace DoubleV840/blip  

Then ask Claude anything and listen.  

What you get :
- 9 built-in voices (soft, classic, nes, bubble, robot, critter…): /blip voice, then ↑↓ to preview each one

- Community voices

- Speed, volume and pitch settings  

- Commands run locally: no model call, no tokens

Community voices :

Anyone can share a short sound and everyone can use it.
Listen to them all at blip.ivwi.fr, install one with /blip voice <name>, or share your own with /blip share.

Works on macOS, Linux and Windows.  

- GitHub: https://github.com/DoubleV840/blip  

- Voices: https://blip.ivwi.fr/

Feedback welcome, and I'd love to hear your voices!

Built with Claude Code. I described the feel I wanted, Claude Code wrote the plugin (it types each reply out letter by letter and plays all the blips as one pre-mixed sound so it doesn't stutter), the script that generates the 9 voices, and the community-voices setup (site + GitHub Actions). I tested it and made the design calls.

 Free and open-source.


r/commandline • • 3d ago

Terminal User Interface I got tired of the mv a tmp && mv b a dance, so I wrote a C++ CLI that uses renameat2() for atomic file swapping.

0 Upvotes

r/commandline • • 3d ago

Command Line Interface Keystore: CLI-Based key manager for Java

Thumbnail
github.com
0 Upvotes

Some weeks ago I started working on a Java CLI-based keystore app. I know some mature ones already exist on the market, but I wanted it to be as simple to use as possible and include commands that suit my work.

GitHub Repository: https://github.com/mateasmario/keystore

Until this moment, some functionality includes:

  • adding, removing, getting and listing custom keys

  • copying a key without displaying it on the screen

  • listing all keys without displaying their value on the screen

  • generating keys based on certain criteria (length, include digits, uppercase, lowercase, symbols, etc.)

  • generating OTP values based on the current time (elapsed seconds after epoch time - 1970) and already stored keys

Managing keys requires a password that is set by the user (keyboard input) when the first key is added/generated to the keystore. That password is used to AES-Encrypt the keystore file in the user data directory (e.g. %localappdata% for Windows).

There is also the possibility of switching to the FILE mode, which is going to ask the user for a file path instead of typing a password. That file contains the key that can be used to decrypt (maybe you keep your secrets on a USB drive). You don't need to create the key manually. Even in FILE mode, the user's still going to be asked for a password the first time, which will be used to derive a key and store it in the specified file path.

Was curious on how I can improve it: how to improve both user experience and also add features that might be helpful to you, the developer community.


r/commandline • • 3d ago

Other Software Art project - terminal simulator?

2 Upvotes

Not sure if this is the right place to post this. I'm working on an art project and would like it to be basically a short film of a conversation happening within a terminal. Between the computer itself and the user.

I'm wondering if anyone knows of some sort of terminal simulator, one where i could control both the input and the output to create dialogue. The more retro looking the better

The piece is a commentary on AI so obviously I don't want any AI.

Thanks,

someone who knows very little about coding but wants to make art


r/commandline • • 3d ago

Terminals I made Comic Caret, a Comic Sans style font for terminals

25 Upvotes

Hi all. I made a monospaced font for terminals. Its name is Comic Caret. It looks a bit like Comic Sans, and it is based on Comic Shanns Mono.

I like Comic Sans style fonts, but the ones I found were not complete: they did not have all the symbols and styles that I need in a terminal.

What it has:

- All box-drawing, block and Braille characters. Borders, tables and progress bars line up.

- Powerline symbols, prompt and status symbols (❯ ➜ ✔ ✖ ⚠), and spinner frames.

- Real italic and bold. The terminal does not need to fake them.

- Ligatures like `->` `=>` `!=`. Each character keeps its own cell. You can turn them off.

- A Nerd Font version with icons.

GitHub: https://github.com/sunshine-syz/comic-caret

If something looks wrong in your terminal, please tell me the terminal and the font size. I will fix it.


r/commandline • • 4d ago

Terminal User Interface Update: one9s v0.1.10: per-datastore quotas, Networks tab + a full OpenNebula lab in Docker

2 Upvotes

Hey folks,

A while ago I posted here about one9s, a pure TUI that talks directly to OpenNebula's XML-RPC API (thanks for the feedback back then). Quick recap: open the binary, select your VM, press r to reboot, s to stop, or u to power on (no VPN, no Sunstone dropdowns). Admins get hosts, datastores, decoded hex ACLs, and host maintenance in one keypress.

New in v0.1.10 after a month of production use:

Per-resource quotas (requested by real multi-tenancy setups):

  • Edit per-datastore limits (SIZE + IMAGES), per-network LEASES and per-image RVMS, not just the global VM quota.

  • The edit form is sectioned: existing quotas stay in their block, and a "Create" block pairs the ID with its limits so you do not mix up which datastore you are limiting.

  • VM-only updates preserve your datastore/network quota entries (OpenNebula merges section-wise; the old form used to drop fields).

New Networks tab: virtual networks at a glance: bridge, driver (dummy/bridge/vxlan), lease usage used/total, owner. Filterable like every other tab.

QoL: jump keys 1 to 6 between tabs, quota detail view on enter, and one9s vault edit (decrypt -> $EDITOR -> re-encrypt, ansible-style) for password rotations.

The side project nobody asked for but I needed: to develop/test one9s without touching prod, I built opennebula-lab, a full OpenNebula 7.4 cluster in Docker (front-end with FireEdge + nested KVM node, real VMs, SSH, NAT). Run docker compose up and you have a disposable lab for testing or certification study.

https://github.com/SergioZ3R0/opennebula-lab

Links:

Stack: Go + Bubble Tea/Lipgloss, AES-256-GCM vault, Apache 2.0.

Demo (new, with the lab running behind it)

Any killer feature missing? Especially curious if anyone here runs per-datastore quotas in production, that is the workflow I most want to get right.


r/commandline • • 4d ago

Terminals Zellij 0.46.0 just released: the terminal multiplexer can now also completely replace your terminal

77 Upvotes

Hey! We just released a new version of Zellij. The major feature of this version is the ability to also run Zellij as a full fledged GPU-accelerated terminal.

This version also includes an Attention Inbox to allow you to manage multiple programs requiring your attention across multiple sessions. This can be useful for coding agents, build scripts or long test runs. When paired with the desktop terminal it can also show you colored pills on your tray so that you can know which program needs you at a glance.

This version also includes session previews in both the session manager and the new inbox. A new settings screen to configure Zellij in real time through the TUI, a right-click menu for quick mouse actions (that you can also configure) and loads more.

As per sub-rules, I want to disclose that some Zellij contributors and maintainers (present company included) use coding agents to assist in development.

Check out the release announcement for a deeper dive: https://zellij.dev/news/terminal-inbox-session-previews/


r/commandline • • 4d ago

Terminal User Interface ldapbrowser v1.2.0: interactive LDAP/AD browser in pure bash+curl+fzf, now with additional features inside

3 Upvotes

I’m the author. ldapbrowser is a read-only LDAP/AD directory browser and it needs only bash, curl and fzf.

Very lightweight and zero-dependent.

New in v1.2.0:

- CA certificate chosen with an fzf file picker during setup
- log view/show/clean
- Multiple instances can run in parallel, each with its own temp directory
- TERM/HUP/EXIT signal handling
- Better dependency check and detailed help for the directory types in setup.

Tested against 10 directory implementations: AD, FreeIPA, OpenLDAP, 389 DS, OpenDJ, ApacheDS, Okta, OneLogin VLDAP, JumpCloud and FoxPass.
It is read-only by design. There are various LDAP viewers/browsers/utils out there like Apache Directory Studio (Java GUI), ldap-utils, etc. ldapbrowser compares to them as a very lightweight and zero-dependent utility that can run on any jumpserver.

The code is written and tested by hand. AI is only used to help draft the README and CHANGELOG.

github.com/mytechspacexyz/ldapbrowser


r/commandline • • 8d ago

Terminals I started collecting terminal emulators on Arch Linux.

2 Upvotes

r/commandline • • 8d ago

Terminals Ghostty Terminal's libghostty reached 1.0, and is now ABI stable

Thumbnail mitchellh.com
143 Upvotes

r/commandline • • 8d ago

Command Line Interface I got tired of Pinterest downloader websites, so I ended up writing my own in Ruby

Post image
12 Upvotes

So, this started as one of those "how hard can it be?" projects.

Turns out... well, you know how that usually goes.

I wanted a simple way to get images and videos from Pinterest without opening one of those downloader websites, clicking through 14 buttons, closing 3 popups, and questioning my life choices.

So I started building pinterest-dl.

It's written in Ruby, and it ended up becoming a bit more than I originally planned.

You can use it as a CLI or as a Ruby library. It can extract direct image/video URLs from pins, search Pinterest, fetch entire boards (including sections), and download individual files or batches.

A few things I spent time on:

  • Getting actual media URLs instead of just scraping a bunch of page text.

  • Supporting different image quality options.

  • Handling pagination when searching for pins.

  • Downloading multiple files with progress reporting and per-file error handling.

  • Supporting cookies for content that requires an authenticated session.

  • Having actual exceptions for things like rate limits, missing pins, authentication problems and network errors, instead of silently returning nil and pretending everything is fine.

I also tried to make the Ruby side usable on its own, not just wrap everything around a command-line interface.

It's definitely not perfect. Pinterest changes things, so I expect some maintenance headaches along the way. That's part of the fun, I guess. :)

I'm the person behind this project, so I'm obviously a little biased. That's why I'd rather hear what other Ruby developers think.

If you have a minute, I'd love some feedback on the code structure, API design, error handling, or anything that looks like it could be done better.

And if you find it useful, a star on GitHub would genuinely mean a lot. Contributions and bug reports are welcome too.

Repo: https://github.com/monji024/pinterest-dl

Thanks! And yes, I know... I could've just used an existing downloader. Where's the fun in that?


r/commandline • • 10d ago

Command Line Interface A lightweight, niche CLI project that identifies those mysterious and pain-giving hashes

0 Upvotes

You can get this project directly using pip or uv:

Using pip:


pip install pyhashprint

Or using uv:


uv tool install pyhashprint

For source code and usage instructions see the GitHub repository.

This project of mine solves a very unique and niche problem, that is identifying hashes. Hashes are a really confusing thing because a ton of algorithms can generate them easily but it is not so easy to identify which algorithm produced the hash in question. To solve this problem, I coded this project. It can identify 90+ hashes and export results to various formats. Moreover, there's also colored output for better readability and aesthetics.

It takes a second to get this thing going, so give it a try.


r/commandline • • 10d ago

Command Line Interface SystemUpdater - a zero-dependency system and package updater for Linux/macOS written in pure Python

0 Upvotes

Running five separate commands just to update my Linux desktop got old pretty fast. So I wrote sysupdate - a Python CLI tool that updates system packages, Flatpaks, containers, and a bunch of other stuff in one go. It also works on macOS and sticks strictly to the Python 3.11+ standard library, meaning zero external dependencies to install.

Why not just use Topgrade? I actually used it for a while. For me though, updates almost never finished completely clean, and I was missing stuff for my own setup like Snapper hooks. The terminal UI also looked a bit dated to me. It printed way too much junk I didn't care about seeing every single time, and once you closed the terminal, there was zero history left to check.

How sysupdate handles things differently:

  • Support for Btrfs snapshots through Snapper right before system packages get touched (with a timer cooldown, so running it twice in an hour won't spam snapshots).

  • Exact reboot tracking that lists which specific updated packages are asking for a system restart at the end, rather than just throwing a generic "reboot required" message.

  • Local run history for your last 30 runs (sysupdate --history / --show-log) with tokens and credentials stripped out automatically. Super useful when something breaks and you want to see what failed yesterday.

GitHub & install instructions (Git / Homebrew tap): https://github.com/Piotrunius/SystemUpdater

If you hit any bugs or want support for another package manager, let me know.

This software's code is partially AI-generated


r/commandline • • 14d ago

Command Line Interface Pathaction - One command to run, deploy, or debug any file or directory

Thumbnail
github.com
0 Upvotes

When jumping between different codebases and environments, it can be hard to remember the specific deployment method, build tools, linters, and test runners for each file or project.

The pathaction tool is a command-line tool for running commands on files and directories. Think of pathaction as the equivalent of your IDE's "Run" and "Debug" buttons, or a Makefile designed to work on individual files and directories. Pass any file or directory as an argument, and pathaction executes the right command based on a .pathaction.yaml configuration:

Works on any file: source code, config files, media... It supports Jinja2 in .pathaction.yaml so you can build dynamic commands using the target path's filename, extension, or directory.

This tool is built for software developers who manage multiple projects across diverse environments.


r/commandline • • 16d ago

Command Line Interface Working on the Bash interpreter in JavaScript

0 Upvotes

I'm working on the Bash interpreter (and a Unix environment) and making use of an old domain:

hacking.cafe.

This is a continuation of my previous project: Fake Linux Terminal.

The code is open source on the AGPL license available on GitHub.

The README includes bash features that I've implemented so far. The list is also on the website.

I'm using ubash JavaScript parser.

I was thinking about making the bash interpreter part a library on a less restrictive license. But it seems that a library like this was recently created by Vercel and called just bash.


r/commandline • • 17d ago

Terminal User Interface Terrascope: an interactive world map for your terminal

302 Upvotes

Hi! I built Terrascope, an open-source terminal map with live weather, aircraft, radar, earthquakes, and day/night views. It uses Unicode Braille characters to render the map right in your terminal.

I’d love to hear what you think, especially about the terminal rendering and which layers you’d find most useful.


r/commandline • • 17d ago

Command Line Interface nlock: named locks for coordinating shell commands

0 Upvotes

https://github.com/erietz/nlock

I started working on nlock a month or so ago because I needed a way to prevent my backup cron jobs from overlapping with themselves and I also wanted a new project for learning zig.

The usual solutions are to use flock or implement locking logic in each individual script. While building nlock, I realized named locks could be useful for a lot more than just preventing overlapping cron jobs. It is really a general purpose tool for coordinating shell commands.

I've added some additional flags such as --coalesce and --replace that flock does not have, and I'm still discovering new use cases as I use it more.

I just merged in a new feature to allow for basic rate limiting. For example, you can limit how many times you hit an API:

for repo in $(cat repos.txt); do  
  nlock run --rate 5000/h github-api -- gh api "repos/$repo" --jq . >> repos.jsonl
done

Let me know your thoughts. I'm interested to see if anyone has a cool use case. Also feel free to roast my zig code 🤠. I'm learning as I go, and I've had some AI assistance as the project has grown more complex.


r/commandline • • 18d ago

Meta This sub is now an endless parade of slop projects and I'm unsubbing.

448 Upvotes

I used to love this subreddit. I had some hope of it getting better when mods implemented rules about AI labelling. It seems over the past few months that those rules have become completely unenforced and are no longer followed by anyone. The vast majority of projects are now entirely AI generated without any labelling. Almost everything is a recreation of an existing popular tool.

Because this requires diaclaiming lest you be called a luddite: I am not anti AI usage. I am anti slop recreations of existing tools made by people who clearly don't know how to program whatsoever. I am against subs that were previously for finding good programming tools being overrun by slop recreations that will never be maintained while all the other people generating projects are upvoting them.

Nobody seems to care because all the people who actually know how to code have left the sub a long time ago, and the only people left commenting and upvoting the slop are people who are themselves generating their entire projects.

Sorry but this sub is now dead, just like every other programming subreddit that has continued to allow AI generated projects without enforcing any kind of rules. I can see that the average weekly visitors has been steadily decreasing, it's now close to half what it was at its height a couple years ago. It was nice while it lasted, goodbye. I have no doubt that all the AI bros who are the new regulars here will be happy to be the only ones left. Bye Felicia and all that.

EDIT: hey y'all im just now checking this after work, glad to see this got some attention. I'd just like to say I should have been more careful to specify I don't blame the mods. I know they are overwhelmed. They're good people trying their best. But they can only do so much when the community itself is making their job really hard. Much of the problem is due to all the people who are upvoting these slop recreations of existing projects. And mods have no control over that! I'm not sure what the answer is. I think it might have to be something like banning AI generated projects entirely instead of mere labelling requirements. But I understand that's an extreme action and some people won't agree.

Also, as I predicted, every single person who replied "ok bye" is a vibe coder. They actually want all the people who know how to code to unsub and leave until they're the only ones left.


r/commandline • • 19d ago

Terminals Ghostty 1.4.0 released after 7 months of development, with performance improvements and Kitty Graphics Protocol support

Thumbnail
ghostty.org
218 Upvotes

r/commandline • • 19d ago

Command Line Interface Shellroute update: it now works with your own proxy, no account needed

0 Upvotes

I built Shellroute, an open-source CLI that lets you save your own HTTP, HTTPS, or SOCKS5 proxy and use it from an interactive shell without creating a Shellroute account. Save the proxy once, open Shellroute, connect to it by name, and then use normal terminal commands.

shellroute upstream add my-proxy 'https://USER:PASSWORD@HOST:PORT'
shellroute
/connect my-proxy
curl -I https://example.com/

`USER`, `PASSWORD`, `HOST`, and `PORT` are the details from your proxy provider. `my-proxy` is just a name you choose for the saved proxy.

The proxy applies inside that Shellroute shell, while the rest of your machine keeps its normal connection. Shellroute also has optional hosted country and city routes, which are paid.

Source: https://github.com/shellroute/shellroute-cli

Does this kind of saved-proxy shell fit how you use proxies from the command line?

Earlier thread: https://www.reddit.com/r/commandline/comments/1w6ze7u/shellroute_a_cli_that_gives_each_shell_its_own/


r/commandline • • 20d ago

Terminal User Interface Tabiew v0.15.0 released

37 Upvotes

Tabiew is a lightweight TUI application that allows users to view and query tabular data files.

In this version:

  • Remote control to allow AI agents control Tabiew

  • Sheet view in json and yaml

  • Bug fixes and security patches

GitHub: https://github.com/shshemi/tabiew


r/commandline • • 20d ago

Terminal User Interface [email protected] - unscramble the letters to spell out a word fitting the given definition

5 Upvotes

r/commandline • • 21d ago

Terminal User Interface A roguelike game with Vim motions and a "modal shotgun" (alpha release)

36 Upvotes