Aeolus - God of the winds, delivering messages at lightning speed.
Generalized WebSocket server with Redis authentication for real-time communication.
- Redis-based authentication
- Channel management (rooms)
- Broadcasting with sender exclusion
- Typing indicators
- Python async/await with python-socketio
uv sync
cp .env.example .envPORT=3000
REDIS_URL=redis://localhost:6379
CORS_ORIGIN=*
AUTH_TOKEN_PREFIX=tc2:socket:authStore auth tokens in Redis:
Key: {AUTH_TOKEN_PREFIX}:{token}
Value: JSON with userId, sessionId, etc.
uv run python server.pychannel:init- Initialize channelchannel:join- Join channelchannel:leave- Leave channelmessage:send- Send messagebroadcast- Broadcast eventtyping:start/typing:stop- Typing indicators
channel:initialized- Channel createdchannel:joined- Joined confirmationuser:joined- User joined channeluser:left- User left channelmessage:received- Message receivedtyping:user- User typing status