TexLite Share Tunnel · Public Beta

Share your local TexLite,
securely and instantly.

No public IP, router port-forwarding, or firewall configuration required. With a lightweight client, generate a secure, dedicated subdomain for your local TexLite collaborative workspace in seconds.

BETA Public Beta Notice:
share.zhongpu.info currently operates in public beta, supporting up to 50 concurrent active shares and 1,000 concurrent streams.
Sub-second Setup
End-to-End smux Multiplexing
Silent Auto-Reconnect
bash ~ texlite-tunnel-client
$ texlite-tunnel-client --server-url https://share.zhongpu.info
time=2026-09-19T15:05:01 level=INFO msg="starting texlite-tunnel-client"
==> Probing local service at http://127.0.0.1:3000... OK (TexLite detected)
==> Requesting share session from https://share.zhongpu.info...
==> Public Share Created Successfully!
Public URL:
==> Tunnel established. Forwarding traffic to 127.0.0.1:3000
==> Press Ctrl+C to disconnect and revoke share.
Quick Start

Start Sharing with share.zhongpu.info

Two simple steps to expose your local TexLite collaborative editor to coauthors securely.

1 Download & Install the Client

Run the official installation script for Linux and macOS (Apple Silicon & Intel). It installs texlite-tunnel-client to ~/.local/bin without requiring root:

curl -fsSL https://raw.githubusercontent.com/ChenZhongPu/TexLite-Share/main/install-client.sh | bash
Tip: Windows pre-compiled binaries are available on GitHub Releases.

2 Launch the Tunnel

Make sure your local TexLite is running (default http://127.0.0.1:3000). Navigate to the installation directory and start the client pointing to this service:

cd ~/.local/bin && ./texlite-tunnel-client --server-url https://share.zhongpu.info

Usage Tips:

  • Direct Execution (without cd): You can invoke the binary path directly:
    ~/.local/bin/texlite-tunnel-client --server-url https://share.zhongpu.info
  • Add to PATH (Recommended): Add export PATH="$HOME/.local/bin:$PATH" to your shell profile (~/.bashrc or ~/.zshrc). Then you can simply type texlite-tunnel-client from any folder.
  • Set default server via Environment Variable: Avoid typing --server-url every time:
    export TEXLITE_SERVER_URL=https://share.zhongpu.info && texlite-tunnel-client
  • Custom local port: If TexLite is running on another port (e.g. 8080):
    ./texlite-tunnel-client --server-url https://share.zhongpu.info --local-addr 127.0.0.1:8080
  • Stop & Revoke: Press Ctrl + C anytime to automatically revoke the share link and release server resources.
CLI Reference

Command-line Options & Flags

Flexible CLI options to adapt to custom local ports, lifetimes, and reconnect tokens.

Flag / Shorthand Default Description
--local-addr <host:port> 127.0.0.1:3000 Target address of the local TexLite service. If omitted, the client automatically scans and verifies genuine local TexLite instances.
--server-url <url> http://127.0.0.1:9000
(localhost)
Share server gateway address. Built-in default is localhost (http://127.0.0.1:9000). When connecting to this public service, specify --server-url https://share.zhongpu.info or set environment variable TEXLITE_SERVER_URL=https://share.zhongpu.info.
--token <secret> (Auto-generated) Tunnel authentication token for reconnecting to and recovering the same dedicated share subdomain across network disconnects.
--share-id <id> (Auto-generated) Specific Share ID to reconnect to (used in conjunction with --token).
--auto-revoke true Automatically sends a revocation request to the server when exiting (via Ctrl+C) to safely release resources immediately.
--version / -v - Print client version info, Git commit SHA, and build timestamp.
Architecture

Why TexLite Share?

Crafted for academic collaboration with zero-friction UX and production-grade security isolation.

🛡️

Strict Local SSRF Protection

Built-in active service probe and sandbox ensures only verified TexLite instances are forwarded, preventing unauthorized intranet service probing.

⚡

Edge Static Asset Caching

Server-side LRU cache serves large editor assets and KaTeX fonts directly at the edge in single-digit milliseconds, drastically saving local bandwidth.

🔒

Multiplexing & Keep-Alive

High-concurrency stream multiplexing via smux over a single session with millisecond heartbeat keep-alive and silent auto-reconnection.

🌱

Zero-Dependency & Lightweight

Single static Go binary without external dependencies. Consumes mere megabytes of memory for continuous background operation.

FAQ

Frequently Asked Questions

What are the capacity limits for share.zhongpu.info?
share.zhongpu.info is currently in public Beta. It is configured to host a maximum of 50 active shares and 1,000 concurrent multiplexed streams across all users.
Can the client customize the share lifetime (TTL)?
No. Share link lifetimes (TTL) are strictly configured and enforced on the server side (via --default-ttl) to maintain security and prevent resource hoarding. Clients cannot override TTL. Server administrators can extend or modify expiration times via the server Admin Dashboard.
My TexLite runs on a port other than 3000. How do I forward it?
Pass your custom address using --local-addr, for example:
texlite-tunnel-client --local-addr 127.0.0.1:8080
How do I close or revoke my public share link immediately?
Press Ctrl + C in your terminal. The client proactively sends a revocation request to the server, instantly terminating the share.
Why did I receive HTTP 410 (Expired)?
The share link has reached its expiration time (TTL). Simply run texlite-tunnel-client again to generate a new active link.
Can I run the client in the background?
Yes. You can use nohup texlite-tunnel-client > tunnel.log 2>&1 & or manage it via systemd, screen, or tmux.