sandhole

Crates.iosandhole
lib.rssandhole
version
sourcesrc
created_at2024-11-25 20:54:38.75236
updated_at2024-12-03 17:00:40.098036
descriptionExpose HTTP/SSH/TCP services through SSH port forwarding.
homepagehttps://epiceric.github.io/sandhole/
repositoryhttps://github.com/EpicEric/sandhole
max_upload_size
id1460708
Cargo.toml error:TOML parse error at line 25, column 1 | 25 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Eric Rodrigues Pires (EpicEric)

documentation

README

sandhole

GitHub Actions workflow status crates.io version GitHub license

Expose HTTP/SSH/TCP services through SSH port forwarding.

Check out the Sandhole book.

Features

  • Reverse proxy that only requires your services to have a regular SSH client.
  • Automatic HTTPS support (with dnsrobocert and/or ACME).
  • Random subdomain assignment by default, with options for deterministic assignment.
  • Easily balance load by pointing multiple services to the same domain/port.
  • Authorize keys for custom domains with DNS, via TXT records.
  • A terminal-based admin interface to view current connections.
  • Written in Rust, with comprehensive testing of most features.

Status

This is still in early development. Contributions are welcome, but try it in production at your own risk.

Alternatives

  • sish - My favorite one. Written in Golang.
  • rlt - Uses own protocol instead of SSH. Written in Rust.
  • sshuttle - A smarter proxy service, also based on SSH. Written in Python.
Commit count: 83

cargo fmt