# mpusher/mpush

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mpusher-mpush).**

3,772 stars · 1,441 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/mpusher/mpush
- Homepage: https://mpusher.github.io
- awesome-repositories: https://awesome-repositories.com/repository/mpusher-mpush.md

## Topics

`android` `im` `java` `netty` `push` `tcp-ip`

## Description

Mpush is a real-time message push system and encrypted messaging gateway designed to deliver instant notifications to mobile and web clients. It functions as a session management service and a network traffic controller, utilizing persistent network connections to ensure updates reach users without manual screen refreshing.

The system includes an HTTP reverse proxy that routes external domain requests to internal IP addresses with integrated connection timeout management. It maintains communication stability through a persistent session manager that tracks client heartbeats and session expirations to handle rapid reconnections.

To maintain system stability and protect data, the project implements read and write traffic throttling to prevent network congestion. It also secures the transmission of sensitive real-time data using industry-standard symmetric key encryption.

## Tags

### Networking & Communication

- [Persistent Socket Listeners](https://awesome-repositories.com/f/networking-communication/nat-traversal-mechanisms/keep-alive-signaling/http-keep-alive-connections/persistent-socket-listeners.md) — Delivers instant updates via persistent network sockets for immediate data transmission without polling.
- [Real-Time Message Push](https://awesome-repositories.com/f/networking-communication/real-time-message-push.md) — Implements a system for pushing instant updates and notifications to mobile and web clients via persistent connections.
- [Real-Time](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-services/notification-delivery-services/push-notification-providers/real-time.md) — Delivers real-time notifications using persistent network connections for immediate delivery to mobile and web clients. ([source](https://cdn.jsdelivr.net/gh/mpusher/mpush@master/README.md))
- [Real-time Notification Broadcasters](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/real-time-notification-broadcasters.md) — Pushes real-time alerts and updates to users via persistent connections. ([source](http://mpush.mydoc.io))
- [Client Session Management](https://awesome-repositories.com/f/networking-communication/network-reliability-diagnostics/connection-session-management/client-session-management.md) — Tracks connection heartbeats and expiration times to maintain state during rapid client reconnections. ([source](https://cdn.jsdelivr.net/gh/mpusher/mpush@master/README.md))
- [Session State Management](https://awesome-repositories.com/f/networking-communication/session-state-management.md) — Manages session state and synchronization between clients and servers over persistent connections using heartbeats.
- [Connection State Management](https://awesome-repositories.com/f/networking-communication/tcp-connection-lifecycles/connection-state-management.md) — Tracks heartbeats and session timers to maintain connectivity and handle rapid reconnections without state loss.
- [Request Proxying](https://awesome-repositories.com/f/networking-communication/domain-to-ip-mappings/request-proxying.md) — Routes external domain requests to internal IP addresses while managing timeouts for backend stability.
- [Reverse Proxying](https://awesome-repositories.com/f/networking-communication/domain-to-ip-mappings/reverse-proxying.md) — Implements an HTTP reverse proxy that forwards domain requests to internal IP addresses.
- [HTTP Request Forwarders](https://awesome-repositories.com/f/networking-communication/http-proxies/proxy-request-routers/http-request-forwarders.md) — Forwards incoming HTTP requests from external domains to internal server addresses. ([source](https://cdn.jsdelivr.net/gh/mpusher/mpush@master/README.md))
- [HTTP Reverse Proxies](https://awesome-repositories.com/f/networking-communication/http-reverse-proxies.md) — Ships an HTTP reverse proxy that routes external domain requests to internal IP addresses with timeout management.
- [Network Traffic Management](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-traffic-management.md) — Applies read and write constraints to server components to prevent network congestion. ([source](https://cdn.jsdelivr.net/gh/mpusher/mpush@master/README.md))
- [Network Traffic Controllers](https://awesome-repositories.com/f/networking-communication/network-traffic-controllers.md) — Manages packet flow and enforces connectivity rules to prevent network congestion.
- [Domain-Based Routing Proxies](https://awesome-repositories.com/f/networking-communication/request-proxies/url-routing-proxies/domain-based-routing-proxies.md) — Routes incoming requests to internal services based on domain names and host headers.

### DevOps & Infrastructure

- [Session Heartbeats](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/operational-observability-access/background-session-managers/session-heartbeats.md) — Monitors client connectivity using periodic heartbeat signals to manage session state and handle reconnections.
- [Traffic Throttling](https://awesome-repositories.com/f/devops-infrastructure/traffic-management/traffic-throttling.md) — Applies constraints to network I/O operations to prevent server congestion and maintain system stability.

### Security & Cryptography

- [Key-Based Data Encryption](https://awesome-repositories.com/f/security-cryptography/encryption-key-management/private-key-encryption/key-based-data-encryption.md) — Secures sensitive data transmission by encrypting messages using recognized cryptographic keys.
- [Messaging Session Persistence](https://awesome-repositories.com/f/security-cryptography/identity-access-management/session-management/stateful-session-persistence/messaging-session-persistence.md) — Maintains client connection state and delivery status to handle rapid reconnections and network interruptions.
- [Message Encryption](https://awesome-repositories.com/f/security-cryptography/message-encryption.md) — Provides a secure communication layer that encrypts messages to protect sensitive data during transmission.
- [Security and Access Control](https://awesome-repositories.com/f/security-cryptography/security-and-access-control.md) — Encrypts messages using standard keys to protect sensitive information from unauthorized access. ([source](https://cdn.jsdelivr.net/gh/mpusher/mpush@master/README.md))
- [Client Session Persistence](https://awesome-repositories.com/f/security-cryptography/session-persistence-strategies/client-session-persistence.md) — Tracks connection heartbeats and session states to ensure stable communication during rapid reconnections.
- [Symmetric Encryption](https://awesome-repositories.com/f/security-cryptography/symmetric-encryption.md) — Secures data transmission by encrypting payloads with industry-standard symmetric cryptographic keys.
- [Network Transmission Security](https://awesome-repositories.com/f/security-cryptography/network-transmission-security.md) — Secures the transmission of real-time notifications using industry-standard encryption to protect sensitive data.

### Operating Systems & Systems Programming

- [I/O Throttling](https://awesome-repositories.com/f/operating-systems-systems-programming/network-socket-i-o/i-o-throttling.md) — Prevents server congestion by applying read and write constraints to network operations.
