commandline

2141 readers
1 users here now

founded 2 years ago
MODERATORS
1
2
3
 
 

Managarr v0.7.0 has been released with Lidarr support!

What is Managarr?

Managarr is a terminal-based application for managing all your Servarr instances from one place. It provides a user-friendly interface to interact with your media libraries, making it easier to manage your downloads, monitor your artists and albums, and perform various actions directly from the terminal.

It sports two modes: a TUI mode (Text-based User Interface) and a CLI mode (Command Line Interface).

TUI mode gives you an interactive User Interface right inside your terminal window, allowing you to navigate through your Sonarr and Radarr libraries, view details about your series and movies, and perform actions like adding or removing items, all through keyboard shortcuts.

CLI mode lets you execute commands directly from the terminal to manage your Servarr instances without needing to open the TUI. This is great for quick tasks or for integrating with scripts and automation tools.

Screenshots

Try it out for yourself using the in-browser demo!

If you want to try it out for yourself without installing it first, you can use the Managarr demo-site: https://managarr-demo.alexjclarke.com/

What Lidarr operations are supported?

πŸ“š Library Management

  • Artist Library - Browse, search, filter, and sort your music collection
  • Add Artists βž• - Search for new artists and add them with full config options (quality profile, metadata profile, root folder, monitoring options)
  • Edit Artists ✏️ - Tweak artist settings including quality profiles, metadata profiles, tags, and monitoring status
  • Delete Artists πŸ—‘οΈ - Remove artists from your library with optional file deletion
  • Artist Details πŸ” - Get the full picture on any artist:
    • Overview, disambiguation, type, status, genres, and ratings
    • Album list with release dates, track counts, and download status
    • Artist history with detailed event info
    • Manual discography search with release selection and download

πŸ’Ώ Album & Track Management

  • Album Details - Drill into individual albums to see:
    • Track listing with audio info (codec, channels, bitrate, sample rate, bit depth)
    • Album history
    • Manual album search for grabbing specific releases
  • Track Details 🎼 - View individual track info and history
  • Delete Albums - Remove individual albums from your library

⬇️ Downloads & Queue

  • Downloads Tab - Keep an eye on active downloads and manage your queue
  • Blocklist 🚫 - View and manage blocked releases

πŸ“œ History

  • Full History Support - Browse, search, filter, and sort Lidarr event history
  • History Details - Dig into the details of any history event
  • Mark as Failed ❌ - Mark history items as failed

πŸ”Ž Indexers

  • Indexer Management - View, add, edit, and delete indexers
  • Indexer Settings βš™οΈ - Configure global indexer settings
  • Test Indexers πŸ§ͺ - Test individual or all indexers at once

πŸ“ Root Folders

  • Root Folder Management - Add and manage root folders for your music library

πŸ–₯️ System

  • System Status - View Lidarr system info and health checks
  • Tasks - View and trigger system tasks
  • Queued Events - Monitor queued system events
  • Logs πŸ“‹ - Browse system logs
  • Updates πŸ†™ - Check for and view available updates

⌨️ CLI Commands

Full Lidarr CLI support for all the things!

managarr lidarr list artists|albums|tracks|indexers|root-folders|tags|quality-profiles|...
managarr lidarr get artist|album|track|...
managarr lidarr add artist|root-folder|tag|...
managarr lidarr edit artist|indexer|indexer-settings|...
managarr lidarr delete artist|album|root-folder|tag|blocklist-item|...
managarr lidarr search artist|album|...
managarr lidarr refresh artist|downloads|...
managarr lidarr trigger-automatic-search artist|album
managarr lidarr manual-search artist|album

Managarr also supports Radarr and Sonarr!

If you're running the full *arr stack, Managarr has you covered - It supports Radar and Sonarr too, all from the same interface!

This is a passion project so I'd love to hear your feedback, feature requests, or any bug reports you find.

4
 
 

DotR, a dotfiles manager as dear as a daughter, is now stable!

5
 
 

Haraltd is a Bluetooth daemon that provides a JSON-based RPC over the native OS's Bluetooth stack. It currently only supports Bluetooth Classic, and runs on Windows and MacOS. Installation instructions are in the README.

