Skip to content

Repository files navigation

ARP - Another Reverse Proxy

Installation

VERSION=v0.1.1
wget https://github.com/Revolyssup/arp/releases/download/${VERSION}/arp-${VERSION}-linux-amd64
mv arp-v0.1.0-linux-amd64 ./arp
chmod +x ./arp
./arp

arp

arp

Static configuration

listeners:
- name: httpport: 8080
- name: http2port: 8081providers:
- name: filetype: fileconfig:
path: "./dynamic.yaml"discovery:
- type: democonfig:
interval: 10slog_level: info

Dynamic Configuration

routes:
- name: route1listener: httpmatches:
- path: /headersheaders:
X-Demo: demoupstream:
discovery:
type: demoservice: headerplugins:
- name: demo2
- name: route2listener: http2matches:
- path: /*upstream:
name: backend2plugins:
- name: responsecache
- name: demo2upstreams:
- name: backend1nodes:
- url: https://httpbin.org/headers
- name: backend2nodes:
- url: http://127.0.0.1:9090# - url: http://mockbin.org/headersplugins:
- name: responsecachetype: responsecacheconfig:
ttl: 30key: urisize: 2
- name: demo2type: democonfig:
message: "Hello from demo2 plugin!"

Usage

ARP_CONFIG=./static.yaml ./arp
curl localhost:8080/
{
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip",
"Host": "httpbin.org",
"User-Agent": "curl/8.13.0",
"X-Amzn-Trace-Id": "Root=1-68d02bee-7ada1053448207955dc981b6"
}
}

About

A simple Go based Reverse Proxy

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages