<p>
Whether you're developer, DevOps engineer, SysAdmin, QA or in any other technical role, you're surely familiar with cURL - <i>the command line tool and...
Lynx is a text based browser. You think the people who browse without JavaScript are weird? Lynx doesn’t even do images or CSS! It downloads HTML and renders it at blazing fast speed. If you …
When I was first starting out in software engineering, it felt like there was a never-ending barrage of tooling to learn. After more than a decade in CLI environments, I still find myself constantly learning new features and fun facts - but it’s fairly rare that I learn something new that I end up u...
Miss the internet from the 80s? Want to (re-)experience BBS scene vibes but still participate in today’s conversations? Then Neon Modem Overdrive is for you!
Rook provides a secret service a-la secret-tool, keyring, or pass/gopass, except backed by a Keepass v2 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 the AUR; binaries are available from the project page.
From the changelog, since the last Lemmy release announcement (v0.0.9):
[v0.1.3] Mon May 20 17:12:25 2024 -0500
Added
status command, a more lightweight way of testing if a DB is open. Using this instead of info in e.g. statusbar scripts greatly reduces CPU load.
case-insensitive search.
Changed
removing some nil panics that could occur when DB is closed while a client call is being processed.
Fixed
a hidden bug in the OTP pin code.
some errors being ignored (and therefore not logged)
TOTP attributes getting missed by otp generator check
[v0.1.2] Fri Apr 26 15:13:55 2024 -0500
Added
one-time pin soft locking
installation instructions for distributions that have rook in a repository
more of the special autotype {} commands are supported (backspace, space, esc)
Changed
getAttr adds a little delay before typing, allowing initiator tools (like rofi) to close windows before text is output
cleans up code per golint/gochk
Fixed
an autotype bug in outputting literals
[v0.1.1] Sun Mar 17 13:44:54 2024 -0500
Added
the original source rook.svg
ability to start the rook server passing in the password via stdin pipe.
Changed
assets moved to directory
documentation referenced Keepass v4; there's no such thing, it's v2.
license, was missing (c) from original
stop trying to remove the version number from build assets
documentation to clarify when the master password exists as plain text, in response to questions from @d3Xt3r@lemmy.nz
[v0.1.0] Fri Mar 15 14:03:25 2024 -0500
Added
nfpm file
logo
Changed
clears out the password so it's not being held in plain text by the flags library.
some of the documentation, and fixes the duplicated v0.0.9 entry in the changelog.
CI build targets are more limited, but also include some distro packages
better README documentation
Removed
the monitor attribute was taken out, as rook no longer busy-polls the DB
> so, about a month ago i stumbled upon the duckduckgo ai chat feature and wrote an article about how private their APIs are, and a few weeks after, a CLI client.
>
> the thing is in a pretty mature stage now (its not like there is a lot of work to be done there tbh)
>
> its not super private, but it is "private enough". the only thing duckduckgo has is your IP, which is usually not much unless you are on a residential connection with a dedicated IP
I just noticed that eza can now display total disk space used by directories!
I think this is pretty cool. I wanted it for a long time.
There are other ways to get the information of course. But having it integrated with all the other options for listing directories is fab. eza has features like --git-awareness, --tree display, clickable --hyperlink, filetype --icons and other display, permissions, dates, ownerships, and other stuff. being able to mash everything together in any arbitrary way which is useful is handy. And of course you can --sort=size
I'm announcing Rook v0.0.9, software that provides a secret service a-la secret-tool, keyring, or pass/gopass, except backed by a Keepass 4.x 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.
While the readme goes into more detail, I will say the motivation for Rook evolved from a desire to use a Keepass db in a GUI-less environment and finding no existing solutions. KeepassXC provides a secret service, but is not headless; it also provides a CLI tool, but this requires the db credentials on every call. kpmenu exists, but is designed specifically to require human interaction and is unsuitable for cron environment scripting. Every other solution maintains its own DB back end, incompatible with Keepass.
Rook also benefits from minimal external dependencies, and at 1kloc is auditable by developers - I believe even by ones who do not know Go (the language of implementation). Being able to verify for yourself that there's no malicious code is a critical trait for a tool with which you're trusting secrets.
Rook is fit for purpose, and signed binaries are provided as well as build-from-source instructions (for auditors).
The project contains work in progress: credentials are limited to simple password-locked kdbx, and so doesn't yet support key files. Bash scripts that provide autotyping and attribute/secret selection via rofi, fzf, and xdotool are provided, for GUI environments; these have known bugs. Rook has not been tested on BSD, Darwin, or any other system than Linux, but may well work; the main sticking point is the use of a local file socket for client/server communication, so POSIX systems should be fine, but still, YMMV.
As a final caveat: up until v0.0.9 I've been compressing with brotli, which is very nice yet somewhat obscure. With the next release, everything will be gzipped. Also included in the next release will be packages for various distributions.
A collection of scripts for working with a few or a large number of git repos at once. - f3rno64/mass-git-scripts
After an unexpected need to reset my work machine 😓, and needing to set up my development environment again by hand 🛠️, I decided to create a solution to quickly restore my local git repositories (and associated folder structure) 🔄.
I took this opportunity to write two bash scripts that clone and update all repositories on GitHub belonging to either a user or an organization 📦.
This means that, for example, with a single command ⌨️, you can clone hundreds or thousands of repositories, with high levels of concurrency (50 clones in parallel is doable 💨).
The scripts allow for a configurable clone depth, a limit for the number of repositories cloned, and a level of concurrency that decides how many clones are run in parallel 📈.
Convert xml/html to a more human readable/editable format (xmq/htmq) and back can also work with json. Includes a syntax highlighter and pretty printer, pager and can render to html and tex. - libx...
Hello! This is not my project, I just found it today.
Making verbose things more concise and readable makes a big difference to me, and this could be excellent for me when dealing with HTML/XML. Just piping those formats through xmq yields a beautiful and clear rendering of the data.
And as a NestedText enthusiast, I can now (using additional existing tooling):
I have a list containing a set of tags, and would like to exclude one tag, unless another tag exists in the line.
Say I have the following list, and want to exclude B, unless A is present.
[A,B] [A,C] [B,C] [A] [B]
I can reverse grep for B:
> grep --invert-match "B" [A,C] [A]
How can I find the previous list, but also the item containing [A,B]?
Smassh is a TUI based typing test application inspired by MonkeyType
-- A very popular online web-based typing application
Smassh tries to be a full fledged typing test experience but not missing out on looks and feel!
There is a lot of room for improvements/additions and I am open to contributions and suggestions!
kdotool uses KWin's scripting API to control windows. In each invocation, it generates a KWin script on-the-fly, loads it into KWin, runs it, and then deletes it, using KWin's DBus interface.
This program should work with both KDE 5 and the upcoming KDE 6.
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.
This release contains the following new features:
New command-line options --adapter-states to set adapter properties and --connect-bdaddr to connect to a device on initialization
Block/unblock devices
Indefinite passkey/pincode display
Modifiable navigation keys
Display the 'Bonded' property for a device
I hope you enjoy this release, and any feedback is appreciated.
Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your command line. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful command line pipelines.
Today, we're releasing version 0.86 of Nu. This release adds fish-like directory completions, type system improvements, our first officially supported uutils command, and much more