15 networking components written in pure C — DNS server, FRP tunneling, file beam, MITM proxy, HTTP server, email, WebSocket bridge, 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.
DNS, FRP, beam, proxy, HTTP server, email (SMTP+IMAP), WebSocket bridge, SSH, MCP, session host, and more.
Raw POSIX sockets everywhere. TLS via embedded mbedTLS. No libcurl, no OpenSSL, no libuv, no Go runtime.
Linux, macOS, and Windows. Same source, same behavior. Winsock abstraction where needed.
Full authoritative DNS server with split-horizon resolution, upstream forwarding, and response caching. Handles A, CNAME, SOA, MX, TXT, AAAA, and NS record types over both UDP and TCP.
# Run DNS on custom interface
DNS_LISTEN=0.0.0.0:53
# Forward unresolved queries to upstream
DNS_UPSTREAM=8.8.8.8
# Zone file path
DNS_ZONE_FILE=/etc/scorpiox/zones.conf
# Default TTL for records (seconds)
DNS_DEFAULT_TTL=300
# Primary domain
DNS_DOMAIN=scorpiox.net
# Start DNS server in daemon mode
scorpiox-dns --daemon
# Add an A record
scorpiox-dns add myapp.scorpiox.net A 192.168.1.100
# List all zones
scorpiox-dns list
# Query a record
scorpiox-dns query code.scorpiox.net
# Remove a record
scorpiox-dns remove old.scorpiox.net
Pure C implementation of the FRP client wire protocol. Connects to any standard frps v0.52+ server. Features Yamux session multiplexing, AES-128-CFB encryption on the control stream via mbedTLS, and MD5 token authentication.
# 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 standard frpc is a 25MB Go binary that pulls in the entire Go runtime. scorpiox-frp is a ~200KB static binary with identical wire compatibility. It starts in milliseconds, uses minimal memory, and ships as part of the scorpiox toolchain — no separate install.
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
# Custom port
scorpiox-beam receive --port 4444
scorpiox-beam send 192.168.1.50:4444 ./data.bin
MITM proxy for capturing HTTP/HTTPS traffic from AI provider API calls. Automatically generates CA certificates, injects them into the child process, and captures all requests/responses in multiple formats.
# Capture all API traffic from a scorpiox session
scorpiox-traffic -- sx "explain this code"
# Custom output directory and port
scorpiox-traffic --outdir ./captures --port 9999 -- sx "refactor main.c"
# Output files generated:
# captures/raw/ — raw request/response pairs
# captures/summary.json — structured API call summary
# captures/convo.jsonl — conversation format
# captures/traffic.har — HAR format for browser tools
# captures/replay.sh — curl commands to replay
Lightweight HTTP server that executes Python scripts as request handlers. Powers code.scorpiox.net, get.scorpiox.net, and all other scorpiox web properties. Features JWT authentication, dynamic routing, and git-based auto-deployment.
# Basic server configuration
SERVER_PORT=8080
SERVER_SCRIPT_DIR=/var/www/scripts
SERVER_ROUTE_PREFIX=/
# JWT authentication
SERVER_JWT_SECRET=your-secret-key
SERVER_JWT_ISSUER=scorpiox
# Git auto-deployment
SERVER_GIT_POLL_INTERVAL=60
SERVER_GIT_CACHE_DIR=/var/cache/scorpiox
The page you're reading right now is a Python script executed by scorpiox-server. The server polls a git repository for updates, routes HTTP requests to .py files, and streams the response back. No nginx, no Apache, no Node.js — just a single C binary.
The networking stack includes several more specialized components:
Session gateway server with REST API for managing AI coding sessions. Event bus for real-time status (thinking, tool-start, tool-done). Port 7432.
Zero-friction SSH wrapper with PTY password injection. Interactive SSH, remote command exec, and SCP passthrough. Port 22.
Full SMTP MTA (port 25/587) + IMAP4rev1 server (port 993). DKIM signing, STARTTLS, mail queue with retry, Maildir storage.
WebSocket-to-TCP bridge replacing Python websockify. SHA-1 handshake, token routing, epoll event loop. Up to 256 connections. Port 6080.
SMTP client via libcurl. Email queue with flush/list/clear. HTML and plaintext body, STARTTLS and SSL modes. Port 587.
Model Context Protocol client. JSON-RPC 2.0 over stdio to server subprocesses. Tool discovery, allow/deny glob patterns. Up to 512 tools.
Session event telemetry via HTTPS POST. Fire-and-forget design. Auto-detects git branch, project name, and machine metadata. Port 443.
Spaceship.dev DNS API CLI. List, add, and remove DNS records programmatically. DNS propagation checking. Port 443.
| Component | Port | Protocol | Type |
|---|---|---|---|
| scorpiox-dns | 53 | DNS (UDP+TCP) | Server |
| scorpiox-frp | 7000 | FRP/TCP/TLS | Tunnel |
| scorpiox-beam | 9876 | TCP | Transfer |
| scorpiox-traffic | 8899 | HTTP/HTTPS | Proxy |
| scorpiox-sshpass | 22 | SSH/SCP | Client |
| scorpiox-host | 7432 | HTTP | Server |
| scorpiox-server | 8080 | HTTP | Server |
| scorpiox-server-email | 25/587/993 | SMTP/IMAP | Server |
| scorpiox-ws2tcp | 6080 | WebSocket/TCP | Proxy |
| scorpiox-email | 587 | SMTP/TLS | Client |
| scorpiox-mcp | stdio | JSON-RPC 2.0 | Client |
| scorpiox-emit-session | 443 | HTTPS | Client |
| scorpiox-spaceship-cli | 443 | HTTPS/DNS | Client |