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
- Host: GitHub
- URL: https://github.com/pietroalbini/fisher
- Owner: pietroalbini
- License: gpl-3.0
- Created: 2016-06-10T21:28:52.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-06-14T16:07:45.000Z (almost 2 years ago)
- Last Synced: 2025-03-23T23:15:41.345Z (about 1 month ago)
- Topics: hooks, rust, webhooks, webhooks-catcher
- Language: Rust
- Homepage: https://fisher.pietroalbini.org
- Size: 898 KB
- Stars: 17
- Watchers: 3
- Forks: 6
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
## Fisher
[](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/bashecho "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