Skip to content

sorrell/webhook-tui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webhook TUI

Webhook TUI Screenshot

A terminal-based webhook listener with localtunnel integration, SQLite persistence, and a clean TUI interface.

Features

  • Localtunnel Integration: Automatically creates a public URL for receiving webhooks
  • Auto-shutdown: Configurable tunnel timeout (default 30 min) to prevent leaving tunnels open
  • SQLite Storage: All webhooks are persisted and can be browsed across sessions
  • Pagination: Navigate through large webhook histories
  • Multiple Views: Table and list view modes
  • Vim Keybindings: Navigate with familiar vim-style keys
  • Search: Search within webhook detail content with /
  • Raw Body Toggle: View raw or pretty-printed JSON body
  • Copy to Clipboard: Copy webhook body with y
  • Signature Verification: Verify webhook signatures (HMAC-SHA1/SHA256/SHA512) against a secret
  • Public IP Display: Shows your public IP for webhook authentication purposes

Installation

go build -o webhook-tui .

Requires npx (Node.js) for localtunnel.

Usage

./webhook-tui

Setup Screen

Configure the following options:

Field Description Default
Port Local port for the webhook server 8098
Subdomain Custom localtunnel subdomain (random)
Timeout Minutes before tunnel auto-disconnects 30

Press Enter to start the server and tunnel.

Keybindings

Setup Screen

Key Action
Tab Next field
Shift+Tab Previous field
Enter Start server
q Quit

Main Screen (Webhook List)

Key Action
↑/↓ or j/k Select webhook
n or Next page
p or Previous page
g Go to top
G Go to bottom
Enter View webhook details
t Toggle table/list view
r Reconnect tunnel
l Load webhooks from database
c Clear current view
q Quit

Detail View

Key Action
↑/↓ or j/k Scroll
Ctrl+f Page down
Ctrl+b Page up
Ctrl+d Half page down
Ctrl+u Half page up
g Go to top
G Go to bottom
/ Search within detail content
n Next search match
N Previous search match
r Toggle raw body view
y Copy body to clipboard
s Verify webhook signature
Esc Back to list
q Quit

Data Storage

Webhooks are stored in a SQLite database at:

~/.webhook-tui/webhooks.db

Testing

Send a test webhook:

curl -X POST https://YOUR-SUBDOMAIN.loca.lt \
  -H "Content-Type: application/json" \
  -H "Bypass-Tunnel-Reminder: true" \
  -d '{"event": "test", "data": {"message": "Hello!"}}'

Tunnel Status

The tunnel status indicator shows:

  • Green ● - Tunnel is active with countdown timer
  • Orange countdown - Less than 5 minutes remaining
  • Red countdown - Less than 1 minute remaining
  • Red DISCONNECTED - Tunnel expired (press r to reconnect)

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages