From ecb2f2fab5c69c8f17e20fc721cf07c5761cc507 Mon Sep 17 00:00:00 2001 From: Eric Rodrigues Pires Date: Fri, 20 Dec 2024 13:37:26 -0300 Subject: [PATCH] 0.2.0 --- CHANGELOG.md | 2 +- Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 7 ++++--- book/src/SUMMARY.md | 1 + book/src/advanced_uses.md | 2 +- book/src/faq.md | 33 +++++++++++++++++++++++++++++++++ 7 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 book/src/faq.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 4069730..25c8b8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## Unreleased +## 0.2.0 (2024-12-20) ### Added diff --git a/Cargo.lock b/Cargo.lock index e3f5a1a..9af7261 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3379,7 +3379,7 @@ dependencies = [ [[package]] name = "sandhole" -version = "0.1.4" +version = "0.2.0" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 91db52a..f51a3f9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sandhole" -version = "0.1.4" +version = "0.2.0" edition = "2021" rust-version = "1.81.0" description = "Expose HTTP/SSH/TCP services through SSH port forwarding." diff --git a/README.md b/README.md index 557b659..3c097d9 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,9 @@ Expose HTTP/SSH/TCP services through SSH port forwarding. A self-hosted [ngrok]( Sandhole is in active development. Contributions are welcome, but try it in production at your own risk. -## Alternatives +## Some alternatives -- [sish](https://github.com/antoniomika/sish/) - My favorite one. Written in Golang. -- [rlt](https://github.com/kaichaosun/rlt) - Uses own protocol instead of SSH. Written in Rust. +- [sish](https://github.com/antoniomika/sish/) - Main inspiration for this project. Written in Golang. +- [rlt](https://github.com/kaichaosun/rlt) - Uses localtunnel's protocol instead of SSH. Written in Rust. +- [rathole](https://github.com/rapiz1/rathole) - A highly configurable reverse proxy with NAT traversal and a great name. Written in Rust. - [sshuttle](https://github.com/sshuttle/sshuttle) - A smarter proxy service, also based on SSH. Written in Python. diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 14bc2de..1963545 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -16,4 +16,5 @@ # Reference +- [Frequently Asked Questions](./faq.md) - [CLI](./cli.md) diff --git a/book/src/advanced_uses.md b/book/src/advanced_uses.md index 1bc3734..78991df 100644 --- a/book/src/advanced_uses.md +++ b/book/src/advanced_uses.md @@ -1,6 +1,6 @@ # Advanced uses -## Connecting to the HTTPS port +## Connecting via SSH to the HTTPS port In some networks, outbound connections to 22 (or 2222) may be blocked by the operator. In Sandhole, it's possible to get around this with the `--connect-ssh-on-https-port` option. diff --git a/book/src/faq.md b/book/src/faq.md new file mode 100644 index 0000000..03d4998 --- /dev/null +++ b/book/src/faq.md @@ -0,0 +1,33 @@ +# Frequently Asked Questions + +## How do I expose my service on multiple URLs (for example, `website.com` and `www.website.com`)? + +```bash +ssh -R website.com:80:localhost:3000 -R www.website.com:80:localhost:3000 sandhole.com -p 2222 +``` + +See ["Advanced Uses"](./advanced_uses.md#custom-domains) on how to add custom domains. + +## How do I connect to a forwarded SSH server? + +Use `ssh -J sandhole.com:2222 mysshserver.com -p 2222` (replace the ports with Sandhole's SSH port if not using the default `2222`). + +If you'd like to avoid typing out the proxy jump command every time, make sure to edit your SSH config file (usually `~/.ssh/config`) and add the following entry: + +```ssh-config +Host mysshserver.com + ProxyJump sandhole.com:2222 + Port 2222 +``` + +## How do I prevent multiple services from load-balancing? + +With the `--load-balancing=deny` or `--load-balancing=replace` [CLI flag](./cli.md). This is currently a global setting. + +## How do I force HTTP requests to get redirected to HTTPS? + +With the `--force-https` [CLI flag](./cli.md). This is currently a global setting. + +## How do I enable Websockets? + +Websockets are always enabled for HTTP services. -- 2.51.2