scorpiox-frp Network

A lightweight, pure-C FRP-compatible reverse proxy client that tunnels local services through a remote FRP server, enabling NAT traversal and secure exposure of local ports to the internet.

Platforms

🐧 Linux x64 🐧 Linux ARM64 🍎 macOS ARM64 🪟 Windows x64

Flags & Options

Flag Short Description Takes Value
--server -s FRP server address (host:port) No
--token -t Authentication token for the FRP server No
--local -l Local address and port to forward (e.g. 127.0.0.1:8080) No
--remote -r Remote port on the FRP server to bind Yes
--name -n Tunnel name identifier for the FRP session No
--type Proxy type: tcp, udp, http, https, stcp, xtcp No
--domain -d Custom domain name for the tunnel endpoint No
--subdomain Subdomain prefix for the tunnel (used with HTTP/HTTPS types) No
--user -u Username for multi-user FRP server authentication No
--tls Enable TLS transport (for frps-secure connections) No
--no-reconnect Disable auto-reconnect on disconnect No
--verbose -v Enable verbose/debug output No
--help -h Show help message and exit Yes
-S FRP server address (host:port) No
-T Authentication token for the FRP server No

Usage Examples

Basic TCP tunnel — expose local port 8080 on remote port 9000

# Connect to FRP server and create a TCP tunnel
scorpiox-frp --server frps.example.com:7000 \
  --token my-secret-token \
  --local 127.0.0.1:8080 \
  --remote 9000 \
  --name web-app

HTTP tunnel with subdomain

# Expose local dev server at myapp.frps.example.com
scorpiox-frp -s frps.example.com:7000 \
  -t my-token \
  --type http \
  -l 127.0.0.1:3000 \
  --subdomain myapp \
  -n dev-http

HTTPS tunnel with custom domain and TLS

# Secure tunnel with TLS and custom domain
scorpiox-frp --server frps.example.com:7000 \
  --token secure-token-xyz \
  --type https \
  --local 127.0.0.1:443 \
  --domain app.mydomain.com \
  --tls \
  --name prod-https

Multi-user mode with verbose logging

# Connect as a specific user with debug output
scorpiox-frp -s frps.company.io:7000 \
  -t team-token \
  -u developer1 \
  -l 127.0.0.1:5000 \
  -r 15000 \
  -n flask-app \
  -v

One-shot connection (no auto-reconnect)

# Single connection attempt — exit on disconnect
scorpiox-frp -s frps.example.com:7000 \
  -t token123 \
  -l 127.0.0.1:22 \
  -r 2222 \
  -n ssh-tunnel \
  --no-reconnect

UDP tunnel for game server

# Expose a local UDP service
scorpiox-frp -s frps.example.com:7000 \
  -t game-token \
  --type udp \
  -l 127.0.0.1:27015 \
  -r 27015 \
  -n game-udp

Source & Build Info

Source File
scorpiox/scorpiox-frp.c
Lines of Code
212
Dependencies
libsxnet, libsxutil

Related Tools