You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Simon Vieille 8f1f62787a
ci/woodpecker/push/woodpecker Pipeline was successful Details
update changelog
5 days ago
.gitignore add idea to gitignore 4 years ago
.woodpecker.yml update ci configuration 7 days ago update changelog 5 days ago
LICENSE add curl button 5 years ago allow to use a configuration file 5 days ago
capture.go add query string in the request log 7 days ago
config.go allow to use a configuration file 5 days ago
dashboard.html update logo 5 days ago
go.mod allow to use a configuration file 5 days ago
go.sum allow to use a configuration file 5 days ago
main.go allow to use a configuration file 5 days ago
main_test.go Send config via sse 2 years ago

Capture is a reverse proxy that takes an incoming HTTP request and sends it to another server, proxying the response back to the client, while showing them in a dashboard.

Forked from ofabricio/capture.



./capture -url= -port 9000 -dashboard 9001 -captures 16


param description
-url Required. Set the url you want to proxy
-port Set the proxy port. Default: 9000
-dashboard Set the dashboard port. Default: 9001
-captures Set how many captures to show in the dashboard. Default: 16

You can create a file named .capture.ini and set the configuration inside:

url =
port = 9000
dashboard = 9001
captures = 16


If you set your base url as, now http://localhost:9000 points to that address. Hence, calling http://localhost:9000/users/1 is like calling

Capture saves all requests and responses so that you can see them in the dashboard.


To access the dashboard go to http://localhost:9001/





git clone --depth 1
cd capture
go build

Via docker:

git clone --depth 1
cd capture
docker run --rm -v $PWD:/src -w /src -e GOOS=darwin -e GOARCH=amd64 golang:alpine go build

Now you have an executable binary in your directory.

Note: change GOOS=darwin to linux or windows to create an executable for your corresponding Operating System.


Put plugin files in the current directory. They are loaded sorted by filename on startup.

Plugins must export the following function:

func Handler(proxy http.HandlerFunc) http.HandlerFunc {
    return func(w http.ResponseWriter, r *http.Request) {
        proxy(w, r)