Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iamd3vil/proxy
A Fast TCP proxy with Automatic TLS support :boom:
https://github.com/iamd3vil/proxy
proxy tcp tls
Last synced: 9 days ago
JSON representation
A Fast TCP proxy with Automatic TLS support :boom:
- Host: GitHub
- URL: https://github.com/iamd3vil/proxy
- Owner: iamd3vil
- License: gpl-3.0
- Created: 2019-11-22T19:21:38.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-29T08:26:13.000Z (over 1 year ago)
- Last Synced: 2024-06-19T15:16:47.218Z (5 months ago)
- Topics: proxy, tcp, tls
- Language: Go
- Homepage:
- Size: 112 KB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Proxy
This is a fast TCP/TLS proxy written in Golang with support for Automatic certificates for TLS using Letsencrypt. :boom: :boom:
`proxy` uses `dns-01` challenge for Letsencrypt. Currently `proxy` supports only Cloudflare but the plan is to add a lot of DNS providers.
Docker image can be found at [https://hub.docker.com/r/iamd3vil/proxy](https://hub.docker.com/r/iamd3vil/proxy).
## Usage
```bash
$ ./proxy -config /path/to/config
```## Configuration
There is a `config.sample.toml` provided in the repo for the sample configuration.
```toml
[proxy]
type = "tls" # has to be either "tcp" or "tls"
source = "127.0.0.1:4500"
destination = "127.0.0.1:8888"[tls]
disable_automatic = false # make this true to turn off automatic certs fetching and renewals from Letsencrypt
domain = "example.com" # domains for automatic https
certs_path = "/path/to/store/certs" # path where the automatic letsencrypt certs are stored
cloudflare_api_token = "auth-token" # API token for cloudflare
email = "[email protected]" # Email for letsencrypt
check_for_expiry = "240h" # Duration to check for expiry and renew. Default is 10days.
# Only set these if you want to provide certs manually, i.e disable_automatic is true.
cert = "/path/to/cert"
key = "/path/to/key"
```