Simple yet powerful webhooks catcher
Fisher is a fast, simple webhooks catcher written in Rust. It’s easy to set
up, it features builtin security, and you can monitor its status with a simple
HTTP request. Being a single binary, you can deploy it easily wherever you
want.
Fisher is released under the GNU GPL v3+ license, see LICENSE for more details.
In order to build it, you need to have Rust 1.31.1 or greater installed.
Fist of all, you need to download Fisher and place the executable
on your server (possibly in a directory in $PATH
).
Fisher doesn’t have a configuration file, and you only need to place your hooks
in a directory (make sure they’re executable!):
$ mkdir /srv/hooks
$ cat > /srv/hooks/example-hook.sh << EOF
#!/bin/bash
echo "I'm an hook!"
EOF
$ chmod +x /srv/hooks/example-hook.sh
Then, you start fisher and you’re good to go!
$ fisher /srv/hooks
Total hooks collected: 1
Web API listening on 127.0.0.1:8000
You can now call your hook: the request will be queued by Fisher and the script
will be executed.
$ curl http://127.0.0.1:8000/hook/example-hook
In order to build fisher, you need a stable Rust compiler and cargo installed.
$ git clone https://github.com/pietroalbini/fisher
$ cd fisher
$ cargo build --release
The compiled binary will be available in target/release/fisher
.