crustum/blazecast
Self-hosted WebSocket server for CakePHP applications
Maintainers
Requires
- php: >=8.2
- cakephp/cakephp: ^5.2
- clue/redis-react: ^2.6
- crustum/plugin-manifest: ^1.0
- firebase/php-jwt: ^6.11
- guzzlehttp/psr7: ^2.6
- pusher/pusher-php-server: ^7.2
- ratchet/rfc6455: ^0.4
- react/async: ^4.3
- react/promise-timer: ^1.10
- react/socket: ^1.14
- skie/rhythm: ^1.0
- skie/signal_handler: ^1.0
- symfony/config: ^7.0
- symfony/http-foundation: ^6.0
- symfony/routing: ^7.3
Requires (Dev)
- cakephp/bake: ^3.0
- cakephp/cakephp-codesniffer: ^5.0
- phpunit/phpunit: ^10.5
- ratchet/pawl: ^0.4
- react/http: ^1.7
- skie/rhythm: ^1.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT 6b598d9735eb84f1f7e8e5f02a2ca9d3c0fccd12
README
The BlazeCast plugin provides a self-hosted WebSocket server for CakePHP applications using the Pusher protocol, enabling real-time bidirectional communication between your server and connected clients.
BlazeCast enables real-time communication between your CakePHP application and connected clients through WebSocket connections. The plugin supports public channels for open communication, private channels for authenticated users, and presence channels for tracking active users in real-time.
The plugin implements the Pusher protocol, making it compatible with Pusher JavaScript libraries and other Pusher-compatible clients. It includes a built-in WebSocket server, channel authorization system, Redis PubSub for horizontal scaling, rate limiting, and comprehensive logging capabilities.
The plugin integrates seamlessly with CakePHP's event system and provides command line tools for running the WebSocket server and managing connections.
Requirements
- PHP 8.2+
- CakePHP 5.2+
See Versions.md for the supported CakePHP versions.
Documentation
For documentation, as well as tutorials, see the docs directory of this repository.
License
Licensed under the MIT License. Redistributions of the source code included in this repository must retain the copyright notice found in each file.