It was created to reduce the pain points of dealing with the various Bluetooth stacks present in different operating systems, and to present a simpler API to handle Bluetooth (classic) based operations. It is intended for Bluetooth managers and possibly can be used for scripting purposes. See bluetuith for an application that interacts with Haraltd.

The RPC specification is published here.

A table of the daemon's features is posted here, but to summarise:

  • Adapter/device management

  • Automatic/manual profile-based connection

  • Pairing with authentication

  • OBEX profiles (currently only Object Push, but more OBEX profiles will be added later)

  • Notifications for various Bluetooth events

  • JSON-based RPC over a Unix socket

This was tested only with a sum total of 3 devices (2 Android phones and 1 Bluetooth earphones), so any feedback is appreciated, especially from users who can test with other kinds of Bluetooth classic devices.

Note: No AI was used to manage the codebase or generate code.

6
 
 

Hello Lemmy,

With this release, bluetuith now works on MacOS. MacOS specific instructions are here: https://bluetuith-org.github.io/bluetuith/Installation/MacOS.html.

(TL;DR Install and run Haraltd and then run Bluetuith)

Bluetuith is a TUI based bluetooth manager, that aims to be an alternative to most bluetooth managers, and can perform bluetooth based operations like:

  • Connection to and general management of bluetooth devices, with device information like battery percentage, RSSI etc. displayed, if the information is available. More detailed information about a device can be viewed by selecting the 'Info' option in the menu or by clicking the 'i' key.

  • Bluetooth adapter management, with toggleable power, discoverability, pairablilty and scanning modes.

  • Transfer and receive files via the OBEX protocol, with an interactive file picker to choose and select multiple files.

  • Handle both PANU and DUN based networking for each bluetooth device (Linux only)

  • Control media playback on the currently connected device, with a media player popup that displays playback information and controls. (Linux only)

I hope you enjoy this release, and any feedback is appreciated.

7
 
 

So I'm sure we've all spent time writing scripts or figuring out CLIs for that one project we're working on, and then kind of go on to forget what we did. Then, when another project comes along later, you wish you had that script again so you could see how you did that thing you did.

Personally, I used to just check random scripts into a repo as a kind of "archive" of all my scripts. But I wanted a better way to organize and use these things.

For years I've been building and collecting these scripts into a CLI that I call Devtools to make it so that each script is a subcommand.

I've had a lot of my friends and coworkers ask me to open-source it so they could use it and see how some things are done in Bash, what tools I use, etc. So...here's that CLI!


But what I'd honestly like is more...

So what are your useful scripts or CLIs you've built? Or what's that script you wrote years ago that you now swear by? Or what's that one application you use daily that just makes your life infinitely easier! I want to grow this collection and feed the addiction!

8
 
 

DotR is a dotfiles manager written in Rust. It supports templating, a centralised configuration, multi-level variables and secrets management, dependency, and package & profile patterns. It's still in Beta. Feedback is welcome!

9
 
 

Ed is customizable, actually. It can have syntax highlighting, interactive commands, and build/REPL setup. Enter rlwrap.

10
 
 

Introducing: Loki! An all-in-one, batteries-included LLM CLI tool

Loki started out as a fork of the fantastic AIChat CLI, where I just wanted to give it first-class MCP server support. It has since evolved into a massive passion project that's a fully-featured tool with its own identity and extensive capabilities! My goal is to make Loki a true "all-in-one" and "batteries-included" LLM tool.

Check out the release notes for a quick overview of everything Loki can do!

