# Magic Socket documentation > Magic Socket brings real-time broadcasting to Magic apps: public, private and presence channels over a Reverb driver. ## Getting Started - [Installation](https://anilcancakir.com/magic/docs/socket/getting-started/installation.md): Add magic_socket to a Magic app, register its provider and config, and check that Echo resolves a driver. ## The Basics - [Configuration](https://anilcancakir.com/magic/docs/socket/basics/configuration.md): Pick the broadcast connection with .env, tune the Reverb driver and understand the X-Socket-ID header the provider adds. - [Channels](https://anilcancakir.com/magic/docs/socket/basics/channels.md): Subscribe to public, private and presence channels through the Echo facade and react to the events they deliver. - [Listeners](https://anilcancakir.com/magic/docs/socket/basics/listeners.md): Share one private channel between controllers with BroadcastListeners and the ListensToBroadcasts mixin, and keep an auth-scoped channel in sync with… ## Guides - [Connection](https://anilcancakir.com/magic/docs/socket/guides/connection.md): How the Reverb driver connects, reconnects, authorises channels and detects a dead socket, and which settings change that. - [Extending](https://anilcancakir.com/magic/docs/socket/guides/extending.md): Hook into the driver message pipeline with a BroadcastInterceptor and register a custom driver with BroadcastManager.extend. - [Testing](https://anilcancakir.com/magic/docs/socket/guides/testing.md): Test code that subscribes to channels with Echo.fake, assert subscriptions and handlers, and deliver events with no server and no mocking library. ## Optional - [Magic Socket](https://anilcancakir.com/magic/socket): the package landing page - [Full documentation](https://anilcancakir.com/magic/docs/socket/llms-full.txt): every page in one file