Wuzz is an interactive command-line interface tool designed to inspect and send HTTP requests. It acts as an interactive terminal user interface (TUI) client for web services and REST APIs inside the Termux environment on Android. The tool displays request headers, request bodies, response headers, and response bodies in separate interactive terminal panes.
Software developers and security researchers often need to test application programming interfaces (APIs) from mobile devices. Traditional tools like cURL require complex command-line arguments, while desktop applications like Postman cannot run natively inside mobile terminal environments. Wuzz solves this problem by providing a graphical desktop-like layout directly inside the Termux console without requiring a full desktop environment.
This guide explains how to install the Go programming language, build Wuzz inside Termux, configure execution environment paths, and execute real-world HTTP request examples step by step.
Quick Info Overview
| Property | Details |
|---|---|
| Tool Name | Wuzz |
| Primary Purpose | Interactive Terminal HTTP/API Request Client |
| Language Base | Go (Golang) |
| Supported Environment | Termux (Android Linux Subsystem) |
| Target Audience | Developers, Network Administrators, Security Testers |
| Key Advantage | Interactive interface, cURL file import, live header manipulation |
What Is Wuzz?
Wuzz is an open-source terminal user interface tool written in the Go programming language. It acts as an interactive client for testing HTTP endpoints and web applications. Unlike standard command-line tools such as cURL or HTTPie, Wuzz renders a multi-pane layout directly inside the terminal window.
Users can modify the URL, change the HTTP Method (such as GET, POST, PUT, or DELETE), update request headers, and edit the request payload in real time. Once sent, the response status code, header parameters, and response body appear in dedicated inspection windows. This workflow brings desktop-level API testing functionality to mobile devices using Termux.
Key Features of Wuzz
- Multi-Pane Layout: Separates configuration fields, headers, and payload buffers into distinct visual windows.
- Interactive Navigation: Allows rapid movement between input fields using the keyboard
Tabkey. - HTTP Method Selection: Supports modern web standards including
GET,POST,PUT,PATCH,DELETE, andHEAD. - Raw Response Search: Includes built-in text search tools to inspect large JSON or HTML response bodies.
- Custom HTTP Headers: Enables adding authorization tokens, user-agent strings, and content-type designations easily.
- cURL Command Import: Imports standard cURL syntax commands directly into the interactive interface.
Prerequisites and System Requirements
Before installing Wuzz, ensure your mobile device meets the following system prerequisites:
- Application: The latest version of Termux (downloaded from F-Droid, not Google Play Store).
- Android OS: Android 7.0 or higher.
- Storage: At least 300 MB of free storage space for compiler packages and binary files.
- Network: An active internet connection to download source packages.
Step-by-Step Installation Guide
Follow these steps to compile and install Wuzz inside Termux.
Step 1: Update Termux Repositories
Update installed packages to their latest versions to prevent library conflicts during binary compilation.
pkg update && pkg upgrade -y
Step 2: Install Required Toolchains
Wuzz requires the Go language compiler and the Git version control tool. Install both using the package manager:
pkg install golang git -y
Step 3: Set Up Go Environment Variables
Ensure that the Go binary installation path is added to your shell configuration file (.bashrc or .zshrc).
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc
Step 4: Download and Build Wuzz
Compile and install the Wuzz package directly using the official Go module installer command:
go install github.com/asciimoo/wuzz@latest
The compiler will download source code dependencies and generate an executable binary file inside the $HOME/go/bin folder.
Step 5: Verify the Installation
Verify that the binary runs properly by checking the application command:
wuzz --help
If the help output appears on the terminal screen, the installation is complete.
Practical Usage Examples
Example 1: Sending a Basic GET Request
To inspect a simple public REST API endpoint, start Wuzz with a destination URL as an argument:
wuzz https://jsonplaceholder.typicode.com/posts/1
When the interface opens, press Ctrl + R to transmit the request. The right-hand panel displays the HTTP status code (such as 200 OK) alongside the raw JSON response payload.
Example 2: Sending a POST Request with JSON Data
To post JSON data to a target server, complete the following sequence inside the terminal user interface:
- Launch Wuzz with the destination target endpoint:
wuzz https://jsonplaceholder.typicode.com/posts - Press
Tabuntil focus highlights the Method panel. Use arrow keys to change the method toPOST. - Press
Tabto navigate to the Headers panel. Insert the content header entry:Content-Type: application/json - Navigate to the Body field panel and type your JSON payload:
{"title": "Termux Test", "body": "Testing Wuzz HTTP Client", "userId": 1} - Press
Ctrl + Rto execute the request. Check the response pane for a201 Createdstatus code.
Example 3: Setting Custom Authorization Headers
Protected API endpoints require credential authorization headers. You can pass pre-configured HTTP headers using command flags when launching the program:
wuzz -H "Authorization: Bearer YOUR_API_TOKEN_HERE" https://api.github.com/user
Once loaded, press Ctrl + R to fetch user details authenticated by your security token.
Example 4: Importing an Existing cURL Command
If you have an existing cURL command string, you can convert it directly into interactive mode by adding flags:
wuzz https://httpbin.org/post -X POST -d '{"status":"active"}'
The application populates the method selector, target URL field, and request payload buffer automatically upon launch.
Example 5: Saving Response Output to File
You can search and filter the HTTP response body inside the viewer. Focus on the response body window and press Ctrl + F to enter search mode. Type your search string to locate matching JSON keys or text elements.
Wuzz Keyboard Reference Table
Use the following hotkey reference table while working inside the Wuzz terminal environment:
| Keybinding | Action / Function |
|---|---|
Tab |
Move focus to the next interface pane |
Shift + Tab |
Move focus to the previous interface pane |
Ctrl + R |
Execute/Send the current HTTP request |
Ctrl + E |
Open focused section in external text editor |
Ctrl + F |
Search text inside the active window pane |
Ctrl + K |
Display built-in keyboard help menu |
Ctrl + C |
Exit and close Wuzz |
Common Errors and Troubleshooting
1. "wuzz: command not found"
Cause: The Go binary installation folder is not linked inside your shell environment's executable path variable.
Solution: Run the following command in Termux to append the binary folder location to your active profile:
export PATH=$PATH:$HOME/go/bin
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc
2. "go: missing go.sum entry" or Build Errors
Cause: Incompatible or outdated local dependencies inside the default build workspace.
Solution: Force clean installation of the newest module release using this explicit syntax:
go install github.com/asciimoo/wuzz@latest
3. Terminal Layout Distortions
Cause: The Termux terminal font size is too large or the terminal window is too small to render all panes properly.
Solution: Zoom out on the Termux touch window by pinching inward to shrink text font sizing, or rotate your Android device into landscape orientation.
4. TLS/SSL Certificate Validation Errors
Cause: Mobile root CA certificate stores may be outdated or missing inside local environment configurations.
Solution: Update system certificate authorities within Termux:
pkg install ca-certificates -y
How to Uninstall Wuzz
If you need to remove Wuzz and its associated development binaries from Termux, execute the following commands:
Remove the binary file from your local executable folder path:
rm -f $HOME/go/bin/wuzz
If you no longer require the Go toolchain or build packages, uninstall them to free storage space:
pkg remove golang -y
pkg autoremove -y
Conclusion
Wuzz is an efficient, lightweight interactive tool for testing web APIs directly within Termux on Android. It replaces heavy graphical API testing desktop clients with a terminal interface that runs efficiently on mobile devices. By combining multi-pane visual layouts with simple keyboard controls, Wuzz simplifies inspecting headers, testing API routes, and analyzing HTTP responses. Follow the commands in this guide to install, configure, and use Wuzz for mobile API development and security research.
Frequently Asked Questions (FAQ)
Is root access required to run Wuzz in Termux?
No, root access is not required. Wuzz runs entirely within standard user permissions inside the Termux container environment.
Can I use Wuzz offline to test local network APIs?
Yes, as long as your mobile device can reach local server network addresses (such as local web servers running on 127.0.0.1 or local Wi-Fi IP addresses).
How does Wuzz compare to cURL?
cURL is a scriptable command-line utility that requires flags for parameters. Wuzz provides an interactive terminal user interface, allowing you to edit URLs, headers, and request bodies dynamically without re-typing entire commands.
Does Wuzz support HTTPS connections?
Yes, Wuzz supports secure encrypted HTTPS connections using standard system certificate bundles.
Can I save requests for later use in Wuzz?
Yes, you can import and export configuration strings or use terminal history tools to re-run previous requests.







0 comments:
Post a Comment