#reverse-proxy #proxy #pingora #https #load-balancer #http-proxy #tls

app proksi

A batteries-included reverse proxy with automatic HTTPS using Cloudflare Pingora and Let's Encrypt

45 releases

0.4.8 Oct 19, 2024
0.4.5 Aug 14, 2024
0.4.4 Jul 13, 2024

#1064 in Network programming

MIT/Apache

205KB
4.5K SLoC

GitHub Release Crates.io MSRV Crates.io License Crates.io Total Downloads

Proksi: Automatic SSL, HTTP, and DNS Proxy

discord-logo

About

Proksi is a simple, lightweight, and easy-to-use proxy server that automatically handles SSL, HTTP, and DNS traffic. It is designed to be used as a standalone proxy server or as a component in a larger system. Proksi is written in Rust and uses Pingora as its core networking library.

Quick start

  1. Download the latest release from https://github.com/luizfonseca/proksi/releases
  2. Create a configuration file named proksi.hcl
  3. Add the following content to the file:
lets_encrypt {
  enabled = true
  email = "my@email.com"
}

paths {
  # Where to save certificates?
  lets_encrypt = "./"
}

# A list of routes Proksi should handle
routes = [
  {
    # You might need to edit your /etc/hosts file here.
    host = "mysite.localhost",

    # Will create a certificate for mysite.localhost
    ssl_certificate =  {
      self_signed_on_failure = true
    }

    # Where to point mysite.localhost to
    upstreams = [{
      ip = "docs.proksi.info"
      port = 443

      headers = {
        add = [{ name = "Host", value = "docs.proksi.info" }]
      }  
    }]
  }
]
  1. Run proksi -c /path-where-proksi.hcl-is-located

For more information or guides, please refer to the documentation.

Documentation

Documentation for Proksi can be found at https://docs.proksi.info which is also available in the gitbook folder of this repository.

Contributing

We welcome contributions to Proksi. If you have any suggestions or ideas, please feel free to open an issue or a pull request on the GitHub repository.

License

Proksi is licensed under the MIT License, the Apache License 2.0 and is free to use and modify.

Dependencies

~48–67MB
~1.5M SLoC