What Makes Loki Different From AIChat?

  • First-class MCP support, with support for both local and remote servers
    • Agents, roles, and sessions can all use different MCP servers and switching between them will shutdown any unnecessary ones and start the applicable ones
    • MCP sampling is coming next
  • Comes with a number of useful agents, functions, roles, and macros that are included out-of-the-box
  • Agents, MCP servers, and tools are all managed by Loki now; no need to pull another repository to create and use tools!
    • No need for any more *.txt files
  • Improved DevX when creating bash-based tools (agents or functions)
    • No need to have argc installed: Loki handles all the compilation for you!
    • Loki has a --build-tools flag that will build your bash tools so you can run them exactly the same way Loki would
    • Built-in Bash prompting utils to make your bash tools even more user-friendly and flexible
  • Built-in vault to securely store secrets so you don't have to store your client API keys in environment variables or plaintext anymore
    • Loki also will inject additional secrets into your agent's tools as environment variables so your agents can also use secrets securely
  • Multi-agent support out-of-the-box: You can now create agents that route requests to other agents and use multiple agents together without them trampling all over each other's binaries
  • Improved documentation for all the things!
  • Simplified directory structure so users can share full Loki directories and configurations without massive amounts of data, or secrets being exposed accidentally

What's Next?

  • MCP sampling support, so that MCP servers can send back queries for the LLM to respond to LLM requests. Essentially, think of it like letting the MCP server and LLM talk to each other to answer your query
  • Give Loki a TUI mode to allow it to operate like claude-code, gemini-cli, codex, and continue. The objective being that Loki can function exactly like all those other CLIs or even delegate to them when the problem demands it. No more needing to install a bunch of different CLIs to switch between!
  • Integrate with LSP-AI so you can use Loki from inside your IDEs! Let Loki perform function calls, utilize agents, roles, RAGs, and all other features of Loki to help you write code.
11
12
 
 

I've been using khal for years now, and I like everything about it except that it's written in Python and breaks every nine months when some dependency pulls an Idiot. Then it can take a while for the dev to notice and push out a fix, and a while longer for it to make it out through AUR (no shade; it's FOSS, and I'm grateful for it. We all have ourpriorities), during which time doing calendar stuff is hard. I'm looking for an alternative.

I'm aware of:

  • calcure, which is also Python, but in addition can't edit events except in the most broad way
  • calcurse, which is compiled (whew!) except that it ignored established standards and invented it's own bespoke DB format. The DB is One Big File, and it's ASCII, so it's not impossible; but neither is it an RFC like ical

I do not want to use venv, although I may end up having to. Unless, of course, one of you fine gentlepersons can suggest some tool I've missed that will fit the bill:

  • Preferrably with a TUI; although if it's just commands that can print a semblance of a traditional calendar & agenda, and has some sort of interface for creating and editing entries, that would work, too. I just don't want to be manually editing ics files. ics is great, but it's a computer format.
  • Stores calendar entries in RFC 5545 (et al), preferrably in a directory, so that it works with the cornucopia of vdir-based caldav syncers.
  • Most importantly, is compiled. Even better if I can statically compile the thing, so that it won't everΒΉ break unless I do something specifically to it that breaks it.

I don't think I have any other asks for it; it doesn't need to alert me, or issue remindors, or send notifications, or anything else; I have a mobile app and other programs for that. I don't care what it's written in.

1: For reasonable values of "ever"

13
 
 

Use ln -sf to update a symlink after each cron run:

0 */8 * * * TIMESTAMP=$(date +\%Y-\%m-\%dT\%H;\%M;\%S) && LOG="$HOME/logs/${TIMESTAMP}_job.log" && /path/to/script.sh >> "$LOG" 2>&1 && ln -sf "$LOG" "$HOME/logs/latest_job.log"

Any active communities where I can learn more cool things like this?

14
 
 

These utilities aren't particularly new, but I thought that I'd mention them for folks who might not have seen them or only used one or the other. I remember some time before I discovered each back in the day, because so many people just use graphical tools on laptops to manage WiFi.

Both are part of the current network-manager package in Debian Trixie, so not exactly hard to find; they're probably installed on most systems already.

nmtui provides a very simple, limited, ncurses-based, menu. It's mostly useful to select a WiFi network and connect to it. It can't do a number of important things, like trigger rescans or show authentication type on a WiFi network.

nmcli can be used in conjunction with nmtui to address some of its limitations. nmcli device wifi will show the list of reachable WiFi networks, including the technical details (auth data, speed) that nmtui doesn't.

15
 
 

Managarr v0.6.0 has been released with some fun new features!

