This repository hosts various small personal tools.
all-clipboard
: list clipboard data on stdoutaltlines
: mark every 2 lines with colorargs2csv
: output one CSV row with arguments as cellsascetic
: set rlimit and exec commandboxuni
: convert ASCII-art boxes into Unicode-art boxescatsponge
: like cat(1) but soaks stdin and waits that stdin reaches EOFcheapthrottle
: throttling a process by sending it SIGSTOP/SIGCONT repeatedlyclipsync
:coordapp
: always-on-top window that shows the mouse cursor coordinatescount-unsorted
: likeuniq -c
but not requiring sorted inputcrc
: basic CRC computation toolcsv2json
: transform CSV into JSONcsv2table
: pretty-print a CSV file with ASCII-art tabledpkg-imediff
: when dpkg interactively prompts for resolving a config file conflict, run this to start a merge editorelidelong
: command-line filter to elide long linesexiforientergui
: GUI to losslessly modify EXIF orientation of an imageffmcut
: ffmpeg wrapper to cut a video between 2 timestampsfirefox-relay-tools/fxrelay-add
: add a Firefox Relay addressfirefox-relay-tools/fxrelay-delete
: delete a Firefox Relay addressfirefox-relay-tools/fxrelay-list
: list Firefox Relay addressesfirefox-relay-tools/fxrelay-set-block
: control Firefox Relay mail blocking levelfirst-avail-command
: run the first command (in a list) which is installedfix-broken-links-by-name
: fix broken symlinks if target file changed dir but not nameflatten-json
: flatten a deep json tree in a single json or reverse operationfonts2png
: render TTF fonts samples to image filesgen-indexhtml
: create an index.html listing all files in dirgit
: misc git utilitiesgotify-tools/gotify-push
: command-line tool for pushing a gotify notification (and a shell implementation)gotify-tools/gotify-read
: command-line tool for listing/reading gotify notificationsgroup-lines
: group stdin lines by a regular expression patterngroup-files-by-mtime
: take files in a dir and move them to folders for each last modification timehardlinks-to-csv
: list files (and inodes) with more than 1 hardlink as CSVheadset-bluez
: enable a bluetooth headset and out or in/out modehexgen
: generate data from an hex dumphibp
: check if a password has been leaked on "Have I Been Pwned?" site (by checking hash prefix)htmlesc
: escape HTML from stdinhttpshare
: share a directory via HTTP, like Python "http.server" but supports "Range" headersimage2xterm
: display an image on console using terminal RGB24 mode or 256 colorsindent-ics
: indent a.ics
(iCal) file (for pretty-print only)ini2json
: convert INI to JSONitertools
: CLI tool for computing permutations and combinations of textjson2csv
: transform a JSON list of objects into a CSV filejson2sqlite
: insert JSON data in SQLitejson2table
: pretty-print a JSON list of objects in an ASCII-art tablejson2toml
: convert JSON to TOMLjson2yml
: convert JSON to YAMLjson-elide-strings
: elide too long strings in JSON datakeepassxprint
: dump info and passwords from a KeePassX databaselch-color-chooser
: CIE LCh color chooser and RGB converterlinks2markdown
: fetch title of links in a text file and replace to build Markdown linkslog-snippet
: parse compilation-log and show snippets of files with contextlog-ts-diff
: parse log and replace timestamps with diff to previous timestampmediadims
: get audio/video duration or video width/height of a file with mediainfomorse
: text from/to Morse code converter, and optional beep playermorsehtml
: HTML page with its background flashing a Morse code messagemoversleep
: move incoming files from a dir into anothermultiman
: open your web browser to manual pages from various OSesmv-with-thumb
: like mv, but also moves XDG thumbnailsnicest
: run a command with the highest nice/ionice/oom-adjno-utf8-bom
: just remove pointless UTF-8 BOM from stdin or filespass-ls-entries
: list pass(1) entries in find(1) format, not tree(1) formatpassword-prompt
: simply prompt a password on tty and then print itpdf-watermark
: watermark a chosen message on a PDFpvrun
: run a command and show its I/O progress with pv(1)pyliteral-to-json
: read a python literal dict/list/string and convert to JSONpy-subclasses
: show found subclasses of a classpyprio
: show operators priorities of a python expressionpyqt5-to-pyqt6
: dumb port a file from PyQt5 to PyQt6qgifview
: very basic GIF image viewerqpeep
: window covering with a hole following the cursorqr2unicode
: display QR-codes on console using Unicode box-drawing charactersqr-shot
: decode a QR code image from part of the screenqruler
: tool window that measures width and height in pixelsqunpak
: extract Quake I and II .pak filesr2w_plugins
: 2 rest2web pluginsradiodump
: circular buffer and dump to filerandom-line
: take a random line from stdinrealign-text-table
: takes a malformed ASCII-drawn table and redraw borders properlygitlab-delete-your-comments.py
: delete your own gitlab comments on issues/MRs/etc.matrix-redact-room.py
: redact messages in a Matrix room of all users or a specific user (resumable)redmine2ical
: convert Redmine’s timesheet to iCalendar formatreplace-cased-names
: replace a string in files retaining the original snake_case/camelCase/etc.screen-run-dir
: start GNU screen and run given commands in separate windowsscreen-msg
: 2 tools for setting screen(1) messages (hardstatus or transient messages)set-cachedir
: basic tool to create CACHEDIR.TAG files (prevent a folder from being backed up)show-args
: just show args, one per linesort-with-numbers
: sort stdin like sort(1) but sorts numberssqlite-insert-fill
: 2 tools for inserting rows and updating othersssh-tools/ssh-fingerprint-current-host
: show fingerprint of current host ssh server keyssh-tools/ssh-known-fingerprint
: show fingerprint of an already known hoststickimage
: display an image always-on-top like a sticky notestfu
: fire and forget a command, run in background, discard stdout/stderrsupybot-shell
: Supybot plugin: execute shell commands and see their outputsu-with-args
: calls su(1) but uses arguments properlytable-add-border
: add a border to borderless Go tablestailsleep
: like tail -f but quits when I/O activity stopstoml2json
: convert TOML to JSONtrim-trailing-whitespace
: remove spaces, tabs and alike at end of each lineuniq-unsorted
: like uniq(1) but does not require lines to be sortedunivisible
: tweak Unicode combinations and visualize themurlunquote
: unquote text using URL quoting rulesvhd
: visual hex dump, splitting at newlines, not fixed-width linesvncconfig-show
: show VNC server options with vncconfig(1)vtt-to-srt
: convert VTT file to SRT formatwakeonwan
: wake remote machines with Wake-on-WANwallpaper-curtain
: show an image with low-opacity on top of other windowswith-same-shebang
: run a command with the same interpreter as another commandxattrs-csv
: print a CSV of selected xattrs of selected filesxattrs-filter
: filter a file list based on whether xattrs have desired valuesxattrs-set
: set/unset xattrs on files with a nice command-line syntaxxbel-add
: add a path to "recently used" files in GTK/Qt file chooserxephyr-run-cmd
: run a Xephyr server and run a command in it (like xvfb-run)yml2json
: basic convert YAML to JSONyt-dlp-template-vars
: outputs yt-dlp templating variables for a URLzeropipe
: wrapper for other programs which can take NULL-separated lineszlib-uncompress
: uncompress stdin with raw zlib (not gzip)
For more info, see also: https://indigo.re
All code in this repository is licensed under the WTFPLv2. See COPYING.WTFPL.