Repolode
openziti

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. 1

    Install zrok for your platform

  2. 2

    Get an account with an invite

    zrok invite
  3. 3

    Enable sharing

    zrok enable
  4. 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