Skip to content

bashnko/tabby

Repository files navigation

Tabby

A powerful terminal-based HTTP testing and stress testing tool with automated data generation capabilities.

Release Latest Release Go Reference License Stars

Documentation | Installation | Playground


Features

  • GET and POST Requests - Simple and intuitive HTTP request handling
  • Random Data Generation - Built-in template system with powerful placeholders
  • Loop Mode - Automated stress testing with configurable intervals
  • JSON Pretty Printing - Automatic response formatting for readability
  • Custom Headers - Full control over request headers
  • Template Files - Load complex request bodies from external files

Quick Start

Installation

From AUR (Arch Linux)

yay -S tabby-cli

Go (latest)

go install github.com/nhdfr/tabby@latest

Or build from source:

git clone https://github.com/nhdfr/tabby
cd tabby
go build -o tabby

Basic Usage

# GET request
tabby get https://api.example.com/users

# POST request with data
tabby post https://api.example.com/users -d '{"name":"John","email":"john@example.com"}'

# POST with random data generation
tabby post https://api.example.com/users -d '{"name":"{{name}}","email":"{{email}}"}'

# Stress testing with loop mode
tabby post https://api.example.com/users -d '{"name":"{{name}}"}' --loop --count 100 --interval 100ms

Documentation

For comprehensive documentation, guides, and examples, visit the official documentation site:

https://tabby.nhdfr.com

The documentation covers:

Available Placeholders

Tabby supports a variety of placeholders for generating random data:

Placeholder Description
{{name}} Random full name
{{firstname}} Random first name
{{lastname}} Random last name
{{email}} Random email address
{{phone}} Random phone number
{{number:min:max}} Random number in range
{{float}} Random floating number
{{uuid}} Random UUID v4
{{bool}} Random boolean
{{date}} Random date
{{text}} Random paragraph
{{price}} Random price

For a complete list of placeholders and usage examples, see the Templates documentation.

License

This project is licensed under the AGPL-3.0 License. See the LICENSE file for details.