Managarr is a terminal-based application for managing all your Servarr instances from one place. It provides a user-friendly interface to interact with your media libraries, making it easier to manage your downloads, monitor your series and movies, and perform various actions directly from the terminal.

It sports two modes: a TUI mode (Text User Interface) and a CLI mode (Command Line Interface).

TUI mode gives you an interactive User Interface right inside your terminal window, allowing you to navigate through your Sonarr and Radarr libraries, view details about your series and movies, and perform actions like adding or removing items, all through keyboard shortcuts.

CLI mode lets you execute commands directly from the terminal to manage your Servarr instances without needing to open the TUI. This is great for quick tasks or for integrating with scripts and automation tools.

The biggest change: Managarr now has themes!

The UI has been completely overhauled to support themes! You can now customize the look and feel of Managarr to suit your preferences. Choose from a variety of themes to change the color scheme and overall aesthetic of the application.

Here's just a few examples:

Default

default

Dracula

dracula

Watermelon Dark

watermelon-dark

You can also customize the themes to your heart's content! Check out the themes documentation for more details on how to create and apply your own themes.

Features

  • Added support for alternative Vim-like navigation keybindings (hjkl movements) Discussion #34
  • Added support for terminal-like backspace operations (Ctrl-h instead of Backspace)
  • You can now specify the number of downloads to fetch from the CLI: managarr <sonarr/radarr> list downloads --count 1234
  • You can now toggle movie monitoring from the CLI without needing to use the edit subcommand: managarr radarr toggle-movie-monitoring --movie-id 1234 #43
  • You can also now toggle series monitoring from the CLI without needing to use the edit subcommand: managarr sonarr toggle-series-monitoring --series-id 1234 #43
  • You can now also toggle movie/series monitoring directly from the Library view for each Servarr with the m key. No need to open the Edit [Series/Movie] modal anymore to simply toggle monitoring for an item! #43
  • Users can now skip up/down tables 20 items at a time using Ctrl-d and Ctrl-u keys (mirroring the same functionality in the Helix editor). Alternatively, the standard PgUp and PgDown keys are supported for the same operation. This is particularly useful for large libraries with many items #45
  • The total disk usage for any given series is now displayed in the Series Library view to mirror Radarr functionality #44
  • All keybindings and help tips have been refactored into a unified, dynamic menu that displays the available keybindings for the current view. This is accessible by pressing ? in any view, and it will display the keybindings relevant to that view. #32
  • Users can now add any number of custom headers to each Servarr's configuration, enabling support for OAuth and other custom authentication schemes for Servarr access #47

Fixes

  • Fixed a bug that caused the Collection Details modal to vanish when attempting to add a new film to a collection
  • Fixed a bug that caused the Radarr library to be rendered, then the Collections table to be rendered over it (merging the two), and then showing a popup which made for ugly and confusing UI
  • Wrapped Season.statistics with Option to prevent a panic if the season doesn't have any statistics (edge-case, only happens with outdated Sonarr data) #35
  • Corrected a bug that caused double key presses on Windows machines #40 (Thanks @cwesleys!)
  • Defaulted to empty tags to improve fault tolerance within the Sonarr and Radarr UIs. This is in response to #42, #48. It seems like this may be a bug in Sonarr where a series can have an associated tag ID but that tag Id doesn't exist in the list of tags, but I still can't quite track it down.
  • Fixed an issue that caused some panics to occur when video codecs are undefined in file metadata #38
  • More than 10 downloads will be listed in the Downloads tabs for both Radarr and Sonarr
  • Fixed a bug where Sonarr would have empty values on season releases for seeders/leechers instead of '0'
  • Fixed a bug where some Radarr films don't have studios associated with them, so the studio field is now nullable, preventing crashes when loading the Radarr library

Security Fixes

Minor Changes

  • Due to the new support for Vim-like navigation keybindings, the system logs are now opened using L instead of l
  • Refactored the network module to be more idiomatic Rust and to improve maintainability

Documentation

  • Update README.md to remove the cheeky Try Before You Buy heading since some users reported it as misleading; i.e. they thought it meant Managarr cost money. Managarr is and always will be, free

