FoxyFy RTC

FoxyFy RTC

Tiny, fast, self-hosted WebRTC signaling

FoxyFy RTC (FFR) — WebRTC signaling without the baggage

FoxyFy RTC is a lightweight, self-hosted WebRTC signaling server designed to replace PeerJS Server and custom “room.php” hacks with a single, robust Go binary.

FFR speaks the PeerJS protocol, handles ID assignment and signaling over secure WebSockets, and integrates tightly with FoxyFy’s TURN/NAT core. The result: reliable WebRTC sessions, predictable reconnection, and clean infrastructure you can actually reason about.

FFR focuses on one job and does it extremely well:

  • Assign unique peer IDs to browsers using the PeerJS API.
  • Route WebRTC signaling messages (OFFER, ANSWER, CANDIDATE, etc.) between peers.
  • Maintain a tiny room registry so hosts and clients can find each other reliably.
  • Do all of the above over HTTPS/WSS with proper TLS and OCSP stapling.
{{brizy_dc_image_alt imageSrc=

Why FoxyFy?

Because FoxyFy RTC delivers exactly what your WebRTC stack needs: fast, predictable signaling without extra moving parts.

Because FoxyFy RTC delivers exactly what your WebRTC stack needs: fast, predictable signaling without extra moving parts.

Fast & lightweight

Single static Go binary (~2.2 MB packed), no dependencies, minimal RAM usage.

First-class TLS & OCSP

Uses the same certificate and OCSP infrastructure as FoxyFy Server and FastTURN.

Single self-contained binary

Install, configure, and run FFR like any other FoxyFy component — no Node, no NPM.

Detailed logging and error reports

Emoji-enabled logs with configurable log levels (debug, info, error) for clean troubleshooting.

Integrated room registry

Simple host/client room model with TTL and automatic cleanup. Ideal for 1:1 sessions.

PeerJS compatible

Works with peerjs.min.js 1.5.x. Drop-in replacement for the PeerJS signaling server.

Exclusive features — only on FoxyFy

Cutting-edge capabilities you won’t find anywhere else.

Hot reloadable

Config reload via signal (like other FoxyFy components) without full process restarts.

Single JSON config with diagnostics

Same config style as FFS/FFN/FFC — one JSON file, with helpful error output if something’s wrong.

Room TTL & auto-GC

Expired rooms and stale peers are cleaned automatically to keep memory footprint small and behavior predictable.

Tight TURN/STUN integration

Designed to pair with FoxyFy NAT Core & TURN (FFN) so you get signaling + media relay from one consistent stack.

Compare FoxyFy

FFR is designed as a drop-in replacement for the PeerJS signaling server — but with FoxyFy’s usual emphasis on minimal footprint and operational clarity.

Fail2ban installs a full Python stack, hundreds of config snippets, and a permanent daemon to police multiple services, layering complex filters and actions on top of your firewall. FoxyFy Ban is a focused, SSH-only banning layer that reads authentication logs directly and hands precise, time-bound blocks to nftables via FoxyFy Guard — delivering comparable SSH hardening with a fraction of the files, memory usage, and operational complexity.

PeerJS + Node.js + PM2
FoxyFy RTC
Package size (installed)

2.1 MB (PeerJS) + 80–200+ MB

2.2 MB (self-extracting)

Package files

15 (PeerJS) + 3,000–10,000+

2

RAM / boot time

≈ 158 MB

8.1 MB

Execution model

Node.js

GO binary

Package size & files — On-disk install (binary + configs + modules + core OS libs).

Instead of running a separate Node-based PeerJS server plus custom PHP room scripts, FoxyFy RTC bundles signaling and room matching into one binary. Less code, fewer services, and a cleaner, easier-to-debug WebRTC control plane.

{{brizy_dc_image_alt imageSrc=

Ready to FoxyFy?

FoxyFy RTC (FFR) ships as part of the FoxyFy NAT Core (FFN) & RTC stack. It’s included at no additional cost for FFN customers and can be deployed on the same nodes that already handle your TLS, HTTP, and media relay.

Run one binary, point your WebRTC apps at it, and your signaling layer is done.

FoxyFy Firewall

Only €0

Per month, inkl. VAT. 😉