Proxi is a simple reverse proxy, allows you to forward HTTP requests from multiple endpoints to different targets based on the provided path.
- Simple HTTP reverse proxy
- Configuration using YAML file
- Request and response logging
- Realtime metric
To install proxi, you can download a prebuilt binary and move the executable to the directory that has been added to the PATH environment variable, or you can simply use go install
if you have Go installed.
curl https://raw.githubusercontent.com/jeffry-luqman/proxi/refs/heads/main/install | bash
curl -OL https://github.com/jeffry-luqman/proxi/releases/download/v0.0.1/proxi-win64.exe
move proxi-win64.exe C:\Windows\System32\proxi.exe
Using go install
go install github.com/jeffry-luqman/proxi@latest
You can also see this information by running proxi --help
from the command line.
Usage:
proxi [flags]
Flags:
-h, --help help for proxi
-c, --config string Configuration file name, (default proxi.yml)
Sample config file: https://raw.githubusercontent.com/jeffry-luqman/proxi/main/proxi.yml
-p, --port int Port (default 8181)
-t, --targets string Target URL for each prefix, delimited with semicolon.
Ex: proxi -t "/ https://example.com; /api https://api.example.com"
-d, --debug Print a request log to the terminal without waiting for a response
-q, --quiet Silence output on the terminal
-l, --log string Specify log file
-m, --metric int Specify metric port
--use-stdlib Use net/http instead of fasthttp
Proxi is free and open-source software licensed under the MIT License.