Bananas is a peer-to-peer screen sharing application that uses WebRTC to establish direct browser-to-browser connections, enabling real-time screen sharing without routing data through a central server. The application assigns ephemeral identity tokens tied only to session IDs, eliminating the need for user accounts or persistent login systems, and generates unique alphanumeric session URLs for one-click joining.
The application distinguishes itself through collaborative multi-cursor overlays, where each participant's cursor is rendered as an HTML5 Canvas layer composited over the shared screen stream, and remote users can highlight areas with visible ping markers. It supports cross-platform screen sharing across Mac, Windows, and Linux, allows toggling participant cursor visibility during live sessions, and leverages the browser's getDisplayMedia API to enumerate multiple displays for the host to select which to broadcast.
The application manages session lifecycle through a lightweight WebSocket signaling server that exchanges session metadata and ICE candidates before peer-to-peer links form, and serialises mouse coordinates and ping events as JSON messages over the data channel for real-time remote rendering. It is available for installation on macOS via a single Homebrew cask command.