Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/svenstaro/proxyboi

A super simple reverse proxy with TLS support
https://github.com/svenstaro/proxyboi

https proxy reverse-proxy rust ssl tls

Last synced: 2 days ago
JSON representation

A super simple reverse proxy with TLS support

Awesome Lists containing this project

README

        

# proxyboi

Packaging status

[![CI](https://github.com/svenstaro/proxyboi/workflows/Build/badge.svg)](https://github.com/svenstaro/proxyboi/actions)
[![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/svenstaro/proxyboi)](https://cloud.docker.com/repository/docker/svenstaro/proxyboi/)
[![Crates.io](https://img.shields.io/crates/v/proxyboi.svg)](https://crates.io/crates/proxyboi)
[![license](http://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/svenstaro/proxyboi/blob/master/LICENSE)
[![Stars](https://img.shields.io/github/stars/svenstaro/proxyboi.svg)](https://github.com/svenstaro/proxyboi/stargazers)
[![Downloads](https://img.shields.io/github/downloads/svenstaro/proxyboi/total.svg)](https://github.com/svenstaro/proxyboi/releases)
[![Lines of Code](https://tokei.rs/b1/github/svenstaro/proxyboi)](https://github.com/svenstaro/proxyboi)

**A super simple reverse proxy with TLS support**

## Installation

With [Rust installed](https://rustup.rs), use this command to install it:

```sh
cargo install proxyboi
```

You can also download binaries from the [latest release on GitHub](https://github.com/svenstaro/proxyboi/releases/latest).

## How to run

In order to listen for proxy requests on all local interfaces on port 8080 and proxy them to a service running at example.com, do:

proxyboi -l 0.0.0.0:8080 http://example.com

You can also feed your TLS certificates into it:

proxyboi -l 0.0.0.0:8080 --cert mycert.pem --key mykey.key http://example.com

You can see a detailed (and pretty!) verbose log using `-v`:

proxyboi -l 0.0.0.0:8080 http://example.com -v

![Pretty log](pretty_log.png)

## Usage

proxyboi 0.5.0
Sven-Hendrik Haase
A super simple reverse proxy with TLS support

USAGE:
proxyboi [FLAGS] [OPTIONS]

ARGS:
Upstream server to proxy to (eg. http://localhost:8080)

FLAGS:
-h, --help Prints help information
-k, --insecure Allow connections against upstream proxies with invalid TLS certificates
-q, --quiet Be quiet (log nothing)
-v, --verbose Be verbose (log data of incoming and outgoing requests)
-V, --version Prints version information

OPTIONS:
-l, --listen Socket to listen on [default: 0.0.0.0:8080]
--response-header ...
Additional response headers to send to requesting client

--timeout
Connection timeout against upstream in seconds (including DNS name resolution)
[default: 5]

--cert TLS cert to use
--key TLS key to use
--upstream-header ... Additional headers to send to upstream server

## Releasing

This is mostly a note for me on how to release this thing:

- Make sure `CHANGELOG.md` is up to date.
- `cargo release --dry-run `
- `cargo release `
- Releases will automatically be deployed by Github Actions.
- Docker images will automatically be built by Docker Hub.
- Update Arch package.