As always, thank you to everyone who reported an issue or requested a feature! You all make it a LOT easier to keep up with breaking API and add new features. If you have any feedback or suggestions, please don't hesitate to open an issue or discussion on the GitHub repository.

16
 
 

The person running the site had some had some health issues and hasn't posted an update in 2.5 years. However, there's a mountain of awesome command line tools to discover if you go through the backlogs. The daily updates on this site used to be one of the most delightful parts of my day for a long time and a lot of tools that I use and love today were found here.

Enjoy!

17
 
 

Hello Lemmy,

With this release, bluetuith now has initial cross-platform support, and works on Windows. Windows specific instructions are here, tl;dr install haraltd and bluetuith together.

There are no new features introduced, only other optimisations and bug fixes for Linux.

I hope you enjoy this release, and any feedback is appreciated.

General Information

Bluetuith is a TUI based bluetooth manager for Linux, that aims to be an alternative to most bluetooth managers, and can perform bluetooth based operations like:

  • Connection to and general management of bluetooth devices, with device information like battery percentage, RSSI etc. displayed, if the information is available. More detailed information about a device can be viewed by selecting the 'Info' option in the menu or by clicking the 'i' key.

  • Bluetooth adapter management, with toggleable power, discoverability, pairablilty and scanning modes.

  • Transfer and receive files via the OBEX protocol, with an interactive file picker to choose and select multiple files.

  • Handle both PANU and DUN based networking for each bluetooth device

  • Control media playback on the currently connected device, with a media player popup that displays playback information and controls.

18
 
 

tjot is a terminal djot renderer.

Features

  • Covers 100% of the Djot spec
  • Reasonably fast:
    • pandoc -f djot -t ansi: 10 runs, milliseconds per run: [266, Οƒ 270, 274]
    • tjot: 105 runs, milliseconds per run: [24, Οƒ 26, 28]
  • ANSI glyphs & escape codes for nice tables, task lists, and coloring
  • Renders images, including SVGs
  • Detects the terminal size (usually) for accurate wrapping
  • Langage-sensitive highlighting for code blocks, and language detection

tjot is alpha; this is the first version that is useful. That said, it's fairly complete.

What is this?

djot is a markup language related to Markdown created by John MacFarlane, the author of pandoc. For a detailed explanation of why he invented djot, see this essay, but my interpretative summary is that he was unsatisfied with the complexity and size of CommonMark -- a result of trying to maintain compatability with Markdown -- and thought they could do better from scratch. djot was the result.

I've been using djot since late 2022, but as there (until recently) was no terminal pager for djot, I finally decided to write one.

To render djot documents on the command line, install tjot and call it with the path to a file, or pipe the file into tjot on stdin. Pipe the output to a pager such as less.

If the document references images via URL, those will be downloaded and rendered.

Limitations

  • There are known bugs; see the end of the CHANGELOG for a complete list
  • Ultimately, I want a pager. The current version only renders output; paging has to be provided by an external program
  • Customization is non-existent
  • While images are supported, rendering is via asci; there's no sixel, kitty, or other high-res rendering. SVG rendering, in particular, is of particularly questionable quality.

As usual, feedback is welcome, as are any reports of failures. Although this is an early release, the nature of the project is such that getting exposure to a wide variety and complexity of documents will help me improve it.

19
10
Edit is now open source (devblogs.microsoft.com)
submitted 8 months ago* (last edited 8 months ago) by neme@lemm.ee to c/commandline@programming.dev
 
 

Edit is a new command-line text editor in Windows

20
 
 

Crawlio is a simple C tool that slows down I/O operations by adding a specified amount of time to each I/O call. It uses LD_PRELOAD.

  • Test application behaviour under slow I/O conditions
  • Bring back the dial-up nostalgia
  • Learn how to use LD_PRELOAD
21
 
 

Rook provides a secret service a-la secret-tool, keyring, or pass/gopass, except backed by a Keepass kdbx file.

