zrok

module
v1.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2025 License: Apache-2.0

README

zrok - Secure Internet Sharing Made Simple

zrok logo

Share anything, anywhere, instantly. Enterprise reliability. No firewall changes. No port forwarding. No hassle.

zrok lets you securely share web services, files, and network resources with anyone—whether they're across the internet or your private network. Built on zero-trust networking, it works through firewalls and NAT without requiring any network configuration changes.

Quick Start

Get sharing in under 2 minutes:

  1. Install zrok for your platform
  2. Get an account: zrok invite (use the free zrok.io service)
  3. Enable sharing: zrok enable

That's it! Now you can share anything:

# Share a web service publicly
$ zrok share public localhost:8080

# Share files as a network drive  
$ zrok share public --backend-mode drive ~/Documents

# Share privately with other zrok users
$ zrok share private localhost:3000

zrok Web Console

What You Can Share

Web Services

Instantly make local web apps accessible over the internet:

$ zrok share public localhost:8080

zrok share public

Files & Directories

Turn any folder into a shareable network drive:

$ zrok share public --backend-mode drive ~/Repos/zrok

zrok share public -b drive mounted zrok drive

Private Resources

Share TCP/UDP services securely with other zrok users—no public internet exposure.

Key Features

  • Zero Configuration: Works through firewalls, NAT, and corporate networks
  • Secure by Default: End-to-end encryption with zero-trust architecture
  • Public & Private Sharing: Share with anyone or just specific users
  • Multiple Protocols: HTTP/HTTPS, TCP, UDP, and file sharing
  • Cross-Platform: Windows, macOS, Linux, and Raspberry Pi
  • Self-Hostable: Run your own zrok service instance

How It Works

zrok is built on OpenZiti, a programmable zero-trust network overlay. This means:

  • No inbound connectivity required: Works from behind firewalls and NAT
  • End-to-end encryption: All traffic is encrypted, even from zrok servers
  • Peer-to-peer connections: Direct connections between users when possible
  • Identity-based access: Share with specific users, not IP addresses

Developer SDK

Embed zrok sharing into your applications with our Go SDK:

// Create a share
shr, err := sdk.CreateShare(root, &sdk.ShareRequest{
    BackendMode: sdk.TcpTunnelBackendMode,
    ShareMode:   sdk.PrivateShareMode,
})

// Accept connections
listener, err := sdk.NewListener(shr.Token, root)

Read the SDK guide for complete examples.

Self-Hosting

Run your own zrok service—from Raspberry Pi to enterprise scale:

  • Single binary contains everything you need
  • Scales from small personal instances to large public services
  • Built on the same codebase as the public zrok.io service

Self-Hosting Guide

Resources


Ready to start sharing? Get started with zrok →

Directories

Path Synopsis
agentGrpc
Package agentGrpc is a reverse proxy.
Package agentGrpc is a reverse proxy.
cmd
zrok command
env
drives
davServer
Package davServer provides a WebDAV server implementation.
Package davServer provides a WebDAV server implementation.
davServer/internal/xml
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
socks
Package socks5 is a SOCKS5 server implementation.
Package socks5 is a SOCKS5 server implementation.
vpn
Package rest_server_zrok zrok
Package rest_server_zrok zrok
sdk

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL