GithubHelp home page GithubHelp logo

capture's Introduction

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.

Build Status Github Release

Running

./capture -url=https://example.com/

Settings

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

Using

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

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

Dashboard

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

Preview

dashboard

Building

Manually:

git clone --depth 1 https://github.com/ofabricio/capture.git
cd capture
go build

Via docker:

git clone --depth 1 https://github.com/ofabricio/capture.git
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.

Plugins

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)
    }
}

capture's People

Contributors

fabriciogpp avatar ofabricio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

capture's Issues

32 bits executable

I'm current using the last version of Catalina (10.15.2) and the support for 32 bits executable has been dropped. There are any plans to create a 64 bits executable ?

macOS Catalina cannot show data on dashboard

Hi, I'm trying to use capture, but since I have upgraded the macOS to Catalina I can't see data on my dashboard.
Captura de Tela 2021-02-24 às 13 58 06

I'm running the service but no requests are being displayed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.