bore
Tunnel local services to the internet
TLDR
Expose a local port to a remote Bore server
Start a Bore server
Display help
SYNOPSIS
bore local <LOCAL_PORT> [options]
bore server [options]
PARAMETERS
local <LOCAL_PORT>
Client mode: forward public traffic to local TCP port.
server
Server mode: host tunnel server for clients.
-h, --help
Print help information.
-V, --version
Print version information.
-p, --port <PORT>
Port for server bind/connect (default 2222).
--to <ADDR>
Tunnel server host (default bore.pub; local only).
--key <KEY>
Authentication key for server (local only).
--private
Use private (non-public) tunnel addresses (server only).
DESCRIPTION
bore is a lightweight, Rust-based command-line tool for creating TCP tunnels to expose local services to the internet. It provides a simple alternative to tools like ngrok, focusing purely on TCP forwarding without HTTP-specific features, accounts, or complex configurations.
In local mode, bore local <port> connects your local TCP port to a remote bore server, which assigns a public endpoint (e.g., bore.pub:nnnn) that proxies traffic back to your machine. Server mode, bore server, runs the tunnel host on your infrastructure.
Default public server is bore.pub:2222, enabling instant use without setup. Custom servers support auth keys for security. Ideal for development previews, webhook testing, SSH access, or any TCP service sharing. Cross-platform, single binary, low overhead, and open-source under MIT license.
CAVEATS
Public bore.pub for testing only; rate-limited and no SLA. Self-host for production. TCP-only, no UDP/HTTP auth.
EXAMPLE USAGE
bore local 8080
Output: bore://abcde.bore.pub:1234 <-- share this public URL.
INSTALLATION
cargo install bore-cli
Or download binaries from GitHub releases for Linux/macOS/Windows.
HISTORY
Created by Ethan Zhang (ekzhang) in 2021 as a Rust rewrite for simplicity. GitHub star-powered alternative to ngrok; v0.5+ adds relay mode and keys.


