awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
peers avatar

peers/peerjs-server

0
View on GitHub↗
4,684 stars·1,129 forks·TypeScript·MIT·13 viewspeerjs.com↗

Peerjs Server

PeerJS Server is a WebRTC signaling server and connection broker that coordinates handshakes between clients to establish direct peer-to-peer connections. It functions as a coordination point for discovering peer identifiers and initiating real-time media and data streams between remote browser clients.

The project can be deployed as a dedicated signaling server or integrated as Node.js middleware within an existing web application to share a single network port. It manages the lifecycle of peer connections through a centralized signaling process, assigning unique identifiers to clients and monitoring session states.

The server provides capabilities for peer discovery, data channel establishment, and media call initiation. It includes security and traffic management features such as API key authentication, SSL/TLS traffic encryption, and the ability to cap maximum concurrent connections.

Features

  • Signaling Servers - Provides a dedicated signaling server to coordinate handshakes and discover peer identifiers for WebRTC connections.
  • Peer Connection Management - Manages the full lifecycle of peer connections, including registration, disconnection, and session state monitoring.
  • Peer-to-Peer Data Exchange - Facilitates the direct exchange of raw data packets and files between browsers using unique client identifiers.
  • Data Channel Establishment - Enables the negotiation and establishment of peer-to-peer data channels for real-time binary or text exchange.
  • Peer Discovery - Manages the discovery of other peers and the signaling handshake required to enable direct communication.
  • Peer Connection Brokers - Acts as a connection broker by assigning unique identifiers and facilitating peer discovery.
  • Peer-to-Peer Media Libraries - Establishes direct peer-to-peer audio and video calls between clients without routing media through a central server.
  • Media Call Initiation - Facilitates connecting to a remote peer via a unique identifier to establish a real-time media stream.
  • Real-Time Message Push - Utilizes persistent WebSocket connections to push real-time signaling events and connection requests to clients.
  • Signaling Session Management - Manages IP addresses and client IDs in temporary memory to coordinate connections and purge inactive sessions.
  • Signaling Coordination - Provides the signaling coordination required to exchange session descriptions and network candidates for WebRTC peer connectivity.
  • WebRTC Session Management - Manages the complete lifecycle of WebRTC sessions, including identity generation, signaling, and session monitoring.
  • WebRTC Facilitators - Provides the signaling infrastructure necessary to facilitate real-time audio, video, and screen-sharing sessions between browsers.
  • In-Memory State Stores - Maintains an in-memory state store of active client identifiers and network addresses for fast connection routing.
  • Peer Identifier Generation - Supports the creation of unique identifiers for connecting clients using random strings or custom functions.
  • Peer Connection Monitoring - Triggers events upon peer connection and disconnection to monitor the active session state.
  • Peer Identifier Listings - Provides the ability to retrieve a list of all currently connected peer identifiers to discover available clients.
  • Discovery Server Hosting - Provides the capability to run a dedicated server to host the peer discovery registry and coordinate handshakes.
  • Signaling Middleware - Embedding PeerJS signaling logic into an existing web application as middleware to share a single network port.
  • API Key Authentication - Requires clients to provide a specific API key during the connection process to prevent unauthorized access.
  • Connection Key Restrictions - Implements key-based access control to restrict unauthorized clients from using the signaling service.
  • Server Access Controls - Restricts method calls using required connection keys and manages cross-origin resource sharing policies.
  • TLS Traffic Encryption - Supports encrypting communication using SSL certificates and keys to enable secure HTTPS connections.
  • Registry Heartbeat Monitoring - Uses periodic heartbeats to monitor peer connectivity and automatically purge inactive entries from the registration registry.
  • Embedded Web Servers - Supports embedding the signaling server logic directly into larger application processes with custom request paths.
  • Middleware Server Integrations - Allows the signaling server to be integrated as middleware within existing Node.js HTTP servers.
  • Node.js Signaling Components - Ships as a Node.js backend component that can be mounted within existing applications to handle peer sessions.

Star history

Star history chart for peers/peerjs-serverStar history chart for peers/peerjs-server

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Peerjs Server

