30 open-source projects similar to terry-mao/goim, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
This project is a self-hosted, cross-platform instant messaging platform featuring a Go backend and a protobuf-based messaging server. It provides a unified communication suite with native clients for iOS, Android, and web, utilizing gRPC and Protocol Buffers for efficient data exchange. The system is distinguished by an extensible chatbot framework that allows for the integration of automated bots and plugins via standardized service interfaces. It supports high-availability clustering with sharded load distribution and a pluggable database backend to ensure reliability and flexible data per
Janus is a WebRTC media gateway that routes real-time audio, video, and data between web browsers and server-side application logic. It functions as a central media relay that manages session negotiation and encryption for multiple browser endpoints. The project utilizes a modular plugin architecture that decouples the core server from specific media logic, allowing developers to implement custom modules for media processing, event handling, and transport protocols. This design enables the server to act as a protocol translation bridge, converting WebRTC streams into legacy formats such as SI
Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a publish-subscribe message broker, and a language-agnostic WebSocket gateway. It allows for the delivery of instant messages and data streams to concurrent users via WebSockets and Server-Sent Events. The system functions as a communication layer that separates network transport from backend business logic. It supports distributed messaging clusters using Redis for coordination of presence and message delivery across multiple server nodes. The project covers channel subscription m
Cim is a distributed instant messaging system and server-side backend designed to manage real-time communication across a cluster of servers. It provides a scalable infrastructure for routing private and group messages while tracking user connection states and session locations across distributed nodes. The project features an interception layer for AI messaging middleware, which allows artificial intelligence agents to intercept incoming communication and generate automated responses. It also includes a real-time push infrastructure to deliver notifications and messages from the server to en
Highly scalable realtime pub/sub and RPC framework
MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and exchange data via the MQTT protocol. It provides a broker interface for publishing and subscribing to topics, and includes a command-line interface for interacting with brokers without writing code. The library supports multiple network layers, including TCP, TLS, and WebSockets, and allows for custom WebSocket construction and transport injection to handle specific headers or subprotocols. It implements bandwidth reduction through topic aliasing, which replaces repetitive topic str
Gotify is a self-hosted notification server designed to centralize the receipt and dispatch of real-time messages. It provides a RESTful API and a WebSocket gateway, allowing users to programmatically send alerts and push notifications to connected clients. By maintaining a private infrastructure, the platform ensures full control over message history, data retention, and access management. The system distinguishes itself through a modular, plugin-based architecture that allows for the extension of core functionality, including custom HTTP endpoints and webhook event processing. It supports g
This project is a Node.js WebSocket library that provides a high-performance client and server implementation for the WebSocket protocol. It functions as a transport layer for real-time bidirectional communication, supporting both UTF-8 strings and binary data transport through the use of TCP socket wrappers. The library enables the creation of WebSocket servers that manage full-duplex connections and broadcast messages to multiple clients, as well as WebSocket clients that establish persistent links to remote servers. It handles the protocol upgrade process via TCP-based handshake negotiatio
Web3.py is a Python library that provides a comprehensive interface for interacting with the Ethereum blockchain. It functions as a JSON-RPC client, allowing applications to connect to blockchain nodes via HTTP, WebSocket, or IPC to read network state and send transactions. The library includes a dedicated smart contract interface that uses Application Binary Interface definitions to deploy contracts and execute on-chain functions. It also features a cryptography toolkit for signing transactions and hashing data with Keccak, alongside utilities for translating Ethereum Name Service domain nam
This project is a Python implementation of the Socket.IO bidirectional event protocol. It serves as a realtime communication framework designed for low-latency, event-driven data exchange between a server and multiple connected clients. The framework functions as a distributed message queue integrator, allowing communication to be synchronized across multiple server instances. It manages user sessions and client connections across distributed environments using a shared message queue for synchronization. The system provides capabilities for bidirectional event exchange, real-time state synch
This is a Python WebSocket client library designed to establish full-duplex, persistent network connections for real-time exchange of text and binary data. It functions as an asynchronous network client and a TCP socket wrapper, managing the complete lifecycle of a connection from the initial handshake to graceful closure. The implementation includes a secure WebSocket client that handles SSL/TLS encryption, certificate verification, and secure handshake protocols. It further distinguishes itself by supporting advanced connectivity options, including proxy routing via HTTP or SOCKS proxies an
iOS9AdaptationTips is a collection of technical strategies and guides for adapting mobile applications to the iOS 9 operating system. It serves as a development resource for implementing system integration, UI layout adaptations, and push notification configurations. The project provides specific guidance on flexible interface implementation, including support for split-screen modes, dynamic text scaling, and status bar configurations. It also covers the use of secure certificates and heartbeat signals to maintain persistent connection stability for push notifications. The material covers br
udp2raw is a network tunneling tool designed to bypass firewalls and obfuscate UDP traffic. It wraps UDP packets in alternative headers and utilizes raw socket networking to move data through networks that otherwise block or throttle UDP traffic. The project distinguishes itself by simulating TCP connections, mimicking the three-way handshake and sequence numbering to trick firewalls into treating UDP streams as TCP traffic. It further stabilizes these connections through heartbeat-driven port rotation, which automatically switches ports to recover sessions after detected failures. The tool
Stream-Framework is a Python library for building scalable activity streams, news feeds, and notification systems. It functions as an activity stream engine that manages the distribution, storage, and retrieval of chronological event streams for large user bases. The framework utilizes a combination of Cassandra and Redis to provide a scalable feed architecture, employing in-memory caching for low-latency retrieval and distributed storage for high availability. It features an asynchronous fan-out mechanism to distribute activities to multiple follower feeds and a real-time synchronization lay
Katran is an eBPF-based Layer 4 load balancer designed for high-performance network packet forwarding directly within the Linux kernel. It utilizes an XDP network packet processor to bypass the standard kernel network stack, minimizing latency and maximizing throughput for incoming traffic. The system implements weighted consistent hashing to distribute network loads and maintain session persistence across backend servers. It further optimizes the return path through a direct server return gateway, which allows backends to respond directly to clients and removes the load balancer from the out
Melody is a WebSocket server framework designed to upgrade HTTP connections into bidirectional streams. It functions as a session manager and binary streaming library that facilitates real-time data exchange between a server and multiple remote clients. The project features a broadcast engine that optimizes multi-client transmissions through wire-representation caching. It includes a dedicated session management system for attaching custom state to persistent network connections and an upgrade handler that validates handshake headers. The framework covers broad capability areas including eve
go2rtc is a media streaming server that functions as a protocol-agnostic gateway for video and audio feeds. It ingests media from diverse sources and redistributes them across multiple streaming standards, enabling compatibility between proprietary camera hardware and web-based playback clients. The system utilizes a centralized configuration schema to manage stream routing and lifecycle orchestration based on client demand. The platform distinguishes itself through its focus on low-latency delivery, utilizing peer-to-peer connections to facilitate sub-second playback directly within web brow
This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket framework. It allows for the creation of network services and the consumption of remote APIs without requiring a separate compilation step or external binary linking. The project features backend-agnostic TLS integration for secure HTTPS and WSS communication and employs a thread-pool model to process concurrent requests. It distinguishes itself with a full-duplex WebSocket state-machine and a middleware-based request pipeline that supports regular-expression path routing. The libr
Fabio is a network gateway that provides reverse proxying, layer 7 traffic management, and automated service discovery mapping. It functions as an HTTP reverse proxy, a gRPC and TCP proxy, and a service discovery gateway to route incoming traffic to healthy backend instances. The project distinguishes itself through deep integration with service registries, specifically acting as a Consul load balancer to automatically synchronize routing tables and update destination targets. It manages diverse traffic types using SNI-based routing for raw TCP streams and maintains full protocol compatibilit
This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It provides structured guides, roadmaps, and curricula focused on data structures, algorithms, system design, and frontend engineering to help candidates prepare for software engineering screenings. The repository distinguishes itself by offering a holistic approach to professional advancement. Beyond technical drills, it includes a career development handbook covering resume optimization, salary benchmarking, and strategic negotiation coaching. It also provides detailed methodologie
Berty is a peer-to-peer messaging application and framework designed for decentralized private messaging. It utilizes a distributed identity protocol and a decentralized database to enable end-to-end encrypted communication without relying on central servers, phone numbers, or email addresses. The project distinguishes itself through an offline messaging framework that uses Bluetooth Low Energy and multicast DNS for local device discovery. This allows peers to establish direct connections and exchange messages without internet or cellular data, using QR codes for secure contact exchange. The
This project is a cross-platform implementation of the WebRTC standard, providing a comprehensive library for building real-time audio, video, and data communication applications. It functions as a peer-to-peer networking framework and media processing engine, enabling direct, low-latency connections between devices without relying on central servers. By strictly adhering to official protocol specifications, the library ensures interoperability with browsers and other native communication software across mobile, desktop, and server environments. The engine distinguishes itself through a modul
This project is an end-to-end encrypted communication client designed for secure messaging and identity management using public-key cryptography. It provides a cryptographic identity manager to verify authenticity across platforms and integrates a local messaging daemon to synchronize encrypted data and handle network communication. The system features a remote encrypted file system that mounts encrypted storage as local directories for direct file interaction. It also includes automated identity provisioning for registering and authenticating new devices and automation bots using cryptograph
Pipecat is a framework and software development kit for building real-time multimodal AI agents and speech-to-speech systems. It utilizes a frame-based data pipeline to route audio, video, and text through a modular sequence of processors, enabling the orchestration of low-latency conversational AI. The project is distinguished by its ability to coordinate complex multimodal services, including speech-to-text, language models, and text-to-speech, within a single pipeline. It features semantic voice activity detection for natural turn-taking, state-machine conversation flows for dialogue manag
FastMCP is a Python framework designed for building servers that expose functions, resources, and prompts to AI models using the Model Context Protocol. It simplifies the development process by automatically deriving tool metadata, input schemas, and documentation directly from Python function signatures and type hints. The framework provides a unified container for managing these components, allowing developers to build modular applications that integrate seamlessly with AI assistants. The project distinguishes itself through its support for interactive, server-defined user interface compone
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
Gorush is a dedicated notification dispatch server used to send real-time alerts to iOS and Android mobile devices. It functions as a centralized infrastructure for hosting a notification API and managing the delivery of push messages through high-throughput queuing. The system supports both gRPC streams and HTTP endpoints to receive notification triggers and includes a command-line interface for triggering alerts without a running server process. It manages network traffic through proxy routing via HTTP or SOCKS5 and secures server communication using automated TLS certificate management. O
reconnecting-websocket is a JavaScript utility that wraps the standard WebSocket API to provide automatic reconnection and session management. It functions as a decorator for WebSocket instances, ensuring that dropped network connections are restored to maintain continuous real-time data streaming. The library implements an API-compatible wrapper, allowing it to be integrated into existing projects without requiring changes to the underlying code. It utilizes exponential backoff polling to schedule reconnection attempts at increasing intervals and provides a mechanism to force a manual connec
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 expira
SocketRocket is an Objective-C WebSocket client library designed to establish bidirectional real-time communication channels between an application and a server. It provides a networking layer for real-time data streaming, utilizing a heartbeat monitor to maintain the stability of active network streams. The library is built to operate across restricted networks by routing traffic through HTTP proxies. It secures data transmission using TLS encryption and SSL certificate pinning to prevent unauthorized interception of network traffic. Its underlying capabilities include low-level TCP socket