Developed by: Syed Shaheer Hussain Year: 2026 Copyright: ยฉ 2026 Syed Shaheer Hussain
One-line description:
Toolbox is a comprehensive Rust-based CLI utility suite offering a collection of developer, security, cryptography, and productivity tools in a single command-line interface.
Toolbox is a multi-functional command-line utility built in Rust. It combines tools for cryptography, encoding/decoding, text manipulation, scheduling, random generation, compression, JSON/JSON Web Token handling, terminal UI, and more.
Purpose:
- To have a single, portable CLI tool for developers and security enthusiasts.
- To provide utilities that are normally scattered across multiple scripts or software.
- To help users handle encryption, encoding, formatting, and system tasks safely.
Perfect! Since your project now builds cleanly, letโs summarize how you can run, install, and execute each tool command. Iโll go step by step so everything works as expected.
Use:
cargo run -- <command> [arguments]
Examples:
| Command | Example | What it does |
|---|---|---|
uuid |
cargo run -- uuid |
Generates a new UUID |
timestamp |
cargo run -- timestamp |
Prints current UNIX timestamp |
jsonpretty |
cargo run -- jsonpretty '{"foo": "bar"}' |
Pretty-prints JSON |
jsonminify |
cargo run -- jsonminify '{"foo": "bar"}' |
Minifies JSON |
base64encode |
cargo run -- base64encode "hello world" |
Encodes string in Base64 |
base64decode |
cargo run -- base64decode "aGVsbG8gd29ybGQ=" |
Decodes Base64 |
aesencrypt |
cargo run -- aesencrypt "mysecretkey1234567890123456" "Hello" |
AES-256 encrypts text |
aesdecrypt |
cargo run -- aesdecrypt "mysecretkey1234567890123456" "<iv>:<ciphertext>" |
AES-256 decrypts text |
password |
cargo run -- password 12 |
Generates a random 12-character password |
Note: For AES encryption/decryption, the key must be exactly 32 bytes (Aes256).
To build a release version:
cargo build --release
This creates the binary at:
target/release/toolbox.exe # on Windows
target/release/toolbox # on Linux/macOS
You can then run it without Cargo:
.\target\release\toolbox.exe uuid
or
./target/release/toolbox timestampIf you want to use toolbox like any system command:
cargo install --path .
After that, toolbox will be in your PATH, so you can run anywhere:
toolbox uuid
toolbox jsonpretty '{"a": 1}'
toolbox password 16
cargo run -- tui
It will open the Ratatui interface.
-
Case-sensitivity: Currently, commands are case-sensitive (
uuidworks,UUIDdoes not).- If you want fully case-insensitive commands, I can update the code using Clapโs
ArgEnumor manual mapping.
- If you want fully case-insensitive commands, I can update the code using Clapโs
-
AES Encryption/Decryption:
- Always use 32-character key (Aes256)
- Decryption input must be
<iv>:<ciphertext>in hex format.
-
Clipboard or stdin support:
- Some commands like
base64encoderead stdin if no argument is passed.
- Some commands like
Why it was made:
- To save time and effort in using multiple tools for small tasks.
- To provide a secure and local environment for sensitive operations.
- To explore Rust capabilities for fast, reliable, and memory-safe CLI applications.
- Provide a unified CLI for multiple development and security tasks.
- Offer tools for cryptography: AES encryption, hashing, HMAC, UUID generation.
- Include encoding/decoding utilities: Base64, Base32, URL encoding.
- Facilitate JSON handling: pretty-print, minify, JWT signing/decoding.
- Include randomization tools: passwords, numbers, lorem text.
- Offer compression and decompression with gzip.
- Provide a terminal-based UI for easier interaction (
tuicommand). - Generate command completions for PowerShell.
- UUID & Timestamp: Generate unique identifiers and current UNIX timestamp.
- JSON Tools: Pretty-print and minify JSON strings.
- JWT Tools: Sign and decode JSON Web Tokens.
- Encoding/Decoding: Base64, Base32, URL encoding/decoding.
- Regex Tester: Test regular expressions against text.
- Cryptography: AES-256 encryption/decryption, SHA-256 hashing, HMAC-SHA256.
- Text & Random Utilities: Lorem generator, random numbers, password generator, ASCII codes.
- Compression: Gzip compress/decompress files.
- Cron Scheduler: Compute next run times from cron expressions.
- Terminal UI: Interactive Ratatui interface.
- Command Completions: Generate PowerShell completions.
| Command | Example | Description |
|---|---|---|
uuid |
toolbox uuid |
Generates a new UUID |
timestamp |
toolbox timestamp |
Prints UNIX timestamp |
jsonpretty |
toolbox jsonpretty '{"foo": "bar"}' |
Pretty-print JSON |
jsonminify |
toolbox jsonminify '{"foo": "bar"}' |
Minify JSON |
base64encode |
toolbox base64encode "hello" |
Base64 encode string |
base64decode |
toolbox base64decode "aGVsbG8=" |
Base64 decode string |
base32encode |
toolbox base32encode "text" |
Base32 encode string |
base32decode |
toolbox base32decode "MFRA" |
Base32 decode string |
urlencode |
toolbox urlencode "hello world" |
URL encode string |
urldecode |
toolbox urldecode "hello%20world" |
URL decode string |
regex |
toolbox regextest "\\d+" "123" |
Test regex |
jwt |
toolbox jwtsign '{"id":1}' "secret" |
Sign JWT |
jwtdecode |
toolbox jwtdecode "<token>" |
Decode JWT |
hash |
toolbox hash "text" |
SHA256 hash |
hmac |
toolbox hmac "key" "message" |
HMAC-SHA256 |
aesencrypt |
toolbox aesencrypt "32charkey..." "text" |
AES-256 encrypt |
aesdecrypt |
toolbox aesdecrypt "32charkey..." "<iv>:<ciphertext>" |
AES-256 decrypt |
password |
toolbox password 12 |
Random password |
random |
toolbox random 1 100 |
Random number |
lorem |
toolbox lorem 10 |
Generate lorem words |
upper |
toolbox upper "text" |
Uppercase |
lower |
toolbox lower "TEXT" |
Lowercase |
ascii |
toolbox ascii "text" |
Print ASCII codes |
gzipcompress |
toolbox gzipcompress file.txt |
Compress file |
gzipdecompress |
toolbox gzipdecompress file.gz |
Decompress file |
cronnext |
toolbox cronnext "* * * * *" |
Next cron run |
tui |
toolbox tui |
Launch interactive terminal UI |
completions |
toolbox completions |
Generate PowerShell completion |
- Rust โ System programming language for performance and safety.
- Clap โ CLI argument parser.
- Clap Complete โ Generate shell completions.
- Ratatui โ Terminal UI toolkit.
- AES, HMAC, SHA2 โ Cryptography.
- Base64/Base32 โ Encoding.
- Flate2 โ Gzip compression.
- Regex โ Text pattern matching.
- UUID โ Universally unique IDs.
- Chrono & Cron โ Date/time utilities.
- Rand & OsRng โ Randomization.
toolbox/
โโ src/
โ โโ main.rs # Main code with all commands
โโ Cargo.toml # Rust project config
โโ Cargo.lock # Dependency lock
โโ target/ # Compilation output
cargo run -- <command> [arguments]
cargo build --release
.\target\release\toolbox.exe uuid
./target/release/toolbox uuid
cargo install --path .
Now you can run anywhere:
toolbox uuid
toolbox password 16
cargo run -- tui
- Each command is implemented as a
Subcommandof ClapโsParser. - Arguments are validated and optionally read from stdin.
- Cryptography functions use AES, SHA256, and HMAC implementations.
- Encoding/decoding uses standard Base64/Base32 and URL encoding crates.
tuicommand uses Ratatui to render a block-based terminal interface.- Gzip compress/decompress uses Flate2 streams.
- All operations are local, no data is sent to external servers.
- AES key must be 32 bytes, never share keys publicly.
- Passwords & tokens should be handled securely.
- Be cautious with file paths to avoid overwriting files.
- Use
cargo installto avoid running unknown binaries from internet. - Verify commands before running sensitive operations.
Warning
This software is for educational and personal use. The developer is not responsible for misuse, data loss, or security breaches. Always use strong passwords and encryption keys responsibly.
tuicommand provides a terminal UI to navigate tools interactively.- Uses Ratatui library for cross-platform terminal rendering.
- You can extend it in the future for menus and tool selection.
- Case-insensitive commands.
- Support for more encodings (Hex, URL-safe Base64).
- More TUI features: menus, logging, copy-to-clipboard.
- File-based JSON and encryption pipelines.
- Web-based interface or Electron wrapper.
User Input
โ
โผ
Clap Parser (Cli)
โ
โโ> Command Matching
โ โโ Crypto (AES/HMAC/Hash)
โ โโ Encoding (Base64/Base32/URL)
โ โโ JSON/JWT
โ โโ Compression
โ โโ Random/Text
โ โโ TUI/Completions
โ
โผ
Execution
โ
โผ
Output to Terminal / Files
- CLI Utilities: One command line program for multiple functions.
- Subcommands: Each tool has its own argument set.
- Cross-platform: Works on Windows, Linux, macOS.
- Security-first: Local cryptography, safe random generation.
- Extensible: Easily add new tools as subcommands.
- Use: Development, cryptography, encoding, random generation, text manipulation.
- Value: Saves time, local secure operations, single tool for multiple tasks.
- Run: Via Cargo, release build, or installed binary.
- Important: Use strong keys, avoid sharing sensitive data.
If you find this repository useful or insightful, please consider:
- โญ Starring the repository
- ๐ Sharing it within your network
- ๐ค Following my GitHub profile for future projects and updates
Your support helps drive continued innovation and open-source contributions.
โ Syed Shaheer Hussain
โ Developed by Syed Shaheer Hussain โ 2026