3个版本
0.2.2 | 2023年9月22日 |
---|---|
0.2.1 | 2023年5月26日 |
0.2.0 | 2023年5月26日 |
#873 在 HTTP服务器
40 每月下载量
在 portalgun 中使用
12KB
189 行
portalgun
portalgun
允许您通过公开URL暴露本地运行的Web服务器。使用Rust编写。完全使用async-io和tokio构建。
安装
Cargo
cargo install portalgun
无处不在
或者在此处下载您目标操作系统的版本:portalgun/releases
使用方法
快速入门
portalgun --port 8000
上述命令打开隧道并将流量转发到 localhost:8000
。
更多选项
Expose your local web server to the internet with a public url.
Usage: portalgun [OPTIONS] [COMMAND]
Commands:
login Login using OpenID Connect. This will store the authentication token on disk for future use
help Print this message or the help of the given subcommand(s)
Options:
-v, --verbose
A level of verbosity, and can be used multiple times
-s, --sub-domain <SUB_DOMAIN>
Specify a sub-domain for this tunnel
--host <LOCAL_HOST>
Sets the HOST (i.e. localhost) to forward incoming tunnel traffic to [default: localhost]
-t, --use-tls
Sets the protocol for local forwarding (i.e. https://127.0.0.1) to forward incoming tunnel traffic to
--port <PORT>
Sets the port to forward incoming tunnel traffic to on the target host [default: 8000]
--dashboard-port <DASHBOARD_PORT>
Sets the address of the local introspection dashboard
-h, --help
Print help
自行托管
- 请参阅
Dockerfile
以获取一个基于alpine的简单镜像,该镜像运行服务器二进制文件。 - 在您想要部署的位置部署镜像。
OIDC提供者设置
Portalgun使用以下自定义属性来确定用户是否被允许在特定子域上创建隧道。
{
"portalgun": [
".*",
"or-any-subdomain-matching-regexp-in-here
]
}
管理员必须适当地配置他们的身份提供者。
本地测试
# Run the Server: xpects TCP traffic on 8080 and control websockets on 5000
ALLOWED_HOSTS='localhost' TUNNEL_HOST='localhost' OIDC_DISCOVERY='https://example.com/.well-known/openid-configuration' OIDC_CLIENT_ID='openid-client-id-here' OIDC_SCOPES='openid,portalgun' cargo run --bin portalgun_moon
# Logging in using OIDC
cargo run --bin portalgun login --control-server ws://127.0.0.1:5000
# Test it out!
# Remember 8080 is our local portalgun TCP server
curl -H '<subdomain>.localhost' "https://127.0.0.1:8080/some_path?with=somequery"
请参阅 portalgun_moon/src/config.rs
以获取配置的环境变量。
依赖项
~1.5–2.4MB
~52K SLoC