.github/workflows | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
bore
A modern, simple TCP tunnel in Rust that exposes local ports to a remote server, bypassing standard NAT connection firewalls. That's all it does: no more, and no less.
# Installation (requires Rust)
cargo install bore-cli
# On your local machine
bore local 8000 --to bore.pub
This will expose your local port at localhost:8000
to the public internet at bore.pub:<PORT>
, where the port number is assigned randomly.
Like localtunnel and ngrok, except bore
is intended to be a highly efficient, unopinionated tool for forwarding TCP traffic that is simple to install and easy to self-host, with no frills attached.
Detailed Usage
This section describes detailed usage for the bore
CLI command.
Local Forwarding
TODO
Self-Hosting
As mentioned in the startup instructions, there is an public instance of the bore
server running at bore.pub
. However, if you want to self-host bore
on your own network, you can do so with the following command:
bore server
That's all it takes! After the server starts running at a given address, you can then update the bore local
command with option --to <ADDRESS>
to forward a local port to this remote server.
Protocol
There is an implicit control port at 7835
, used for creating new connections on demand. This can be configured in the command-line options.
Acknowledgements
Created by Eric Zhang (@ekzhang1). Licensed under the MIT license.
The author would like to thank the contributors and maintainers of the Tokio project for making it possible to write ergonomic and efficient network services in Rust.