The problem Rook solves is mainly in script automation, where you have aerc, offlineimap, isync, vdirsyncer, msmtp, restic, or any other cron jobs that need passwords and which are often configured to fetch these passwords from a secret service with a CLI tool. Unlike existing solutions, Rook is headless, and does not have a bespoke secrets database full of passwords that must be manually synchronized with Keepass; instead, it uses a Keepass db directly.

Rook is in AUR and in Alpine community (a MR has been submitted for the new version); binaries are available from the project page.

There have been several releases since my last announcement for v0.2.0, 7 months ago. The major thing is that I've added built-in support for the Linux keyring, which makes it much easier to use; since it improves security, I'm hoping this will encourage users to use the feature.

Here are the rest of the changes, collapsed for brevity:

Added

  • built-in support for the kernel keyring on Linux.
  • Go 1.24 landed in Alpine, so off we go!

Changed

  • autotype and getAttr now detect if keyctl is available and in use, and automatically uses it to get the pin. (which should be superceded by ---keyring)
  • the kernel keychain instructions are now independent of external environment variable management, such as herbstluftwm
  • Use Go 1.24's go tool for manpage generation, via go:generate.

Fixed

  • --keyring may not be used with open; this is now prevented, and documented. It never worked, but it would be seen by the server as on open failure.
  • --detach and -P didn't play nicely; now they do
  • URLs in the README (thank, mlc-man!)
  • getPassword() was prompting on STDOUT, which is bad for piping the pin
  • --detach never worked
  • logging was going to stdout
  • some log messages were not being logged, but just printed out
  • PIN authorization had a lot of bugs
  • build assets now contain man pages & other documentation, and arch image CI is fixed
22
 
 

cross-posted from: https://lemmy.world/post/28754519

https://gitlab.com/christosangel/sausage

sausage is a terminal word forming game, written in Bash.

This game was inspired by https://en.wikipedia.org/wiki/Bookworm_(video_game).

https://gitlab.com/christosangel/sausage/-/raw/main/screenshots/word1.png

The aim is to score points by creating words, moving around in six directions in the grid, using consecutive letters.

When the user created longer words, coloured letters appear. The user can score more points by using these coloured letters.

More points can also be scored, when the user manages to create the bonus words.

When smaller words are created, or low point yielding words, red letters appear in the grid. If not used, these red letters will drop one cell in every turn.

When a red letter reaches beyond the bottom of the grid, the game is over.

The user can also reshuffle the letters in the grid, in order to be able to create words. However, there is a price to this action: the existing red letters will drop one cell, all other bonus coloured letters will be lost, and more red letters will appear.

If the score is among the 10 best scores achieved, it makes it in the Top Ten Highscores.

https://gitlab.com/christosangel/sausage/-/raw/main/screenshots/stats.png

23
 
 

This is part of the cross-platform work for bluetuith, and is essentially a demo of the bluetooth-classic library.

This daemon provides a REST API interface to control Bluetooth Classic functions.

Features are:

  • Pairing (with authentication)

  • Connection (automatic and manual profile based connection)

  • Object Push (Send and receive files)

And currently only on Linux, it additionally supports:

  • Bluetooth network tethering (PANU/DUN)

  • Media playback control (AVRCP)

It also provides an interactive API viewer (courtesy of Scalar Docs) via the "/docs" endpoint. Also, it provides an openapi command to output the entire OpenAPI specification of the REST API.

This is currently in preview (i.e. alpha).

Any feedback is appreciated.

24
 
 

https://gitlab.com/christosangel/deshuffle

deshuffle is a terminal word puzzle game, written in Bash.

The simple aim is to put all the given letters in order to find the shuffled word against the clock. The time available after a number of words also reduces, so the game gets harder as it goes.

There is not only one solution to every puzzle. If the user find a word with the same letters, the solution will be accepted.

By default, the adjusted definitions of the words appear in the end of each round.

The game ends when the user fails to find the word in time, or fails to create an acceptable solution altogether.

If the score is among the 10 best scores achieved, it makes it in the Top Ten Highscores.

This game was inspired by https://wordnerd.co/23words/.

25
 
 

Taking about https://starship.rs/

view more: next β€Ί