Similar open-source projects, ranked by how many features they share with Peerjs Server.
  • webrtc/apprtcwebrtc avatar

    webrtc/apprtc

    4,228View on GitHub↗

    apprtc is a WebRTC video chat application and signaling server designed to establish peer-to-peer audio and video communication between browsers. It provides a coordination layer using a websocket-based signaling server to exchange session descriptions and network candidates. The project is delivered as a dockerized communication app, allowing for a containerized deployment of the calling service for local development or cloud hosting. It includes a network gateway that integrates STUN and TURN servers to facilitate media flow through firewalls and NATs. The implementation covers peer discov

    JavaScript
    View on GitHub↗4,228
  • anacrolix/torrentanacrolix avatar

    anacrolix/torrent

    6,041View on GitHub↗

    This project is a full-featured BitTorrent client library and protocol implementation. It provides the core components necessary for peer-to-peer file sharing, including a networking stack that supports the BitTorrent specification, tracker communication, and swarm management. A primary differentiator is the inclusion of a virtual filesystem that allows torrents to be mounted as read-only drives. This system enables on-demand content streaming, where specific data pieces are fetched from the network only when a read request occurs, rather than requiring the entire archive to be downloaded fir

    Gobittorrentgomagnet-link
    View on GitHub↗6,041
  • steveseguin/vdo.ninjasteveseguin avatar

    steveseguin/vdo.ninja

    3,910View on GitHub↗

    VDO.Ninja is a low-latency peer-to-peer media routing service and video streaming platform designed to integrate remote audio and video feeds into professional production workflows. It functions as a WebRTC broadcast integration tool and studio controller, allowing for the direct transmission of high-definition media between publishers and viewers with minimal delay. The platform distinguishes itself through extensive protocol bridging, converting between WebRTC, WHIP, WHEP, SRT, and RTMP to ensure compatibility across diverse network environments and professional studio software. It includes

    JavaScriptlivelow-latencyninja
    View on GitHub↗3,910
  • simplewebrtc/simplewebrtcsimplewebrtc avatar

    simplewebrtc/SimpleWebRTC

    4,689View on GitHub↗

    SimpleWebRTC is a communication framework and real-time media streaming library designed to establish peer-to-peer audio, video, and data streams between web clients. It provides a conference room manager to organize multiple participants into virtual rooms for group interaction. The framework includes a dedicated system for peer-to-peer file transfers and low-latency data messaging. It also features a network traversal configuration tool for managing the servers required to maintain connectivity across firewalls and restrictive network environments. The project covers broad capability areas

    JavaScript
    View on GitHub↗4,689
See all 30 alternatives to Peerjs Server→

Frequently asked questions

What does peers/peerjs-server do?

PeerJS Server is a WebRTC signaling server and connection broker that coordinates handshakes between clients to establish direct peer-to-peer connections. It functions as a coordination point for discovering peer identifiers and initiating real-time media and data streams between remote browser clients.

What are the main features of peers/peerjs-server?

The main features of peers/peerjs-server are: Signaling Servers, Peer Connection Management, Peer-to-Peer Data Exchange, Data Channel Establishment, Peer Discovery, Peer Connection Brokers, Peer-to-Peer Media Libraries, Media Call Initiation.

What are some open-source alternatives to peers/peerjs-server?

Open-source alternatives to peers/peerjs-server include: webrtc/apprtc — apprtc is a WebRTC video chat application and signaling server designed to establish peer-to-peer audio and video… anacrolix/torrent — This project is a full-featured BitTorrent client library and protocol implementation. It provides the core components… steveseguin/vdo.ninja — VDO.Ninja is a low-latency peer-to-peer media routing service and video streaming platform designed to integrate… simplewebrtc/simplewebrtc — SimpleWebRTC is a communication framework and real-time media streaming library designed to establish peer-to-peer… schlagmichdoch/pairdrop — PairDrop is a cross-platform file sharing application and web-based tool for peer-to-peer data exchange. It enables… miroslavpejic85/mirotalk — Mirotalk is a self-hosted video conferencing platform and peer-to-peer communication server. It utilizes WebRTC for…