Essential Hacker Workshop Utilities: Tools to Make Your Life and Work Easier

Hacker Workshop: Assembling Utilities to Make Life and Work Easier

Welcome to a curated collection of handy utilities that can simplify your workflow, boost productivity, and make your daily tasks as a hacker or power user much more efficient. Below, you’ll find tools for file management, networking, scripting, system monitoring, and even a few for fun. Let’s dive in!

File Management

Goful

Goful is a brand-new dual-pane file manager written in Go. It supports useful features like batch renaming with regex and file search. There’s a built-in terminal and many other handy options.

Goful’s controls are a bit unusual but convenient: instead of multi-key shortcuts, you just press a single key. For example:

  • Spacebar: Select one or more files (like Ctrl+click in GUIs)
  • \ : Jump to the root directory (note: it’s a backslash, not a forward slash)
  • i: View file in a pager
  • b: Add a bookmark to a file
  • f /: Open file search in the current folder
  • K: Create a folder
  • d: Go to a path

This is just a small sample of commands. The full list is in the repository’s README.

To install Goful, you can either download and run the binary release from GitHub, or, if you have Go installed:

go install github.com/anmitsu/goful@latest

Goful looks good out of the box, but you can customize controls, colors, the built-in command line interpreter, editors, and viewers. There’s no config file; instead, you edit main.go and reinstall with go install.

Nnn

Nnn is one of the most minimalist console file managers. Its main advantage is simplicity and low resource usage (though that’s less of a concern on modern machines).

On Ubuntu, install it with:

sudo apt install nnn

Now just type nnn anytime to quickly browse directories. Open the built-in help by pressing ?.

Ncdu

Ncdu (NCurses Disk Usage) is a souped-up version of du that shows disk usage in a nice pseudo-graphical interface. You can easily navigate directories and delete unnecessary files with d (with confirmation to prevent accidents).

Install with:

sudo apt install ncdu

Run ncdu to scan the current folder, or specify a path:

ncdu /

Diffoscope

When regular diff isn’t enough, try diffoscope. It can compare not just text files, but also folders, archives, binaries, ISOs, PDFs, and about 70 other file types.

Install on Debian/Ubuntu with:

sudo apt install diffoscope

Note: This may pull in a lot of dependencies (Python, Java, X server). There’s also a Docker version:

docker run --rm -t -w $(pwd) -v $(pwd):$(pwd):ro registry.salsa.debian.org/reproducible-builds/diffoscope

Or use the browser version at try.diffoscope.org.

Eget

Eget is a cool utility for installing software from GitHub repositories that provide binary releases. If eget could install itself, you’d just run:

eget zyedidia/eget

But to get eget, use the ready-made release or installer script:

curl https://zyedidia.github.io/eget.sh | sh

Networking

Wireproxy

If you need to use Wireguard but don’t want a full client, check out wireproxy. It connects to a Wireguard peer but instead of creating a new network interface, it sets up a SOCKS5 proxy you can use in your apps.

Install with:

git clone https://github.com/octeep/wireproxy
cd wireproxy
go build ./cmd/wireproxy

If you don’t have Go, just download the prebuilt release.

Run with:

./wireproxy -c <config file>

The config is standard Wireguard, but you need to add two sections for TCPServerTunnel and Socks5. See the project repository for details.

Ssh-tools

Ssh-tools is a small set of utilities for those who work a lot with SSH. The most useful include:

  • ssh-ping: Ping the SSH service (not just the machine)
  • ssh-diff: Compare files on different machines
  • ssh-facts: Get info about the remote system
  • ssh-force-password: Skip key auth and log in with a password (if allowed)
  • ssh-keyinfo: Info about keys

All tools parse ~/.ssh/config, so you can use your configured hostnames. The package is available in most popular distros as ssh-tools.

Nala

Nala is a great interface for APT. It does everything standard apt does, plus supports history and parallel downloads.

To install (not in default repos yet):

