clientproxy.io
→ console

Download

Get the tunnel client for your platform, or run your own private proxy server. You need a Tunnel ID and API key from the console.

Tunnel clientPrivate proxy server ↓

Runs next to your app and connects it to a proxy. Full details in the installation guide.

Synology DSM 7
View releases
  1. Package Center → Manual Install → upload the .spk.
  2. In the wizard pick your region and paste Tunnel ID and API key.
  3. Map the domain to localhost:5000 (HTTP, not 5001) in the dashboard.
# Or install with automatic updates:
# Package Center → Settings → Package Sources → Add
# Name: clientproxy.io
# Location: https://api-us.clientproxy.io/api/synology
Windows (x64)
View releases
  1. Extract the zip.
  2. Run directly, or install as a service from an elevated PowerShell.
.\tunnel-client.exe \
  --api-url https://api-us.clientproxy.io/api \
  --tunnel-id <YOUR_TUNNEL_ID> \
  --api-key <YOUR_API_KEY>

# Run as a Windows service
powershell -ExecutionPolicy Bypass -File install.ps1
Debian / Ubuntu — amd64
View releases
  1. Install the package.
  2. Set credentials and start the service.
sudo dpkg -i tunnel-client_*_amd64.deb
# put these 3 lines in /etc/tunnel-client/env
TUNNEL_API_URL=https://api-us.clientproxy.io/api   # or api-eu / api-asia
TUNNEL_ID=<YOUR_TUNNEL_ID>
TUNNEL_API_KEY=<YOUR_API_KEY>

sudo systemctl enable --now tunnel-client
sudo systemctl status tunnel-client
Debian / Ubuntu — arm64
View releases
  1. For Raspberry Pi 64-bit and ARM servers.
  2. Install, set credentials, start.
sudo dpkg -i tunnel-client_*_arm64.deb
# put these 3 lines in /etc/tunnel-client/env
TUNNEL_API_URL=https://api-us.clientproxy.io/api   # or api-eu / api-asia
TUNNEL_ID=<YOUR_TUNNEL_ID>
TUNNEL_API_KEY=<YOUR_API_KEY>

sudo systemctl enable --now tunnel-client
sudo systemctl status tunnel-client
RHEL / Rocky / Amazon Linux — amd64
View releases
  1. Install the package.
  2. Set credentials and start the service.
sudo rpm -i tunnel-client-*.amd64.rpm
# put these 3 lines in /etc/tunnel-client/env
TUNNEL_API_URL=https://api-us.clientproxy.io/api   # or api-eu / api-asia
TUNNEL_ID=<YOUR_TUNNEL_ID>
TUNNEL_API_KEY=<YOUR_API_KEY>

sudo systemctl enable --now tunnel-client
sudo systemctl status tunnel-client
RHEL / Rocky / Amazon Linux — arm64
View releases
  1. Install the package.
  2. Set credentials and start the service.
sudo rpm -i tunnel-client-*.arm64.rpm
# put these 3 lines in /etc/tunnel-client/env
TUNNEL_API_URL=https://api-us.clientproxy.io/api   # or api-eu / api-asia
TUNNEL_ID=<YOUR_TUNNEL_ID>
TUNNEL_API_KEY=<YOUR_API_KEY>

sudo systemctl enable --now tunnel-client
sudo systemctl status tunnel-client
Linux static binary — amd64
View releases
  1. Works on any distribution, no dependencies.
  2. Make it executable and run.
chmod +x tunnel-client-linux-amd64
./tunnel-client-linux-amd64 \
  --api-url https://api-us.clientproxy.io/api \
  --tunnel-id <YOUR_TUNNEL_ID> \
  --api-key <YOUR_API_KEY>
Linux static binary — arm64
View releases
  1. Works on any distribution, no dependencies.
  2. Make it executable and run.
chmod +x tunnel-client-linux-arm64
./tunnel-client-linux-arm64 \
  --api-url https://api-us.clientproxy.io/api \
  --tunnel-id <YOUR_TUNNEL_ID> \
  --api-key <YOUR_API_KEY>
Linux static binary — armv7
View releases
  1. For 32-bit Raspberry Pi OS and older NAS.
  2. Make it executable and run.
chmod +x tunnel-client-linux-armv7
./tunnel-client-linux-armv7 \
  --api-url https://api-us.clientproxy.io/api \
  --tunnel-id <YOUR_TUNNEL_ID> \
  --api-key <YOUR_API_KEY>
Docker / QNAP / Unraid / TrueNAS
amd64, arm64, arm/v7
  1. Pull and run the image with host networking.
  2. Compose file and NAS-specific steps are in the NAS & Docker guide.
docker run -d --name tunnel-client --restart unless-stopped --network host \
  -e TUNNEL_API_URL=https://api-us.clientproxy.io/api \
  -e TUNNEL_ID=<YOUR_TUNNEL_ID> \
  -e TUNNEL_API_KEY=<YOUR_API_KEY> \
  ghcr.io/clientproxy-io/tunnel-client:latest

Private proxy server

Run your own tunnel-proxy on a Linux server (x86_64 or ARM). Open ports 80, 443, 8778 and 8779, and point a DNS A record at the server first. You need your API key and the server's Proxy ID from the console. Firewall and sizing details: Proxy server setup. Prefer we host it? Email info@clientproxy.io.

Debian / Ubuntu
Installed from our apt repository
  1. Add the repository and install.
  2. Create the config (below) and start the service.
curl -fsSL https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg \
  | sudo gpg --dearmor -o /usr/share/keyrings/olibot-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/olibot-archive-keyring.gpg] \
  https://us-central1-apt.pkg.dev/projects/proxyconfig-71f70 tunnel-proxy-apt main" \
  | sudo tee /etc/apt/sources.list.d/olibot-proxy.list
sudo apt update && sudo apt install tunnel-proxy
RHEL / Rocky / Amazon Linux
Installed from our yum repository
  1. Add the repository and install.
  2. Create the config (below) and start the service.
cat <<EOF | sudo tee /etc/yum.repos.d/olibot-proxy.repo
[olibot-proxy]
name=clientproxy.io Tunnel Proxy
baseurl=https://us-central1-yum.pkg.dev/projects/proxyconfig-71f70/tunnel-proxy-yum
enabled=1
gpgcheck=0
EOF
sudo dnf install tunnel-proxy
Configure & start
Same on every distribution
  1. Certificates are provisioned automatically on first start.
  2. Check logs with journalctl -u tunnel-proxy -f.
# /etc/tunnel-proxy/config.toml
listen_port     = 80
listen_port_tls = 443
tunnel_port_tls = 8778
tunnel_port     = 8779
tunnel_api_base_url = "https://api-us.clientproxy.io/api"   # or api-eu / api-asia
tunnel_api_key      = "<YOUR_API_KEY>"
tunnel_proxy_id     = "<YOUR_PROXY_ID>"
tunnel_cache_dir    = "/etc/tunnel-proxy/app-file-cache"

# then
sudo mkdir -p /etc/tunnel-proxy/app-file-cache
sudo systemctl enable --now tunnel-proxy

All client releases and checksums: GitHub Releases.