An open API service indexing awesome lists of open source software.

https://github.com/pietroalbini/fisher

Simple yet powerful webhooks catcher
https://github.com/pietroalbini/fisher

hooks rust webhooks webhooks-catcher

Last synced: 24 days ago
JSON representation

Simple yet powerful webhooks catcher

Awesome Lists containing this project

README

        

## Fisher

[![Build Status](https://travis-ci.org/pietroalbini/fisher.svg?branch=master)](https://travis-ci.org/pietroalbini/fisher)

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.

### Usage

Fist of all, you need to [download Fisher][download] 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
```

### Building Fisher

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`.

[download]: https://files.pietroalbini.io/releases/fisher