echo "deb http://deb.volian.org/volian/ scar main" | sudo tee /etc/apt/sources.list.d/volian-archive-scar-unstable.list
wget -qO - https://deb.volian.org/volian/scar.key | sudo tee /etc/apt/trusted.gpg.d/volian-archive-scar-unstable.gpg > /dev/null
sudo apt install nala

After that, just use nala instead of apt (e.g., nala install nmap).

Iptables-tracer

iptables-tracer lets you see if traffic passes through the desired iptables chains by inserting special marker rules (-j NFLOG).

Install with:

git clone https://github.com/x-way/iptables-tracer
cd ./iptables-tracer/
go build

Run with:

./iptables-tracer -f "-s 1.3.5.7 -p tcp --dport 22" -t 90s

After stopping, remove the marker rules with:

./iptables-tracer -c

Graphics & System Monitoring

Picocrypt

Picocrypt is a simple yet powerful tool for file encryption. It also generates strong passwords and can edit or remove file metadata. Open source, small, and modern, it even protects against data corruption.

On Windows, download the binary from the releases page. On Linux, install via Snap:

snap install picocrypt

If you don’t have Snap, install it first (sudo apt install snapd).

Dockeye

If you need a UI for Docker, try dockeye. It’s a graphical client for managing Docker containers, available for Linux and macOS. Download from the releases page.

Sysmontask

If you miss the Windows Task Manager, sysmontask brings a similar experience to Linux.

sudo add-apt-repository ppa:camel-neeraj/sysmontask
sudo apt install sysmontask
# For Ubuntu <=20.04 only:
sudo pip3 install -U psutil

First launch is recommended from the console with sysmontask.

Neofetch

Neofetch displays system info in a visually appealing way, including your distro (with logo!), kernel version, memory, CPU, shell, desktop environment, window manager, theme, and more.

sudo apt install neofetch

If you use WSL, try wslfetch (included in Microsoft-provided distros), though it’s slower and looks a bit different.

TTYgames

No hacker toolkit is complete without some console games! Check out Petris (Tetris for the terminal) and other classics to pass the time.

For Scripting

HttpX

HttpX is a multipurpose tool for automating HTTP tasks. It’s great for finding HTTP servers in scan results, collecting service fingerprints, and exploring subnets during pentests. Especially powerful when combined with other tools:

subfinder -d hackerone.com -silent | httpx -title -tech-detect -status-code

HttpX has many flagsβ€”check the help for details.

Xj

If you’ve ever tried parsing HTML in shell scripts with regex, you’ll appreciate xj, which converts HTML pages to JSON for easy processing (e.g., with jq):

wget -qO- https://stedolan.github.io/jq/ | xj | jq '..|select(.title?)[][]'

Topalias

Topalias generates aliases for your most-used commands, shows stats, suggests shortcuts, and tells you how to register them. Note: It may suggest aliases that conflict with system commands (e.g., cp), so review before applying.

Install with:

pip3 install -U --user topalias

If you get errors, install an older version of click:

pip3 install -U --user click==7.1.2

Other Handy Tools

Jrnl

jrnl is a console utility for note-taking. Install via pipx:

pipx install jrnl

To use, either pass your note as a command-line argument or just run jrnl and type your entry. You can add titles, tags, timestamps, and even encrypt your journal. Notes are stored as plain text, and you can view them in various ways. Use --short to show only titles or --export text to output the whole journal.

Android2Linux Notifications

Android2Linux Notifications lets you display Android notifications on your Linux desktop using libnotify. Both your computer and phone must be on the same network (or connected via VPN like Wireguard).

First, install the server on your computer:

git clone https://github.com/patri9ck/a2ln-server.git
cd a2ln-server
sudo make install

If you have issues, install dependencies from requirements.txt using pip.

Start the server with a2ln 50505 (or another port). Add the server to autostart if you want notifications after reboot.

On your phone, install the client app from F-Droid and enter the server’s IP and port. If you have a phone with aggressive battery saving (Huawei, Samsung, Xiaomi, etc.), whitelist the app so it isn’t killed. See dontkillmyapp.com for instructions.


Leave a Reply