18 networking components written in pure C — DNS server, FRP tunneling, beam file transfer, MITM traffic proxy, HTTP server, SMTP/IMAP email, WebSocket bridge, MCP client, SSH wrapper, and more. Zero external dependencies.
Scorpiox code ships a complete networking stack compiled into standalone static binaries. Every component uses raw POSIX sockets (or Winsock on Windows) — no libcurl, no OpenSSL, no libuv. TLS is handled by the embedded mbedTLS library where needed. 18 components span DNS, reverse proxy tunneling, file transfer, HTTP serving, email, WebSocket bridging, MCP protocol, traffic capture, and more.
Full-featured DNS server with split-horizon resolution, upstream forwarding with response caching, active cache with background refresh, and pre-cache domain warmup for offline resilience. Supports A, CNAME, SOA, MX, NS, AAAA, and TXT record types.
# Listen on all interfaces
DNS_LISTEN=0.0.0.0:53
# Forward unresolved queries upstream
DNS_UPSTREAM=8.8.8.8
# Zone file path
DNS_ZONE_FILE=/etc/scorpiox/zones.conf
# Default TTL (seconds)
DNS_DEFAULT_TTL=300
# Primary domain
DNS_DOMAIN=scorpiox.net
# Enable active cache with background refresh
DNS_ACTIVE_CACHE=true
# Pre-cache domains for offline resilience
DNS_PRECACHE=scorpiox.net,code.scorpiox.net,git.scorpiox.net
# Start DNS server in daemon mode
scorpiox-dns --daemon
# Add an A record
scorpiox-dns add app.scorpiox.net A 192.168.1.10
# List all zones
scorpiox-dns list
# Query a record
scorpiox-dns query code.scorpiox.net
# Remove a record
scorpiox-dns remove old.scorpiox.net
FRP-compatible reverse proxy client rewritten in pure C. Connects to standard frps servers (v0.52+) using JSON over yamux streams. Control stream is encrypted with AES-128-CFB via mbedTLS with PBKDF2 key derivation from token.
# Expose local port 8080 via HTTP tunnel
scorpiox-frp --server frps.example.com:7000 --token my-secret-token --type http --local-port 8080 --subdomain myapp
# TCP tunnel with TLS transport
scorpiox-frp --server frps.example.com:7000 --token my-secret-token --type tcp --local-port 22 --remote-port 6022 --tls
The Go-based frpc binary is 15+ MB. scorpiox-frp is under 200 KB statically linked, starts in microseconds, and uses a fraction of the memory. Same wire protocol — drop-in replacement for frpc with any frps server.
Zero-copy file transfer between machines. Uses sendfile() on Linux/macOS and TransmitFile() on Windows for kernel-level data transfer. Files are verified with xxHash64 checksums and confirmed with ACK/NAK.
# Receive mode — listen for incoming files
scorpiox-beam receive
# Send a file to another machine
scorpiox-beam send 192.168.1.50 ./project.tar.gz
# Send to a custom port
scorpiox-beam send 192.168.1.50:9999 ./backup.sql
HTTP/HTTPS traffic capture CLI. Runs an embedded MITM proxy and sets HTTP_PROXY/HTTPS_PROXY environment variables for child processes. Captures output in multiple formats: raw, summary.json, conversation.jsonl, and HAR.
# Capture traffic for a curl command
scorpiox-traffic -- curl https://api.example.com/data
# Capture with HAR output
scorpiox-traffic --format har -- python3 script.py
Lightweight HTTP server for Python script and executable routing. Powers this website via CGI. Features JWT HMAC-SHA256 authentication, IP whitelisting with CIDR support, git poll for auto-reload, and configurable request/response limits.
# HTTP server port
SERVER_PORT=8080
# Script directory for CGI routing
SERVER_SCRIPT_DIR=/var/www/scripts
# JWT authentication
SERVER_JWT_SECRET=your-hmac-secret
SERVER_JWT_PROTECT=/admin/*,/api/*
SERVER_JWT_LOGIN_URL=/login
# IP whitelist (CIDR supported)
SERVER_IP_WHITELIST=192.168.0.0/16,10.0.0.0/8
# Request/response limits
SERVER_MAX_REQUEST_MB=10
SERVER_MAX_RESPONSE_MB=50
code.scorpiox.net runs entirely on scorpiox-server. Each page is a .py file executed as CGI. The server handles routing, JWT auth, and response delivery — all in a single C binary under 200 KB.
Full email server with SMTP receive (port 25), submission (port 587), and IMAP (port 993). Supports STARTTLS, TLS certificates, Maildir storage, and account file management.
SMTP client for sending email from the command line or scripts. Supports STARTTLS and direct SSL connections.
# Email server configuration
EMAIL_DOMAIN=scorpiox.net
EMAIL_MAILDIR=/var/mail
EMAIL_TLS_CERT=/etc/ssl/certs/mail.pem
EMAIL_TLS_KEY=/etc/ssl/private/mail.key
EMAIL_ACCOUNTS_FILE=/etc/scorpiox/accounts.conf
# SMTP client settings
SMTP_HOST=smtp.scorpiox.net
SMTP_PORT=587
SMTP_USER=dev@scorpiox.net
SMTP_TLS=starttls
WebSocket to TCP bridge. Wraps raw TCP services with a WebSocket frontend for browser-based access.
Model Context Protocol client. JSON-RPC 2.0 over stdio with configurable tool allow/deny lists.
Session gateway server with REST API. Event system for thinking, tool-start, tool-done, complete, error, and idle states.
Zero-friction SSH password wrapper. PTY-based password injection with SCP shorthand support.
HTTP client with headless browser support via Chrome DevTools Protocol. WebSocket and CDP capable.
Multi-engine web search client. Queries multiple search engines concurrently and aggregates results.
Token fetch relay server. SXV1 protocol with API key auth, IP whitelist, and upstream proxying.
HTTP-to-TCP relay server. SXH1/SXR1 protocols for bridging HTTP requests to raw TCP backends.
MCP client over HTTP transport. JSON-RPC 2.0 for remote tool execution via HTTP endpoints.
Google Maps API client. Geocoding, directions, places, and distance via maps.scorpiox.net proxy.
PowerShell over TCP server. HTTP-based remote PowerShell execution for Windows automation.
| Component | Type | Port | Protocols |
|---|---|---|---|
| scorpiox-dns | server | 53 | DNS |
| scorpiox-frp | tunnel | 7000 | FRP, TCP, HTTP, HTTPS, STCP, yamux |
| scorpiox-beam | transfer | 9876 | TCP |
| scorpiox-traffic | proxy | 8899 | HTTP, HTTPS |
| scorpiox-sshpass | client | 22 | SSH, SCP |
| scorpiox-host | server | 7432 | HTTP |
| scorpiox-server | server | 8080 | HTTP |
| scorpiox-ws2tcp | proxy | 6080 | WebSocket, TCP, HTTP |
| scorpiox-server-fetchtoken | server | 9800 | TCP, SXV1 |
| scorpiox-server-http2tcp | server | 9801 | TCP, HTTP, HTTPS, SXH1, SXR1 |
| scorpiox-server-email | server | 25/587/993 | SMTP, IMAP, TLS |
| scorpiox-email | client | 587 | SMTP, STARTTLS, SSL |
| scorpiox-fetch | client | — | HTTP, HTTPS, WebSocket, CDP |
| scorpiox-websearch | client | — | HTTP, HTTPS |
| scorpiox-mcp | client | — | JSON-RPC 2.0, stdio |
| scorpiox-mcp-httpclient | client | — | HTTP, JSON-RPC 2.0 |
| scorpiox-googlemaps | client | — | HTTP, HTTPS |
| scorpiox-pwshovertcp | server | 9876 | HTTP |