bore vs Chisel
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
A minimal command-line tool that exposes a port on your computer to the internet through a remote server.
Open source · MIT
A tool that tunnels TCP and UDP traffic over HTTP, encrypted with SSH, for getting past firewalls.
The short answer
Choose bore if you need…
- Developers who want to share a local web app or API with someone for a quick test
- People who want a simple tunnel tool they can self-host
- Users who prefer a single small binary over a larger service
- Anyone who needs to reach a local TCP service from outside their network
Choose Chisel if you need…
- Developers who need to reach a service on a private machine from outside its network
- People on networks that restrict traffic and only allow web-style connections
- Admins who want a simple encrypted entry point into an internal network
- Anyone who wants SSH to work through an HTTP proxy using the stdio ProxyCommand option
Side-by-side
| bore | Chisel | |
|---|---|---|
| Type | CLI | CLI |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 11.6k | 16.7k |
| Setup difficulty | Beginner | Intermediate |
| How you get it | Install with a package manager | Install with a package manager |
| Main language | Rust | Go |
| Last code update | 9 months ago | 26 days ago |
What each one is
bore
bore is a small command-line program that forwards traffic from a port on your own machine to a public address, so others can reach something you are running locally. It works at the TCP level and is meant to do only this one job. You can use the public server at bore.pub or run your own server.
Chisel
Chisel is a single program that runs as either a server or a client and forwards network connections between them. Its traffic is wrapped in HTTP and encrypted using the SSH protocol, which lets it pass through firewalls and proxies that block other kinds of traffic. The README says it is mainly useful for getting through firewalls, and can also give a secure entry point into a private network.
Best for
bore
- Developers who want to share a local web app or API with someone for a quick test
- People who want a simple tunnel tool they can self-host
- Users who prefer a single small binary over a larger service
- Anyone who needs to reach a local TCP service from outside their network
Chisel
- Developers who need to reach a service on a private machine from outside its network
- People on networks that restrict traffic and only allow web-style connections
- Admins who want a simple encrypted entry point into an internal network
- Anyone who wants SSH to work through an HTTP proxy using the stdio ProxyCommand option
Strengths
bore
- Small and simple: the README describes about 400 lines of Rust and a single binary for client and server
- Self-hosting is straightforward with one command
- MIT licensed and available through several package managers and prebuilt binaries
Chisel
- Single executable containing both client and server
- Encrypted connections via SSH and optional fingerprint checks against man-in-the-middle attacks
- Client reconnects automatically with exponential backoff after network drops
Not ideal for
bore
- People who need encryption of traffic: the README says no further traffic is encrypted by default after the secret handshake
- Users who need a web-specific feature set such as custom domains or HTTP inspection, since bore is a plain TCP forwarder
- Teams that need access control beyond one optional shared secret
Chisel
- Users who need a managed, hosted service with support, since this is self-run software with no hosting offered in the README
- Those who need a polished graphical interface, since the README only describes command-line usage
- Anyone unable to run a server they control, because the server side must be hosted somewhere reachable
Trade-offs
bore
- Traffic is not encrypted by default; the secret only protects the initial handshake
- Remote ports are assigned randomly unless you pick one, and the command fails if the chosen port is unavailable
- The README shows Docker images built for AMD 64-bit only
Chisel
- Security depends on correct setup: the README notes that authfile patterns are not anchored by default and need care
- Some features such as reverse forwarding and SOCKS5 must be explicitly enabled on the server
- The README describes minimum OS versions and points older systems to an older release
Getting started
bore
Install with Cargo
cargo install bore-cliInstall with Homebrew (macOS)
brew install bore-cliChisel
Install from source with Go
go install github.com/jpillora/chisel@latestFedora install
sudo dnf -y install chiselFrequently asked questions
What is the difference between bore and Chisel?
bore: A minimal command-line tool that exposes a port on your computer to the internet through a remote server. Chisel: A tool that tunnels TCP and UDP traffic over HTTP, encrypted with SSH, for getting past firewalls. bore suits developers who want to share a local web app or api with someone for a quick test, while Chisel suits developers who need to reach a service on a private machine from outside its network.
Are bore and Chisel free?
bore: Free and open source. Chisel: Free and open source.
Which is easier to set up, bore or Chisel?
bore is easier to get started with (rated beginner); Chisel is rated intermediate and usually needs more setup.
Is bore or Chisel more popular?
Chisel has more GitHub stars (16.7k) than bore (11.6k). Popularity isn't the same as fit — check which one matches your use case above.
What are other alternatives to bore and Chisel?
Other options people compare them with include localtunnel, croc.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.