A self-hosted tunnel written in Go that exposes localhost services to the internet through your own domain and server.
openziti/zrok
Secure sharing of local web services, files and TCP/UDP resources over zero-trust networking, with no firewall or port-forwarding setup.
Open-source alternative to:ngrok
- Stars
- 4,783
- Forks
- 228
- Open issues
- 121
- Last commit
- 13 days ago
What is it?
zrok is a tool for sharing web services, folders and network resources with other people, whether they are on the public internet or on a private network. A local port such as localhost:8080 can be published with a single command, and a folder can be exposed as a network drive.
zrok is built on OpenZiti, a zero-trust network overlay. Sharing works from behind firewalls and NAT without inbound connectivity or network configuration changes, and traffic is end-to-end encrypted, even from the zrok servers. Public shares are reachable by anyone with the link, while private shares are limited to specific zrok users.
The project is written in Go and ships as a single binary for Windows, macOS, Linux and Raspberry Pi. Users can use the free zrok.io service or self-host their own instance, and a Go SDK lets applications embed sharing directly.
Key features
- 01Shares local web services over HTTP/HTTPS without firewall or port-forwarding changes.
- 02Exposes folders as network drives through the drive backend mode.
- 03Supports TCP and UDP private sharing between zrok users.
- 04Offers public and private share modes with identity-based access.
- 05Provides a Go SDK for embedding sharing in applications.
- 06Can be self-hosted from a single binary.
Use cases
- Showing a locally running web app to a client or colleague without deploying it.
- Sharing a project folder as a network drive with someone on another network.
- Exposing a service on a Raspberry Pi behind a home router.
- Giving specific team members private access to an internal TCP service.
Quick start
- 1
Install zrok for your platform
- 2
Get an account with an invite
zrok invite - 3
Enable sharing
zrok enable - 4
Share a local web service publicly
zrok share public localhost:8080
Topics
FAQ
- What is zrok?
- Secure sharing of local web services, files and TCP/UDP resources over zero-trust networking, with no firewall or port-forwarding setup. zrok is a tool for sharing web services, folders and network resources with other people, whether they are on the public internet or on a private network. A local port such as localhost:8080 can be published with a single command, and a folder can be exposed as a network drive.
- Is zrok free to use? What license does it have?
- zrok is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is zrok still maintained?
- Actively maintained. The last commit to zrok was on Oct 8, 2026.
- What can I use zrok for?
- Showing a locally running web app to a client or colleague without deploying it. Sharing a project folder as a network drive with someone on another network. Exposing a service on a Raspberry Pi behind a home router. Giving specific team members private access to an internal TCP service.
- How do I install zrok?
- Install zrok for your platform Get an account with an invite: zrok invite Enable sharing: zrok enable Share a local web service publicly: zrok share public localhost:8080
- Where can I get zrok?
- The source code and installation instructions are on GitHub: https://github.com/openziti/zrok
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted web app for waking devices on your network with Wake-on-LAN, built with SvelteKit, Go and PocketBase.
Self-hosted home server platform acting as a secure reverse proxy, app manager, and gateway with auth, MFA, SSO, and anti-bot protection.
A web-based graphical interface for nginx that lets you manage virtual hosts, proxies, SSL certificates and streams without editing config files by hand.
Self-hosted network speed testing and server monitoring tool with a web UI, built in Go and React.
A web desktop operating system for low-power devices like Raspberry Pi, providing file management, network file sharing and a web-based app environment.