Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/svenstaro/proxyboi
- Owner: svenstaro
- License: mit
- Created: 2019-08-07T20:39:51.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T11:41:44.000Z (7 months ago)
- Last Synced: 2025-02-05T17:11:11.573Z (9 days ago)
- Topics: https, proxy, reverse-proxy, rust, ssl, tls
- Language: Rust
- Homepage:
- Size: 1.08 MB
- Stars: 95
- Watchers: 7
- Forks: 12
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-repos - svenstaro/proxyboi - A super simple reverse proxy with TLS support (Rust)
README
# proxyboi
[![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 supportUSAGE:
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 informationOPTIONS:
-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.