#反向代理 #tls #代理 #https #tls-certificate

app proxyboi

具有 TLS 支持的超级简单的反向代理

11 个版本

0.5.0 2021 年 5 月 30 日
0.4.5 2021 年 2 月 25 日
0.4.4 2020 年 11 月 9 日
0.4.2 2019 年 11 月 15 日

#32 in #ssl

每月 25 次下载

MIT 许可证

505KB
607

proxyboi

GitHub Actions Workflow Docker Cloud Build Status AUR Crates.io license

具有 TLS 支持的超级简单的反向代理

如何运行

为了在本地所有接口的 8080 端口上监听代理请求并将它们代理到运行在 example.com 的服务,请执行以下操作

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

您还可以将 TLS 证书输入到其中

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

您可以使用 -v 查看详细(且非常漂亮!)的详细日志

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

Pretty log

用法

proxyboi 0.5.0
Sven-Hendrik Haase <svenstaro@gmail.com>
A super simple reverse proxy with TLS support

USAGE:
    proxyboi [FLAGS] [OPTIONS] <upstream>

ARGS:
    <upstream>    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 <listen>                          Socket to listen on [default: 0.0.0.0:8080]
        --response-header <response-headers>...
            Additional response headers to send to requesting client

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

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

发布

这主要是我关于如何发布这个项目的笔记

  • 确保 CHANGELOG.md 是最新的。
  • cargo发布 --dry-run <版本>
  • cargo发布<版本>
  • 发布将自动由 Github Actions 部署。
  • Docker 镜像将自动由 Docker Hub 构建。
  • 更新 Arch 软件包。

依赖关系

~34–52MB
~1M SLoC