warpgate/README.md

40 lines
1.7 KiB
Markdown
Raw Normal View History

2022-04-11 04:58:58 +08:00
# Warpgate
Warpgate is a smart SSH bastion host for Linux that can be used with _any_ SSH client.
* Set it up in your DMZ, add user accounts and easily assign them to specific hosts within the network.
* Warpgate will record every session for you to replay and review later through a built-in admin web UI.
2022-04-11 05:33:58 +08:00
* Not a jump host - forwards your connections straight to the target instead.
2022-04-11 04:58:58 +08:00
* Single-file statically linked binary with no dependencies.
* Written in 100% safe Rust.
2022-04-11 05:33:08 +08:00
<img width="783" alt="image" src="https://user-images.githubusercontent.com/161476/162640762-a91a2816-48c0-44d9-8b03-5b1e2cb42d51.png">
2022-04-12 04:12:34 +08:00
## Getting started & downloads
2022-04-11 04:58:58 +08:00
2022-04-12 04:12:34 +08:00
* See the [Getting started](https://github.com/Eugeny/warpgate/wiki/Getting-started) wiki page.
* [Release / beta binaries](https://github.com/Eugeny/warpgate/releases)
* [Nightly builds](https://nightly.link/Eugeny/warpgate/workflows/build/main)
2022-04-11 04:58:58 +08:00
## Project Status
The project is currently in **alpha** stage and is gathering community feedback. See the [official roadmap](https://github.com/users/Eugeny/projects/1/views/2) for the upcoming features.
In particular, we're working on:
* Support for exposing HTTP(S) endpoints through the bastion,
* Support for tunneling database connections,
* Live session view and control,
* Requesting admin approval for sessions
* and much more.
## Contributing / building from source
2022-04-11 18:43:24 +08:00
* You'll need nightly Rust (will be installed automatically), NodeJS and Yarn
2022-04-11 04:58:58 +08:00
* Clone the repo
* [Just](https://github.com/casey/just) is used to run tasks - install it: `cargo install just`
* Install the admin UI deps: `just yarn`
* Build the API SDK: `just openapi-client`
* Build the frontend: `just yarn build`
* Build Warpgate: `cargo build` (optionally `--release`)