Metadata-Version: 2.4
Name: hooktui
Version: 0.1.0
Summary: webhook.site in your terminal — a TUI webhook inspector
Author-email: Sarthak Sidhant <sarthaksidhantisopolice@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/Sarthak-Sidhant/hooktui
Project-URL: Repository, https://github.com/Sarthak-Sidhant/hooktui
Keywords: terminal,tui,webhook,developer-tools,textual
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: fastapi>=0.135.1
Requires-Dist: httpx>=0.28.1
Requires-Dist: textual>=8.0.2
Requires-Dist: uvicorn>=0.41.0
Requires-Dist: dnslib>=0.9.24
Requires-Dist: aiosmtpd>=1.4.6

# HookTUI ⚡

**webhook.site in your terminal.**

HookTUI is a sleek, modern Terminal User Interface (TUI) for inspecting webhooks, DNS queries, and SMTP traffic. Built with [Textual](https://textual.textualize.io/), it provides a real-time stream of incoming requests with detailed inspection of headers, query parameters, and bodies.

![HookTUI Screenshot](https://raw.githubusercontent.com/Sarthak-Sidhant/hooktui/main/screenshot.png) *(Note: Replace with actual screenshot link after push)*

## Features

- 🚀 **HTTP Webhook Inspector**: Capture and inspect GET, POST, PUT, DELETE, and more.
- 📬 **Embedded SMTP Server**: Test email sending by pointing your SMTP client to HookTUI.
- 🌍 **Embedded DNS Server**: A DNS sinkhole to inspect DNS lookups in real-time.
- 🎨 **Beautiful Themes**: Multiple built-in themes (Galaxy, Nebula, Aurora, Monokai).
- 💾 **Persistent History**: All requests are saved to a local SQLite database and persist across sessions.
- 📋 **Clipboard Support**: Easily copy request bodies or full URLs.
- ⌨️ **Vim-like Keybindings**: Navigate quickly with `j`/`k` and other familiar shortcuts.

## Installation

You can install HookTUI via pip:

```bash
pip install hooktui
```

Or using [uv](https://github.com/astral-sh/uv):

```bash
uv tool install hooktui
```

## Quick Start

Simply run `hooktui` to start the server and the TUI:

```bash
hooktui
```

By default, the HTTP server listens on `http://127.0.0.1:8080`.

### CLI Options

```bash
hooktui --host 0.0.0.0 --port 9000
```

## Keybindings

| Key | Action |
|-----|--------|
| `q` | Quit HookTUI |
| `j` / `↓` | Select Next Request |
| `k` / `↑` | Select Previous Request |
| `c` | Clear all requests |
| `d` | Delete selected request |
| `y` | Copy request body |
| `Y` | Copy request URL |
| `t` | Cycle themes |
| `?` | Show help |

## Configuration

Settings are stored in `~/.config/hooktui/settings.json`. You can enable/disable DNS and SMTP servers and change their ports through this file or the in-app config view (coming soon).

---

Built with ❤️ by [Sarthak Sidhant](https://github.com/Sarthak-Sidhant)
