explaingit

arino08/hookline

Analysis updated 2026-05-18

1RustAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A local command line tool that captures, inspects, replays and fakes signed webhooks for testing your own app without a tunnel.

Mindmap

mindmap
  root((hookline))
    What it does
      Captures incoming webhooks
      Replays stored deliveries
      Sends fake signed events
    Tech stack
      Rust
      SQLite
      CLI
    Use cases
      Test webhook handlers locally
      Replay a failed delivery
      Verify provider signatures
    Audience
      Developers
      Backend engineers
    Features
      GitHub Stripe Razorpay support
      Local SQLite history
      No account or tunnel needed

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Test a webhook handler locally by sending realistic, correctly signed sample events.

USE CASE 2

Replay a captured webhook delivery after fixing a bug, without asking the provider to resend it.

USE CASE 3

Verify that a captured delivery's signature matches your app's signing secret.

USE CASE 4

Inspect the full history of webhook requests your app received, stored in a local SQLite file.

What is it built with?

RustSQLiteCLI

How does it compare?

arino08/hooklineabc3dz/mixxxabyo-software/ferro-stash
Stars111
LanguageRustRustRust
Setup difficultyeasymoderatemoderate
Complexity2/52/54/5
Audiencedevelopergeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires a Rust toolchain to install via cargo, no accounts or external services needed to start.

Free to use, modify and redistribute for any purpose, including commercial use, under either the MIT or Apache 2.0 license.

In plain English

hookline is a command line tool that helps developers catch, inspect, replay and fake webhooks while building and testing webhook handlers on their own machine. It runs a small local server that logs every incoming request into a SQLite file and can optionally forward each one to your real application. From that saved history you can look at any request in detail, send it again, or check that its signature is valid, all without needing an internet tunnel, a provider account, or any hosted service. If you have used Stripe's own local listening tool before, hookline offers that same kind of workflow but for many different providers at once. The basic loop is simple. You start the capture server with hookline listen, then either wait for real webhooks to arrive or use hookline trigger to send yourself a realistic, correctly signed sample event from a provider like GitHub, Stripe or Razorpay. From there hookline ls and hookline show let you browse and inspect what was captured, hookline verify checks a captured delivery's signature against your own secret, and hookline replay resends a stored delivery so you can rerun your handler after a fix without bothering the original provider again. Under the hood, hookline understands the exact signature scheme each provider uses, including GitHub's HMAC based header, Stripe's timestamped signature, Razorpay, Slack and Shopify's own formats, and can both generate and check them correctly. Supported providers are recognized automatically from their request headers and labeled accordingly, while requests from unrecognized senders are still captured normally. Since hookline only listens on your own machine and does not include a built in tunnel, reaching it from the public internet requires pairing it with a separate tool like ngrok or Cloudflare Tunnel. Installation is done with a single cargo install command, since hookline is written in Rust, or by cloning the source and building it yourself. All captured data lives in one local SQLite database file, so it can be queried directly, backed up, or simply deleted to clear history. The project is released under a dual MIT or Apache 2.0 license.

Copy-paste prompts

Prompt 1
Explain how hookline verifies webhook signatures for providers like GitHub and Stripe.
Prompt 2
Walk me through starting hookline listen and forwarding captures to my local app.
Prompt 3
Show me how to use hookline trigger to send a fake Stripe payment_intent event.
Prompt 4
Help me set up a tunnel with cloudflared so hookline can receive real provider deliveries.

Frequently asked questions

What is hookline?

A local command line tool that captures, inspects, replays and fakes signed webhooks for testing your own app without a tunnel.

What language is hookline written in?

Mainly Rust. The stack also includes Rust, SQLite, CLI.

What license does hookline use?

Free to use, modify and redistribute for any purpose, including commercial use, under either the MIT or Apache 2.0 license.

How hard is hookline to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is hookline for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.