50 مستودعات
Tools for defining and implementing specialized binary or text-based network protocols.
Distinguishing note: Focuses on the creation of custom communication layers.
Explore 50 awesome GitHub repositories matching networking & communication · Custom Protocol Implementations. Refine with filters or upvote what's useful.
Netty is an asynchronous network framework designed for building scalable protocol servers and clients. It utilizes an event-driven reactor pattern and a non-blocking input/output model to decouple connection handling from application logic, allowing for the development of responsive network services that manage high volumes of concurrent connections. The framework distinguishes itself through a modular pipeline-based processing chain that enables the implementation of custom binary or text-based protocols. It provides a pluggable transport abstraction that allows developers to switch between
Enables the development of specialized binary or text-based communication protocols.
k6 is a developer-centric load testing suite and command-line load generator designed for network performance validation. It functions as a JavaScript load testing tool that utilizes a Go-based runtime engine to simulate concurrent user traffic and validate API responses across HTTP, gRPC, and WebSockets. The project distinguishes itself by using code rather than a graphical interface to define workload scenarios and performance thresholds. It features a pluggable protocol architecture and an extension ecosystem that allows for the addition of custom protocols and specialized testing capabili
Allows adding new protocols and custom capabilities through a plugin system to test non-standard communication interfaces.
k6 is a performance testing framework used to measure the scalability and stability of network services and APIs. It functions as a JavaScript load testing tool that uses a Go engine to simulate concurrent user traffic. The tool enables the enforcement of service level objectives by comparing response time percentiles against quantitative performance thresholds. It also operates as a performance regression tool for continuous integration pipelines and a browser performance testing tool that executes scripts within a bundled headless browser instance. Its capabilities cover workload scenario
Allows developers to implement custom binary or text-based network protocols to extend the engine.
Seata is a distributed transaction coordinator designed to ensure data consistency and atomicity across microservices. It provides a centralized framework for managing global transactions, preventing partial data updates across different databases and services. The project implements multiple transaction modes to balance consistency and performance. This includes an automatic mode that uses rollback logs to coordinate compensation without modifying business logic, a try-confirm-cancel pattern for resources lacking native ACID support, and a saga orchestration engine for managing long-lived bu
Allows the definition of custom prepare, commit, and rollback logic for resources lacking native ACID support.
Tornado is a Python web framework and asynchronous networking library used to build scalable web applications and high-performance servers. It provides a non-blocking HTTP server capable of handling thousands of simultaneous connections. The project functions as a WebSocket server framework, enabling real-time bidirectional communication and persistent connections between clients and servers. It supports the implementation of custom networking protocols and high-performance networking services beyond standard HTTP. Its capabilities cover asynchronous web application development, concurrent A
Provides low-level stream interfaces to implement custom binary or text-based network protocols.
StatsD is a metrics aggregator and UDP collection server that collects system counters and timers. It functions as a time-series data forwarder, receiving high-frequency metric updates via a lightweight line protocol and summarizing them before flushing the data to a backend. The project features a pluggable metrics backend framework, allowing aggregated statistics to be routed to various third-party monitoring services or time-series databases such as Graphite. It supports horizontal scaling and high availability through a proxy ring distribution system that forwards incoming packets across
Provides a standard interface for integrating custom protocols to receive external metric data.
brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio
Allows registering custom parsing, serialization, and processing functions to support new communication formats.
Impacket is a Python network protocol library and packet crafting framework used for constructing, modifying, and sending raw network packets. It functions as a network protocol manipulation toolkit that allows for the implementation of communication protocols through structured object models. The project provides a Windows network security toolkit specifically designed for interacting with Active Directory and SMB services. It enables network security testing and auditing of Windows environments by executing authentication sequences using passwords, hashes, tickets, or security keys. The li
Enables the definition and implementation of specialized binary or text-based network protocols.
Telethon is a Python asynchronous API wrapper and client library designed for interacting with the Telegram API. It implements the MTProto protocol to enable programmatic communication for both user accounts and bots. The project serves as a development framework for building custom Telegram clients and automating account actions. It provides the tooling necessary to create automated bots that manage group interactions and channel communications. The library supports messaging data integration and the automation of messaging workflows. It handles the translation of high-level calls into the
Implements the MTProto protocol to enable programmatic communication with Telegram servers.
Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build high-concurrency network servers, including an asynchronous TCP framework, a coroutine library for task management, and dedicated implementations for HTTP and WebSocket servers. The project enables the development of specialized network services using custom frame-based communication protocols. It supports both inbound concurrent server implementation and asynchronous outbound connectivity to remote services. The framework covers a broad range of network programming capabili
Enables the development of specialized network services using custom frame-based communication protocols.
gnet هو إطار عمل شبكي عالي الأداء يعتمد على الأحداث (event-driven) ومصمم للغة Go، مخصص لبناء خوادم TCP وUDP وUnix socket قابلة للتوسع. يعمل كمدير مآخذ (socket manager) غير محظور ومحرك شبكة متعدد المفاعلات (multi-reactor) يتعامل مع آلاف الاتصالات المتزامنة باستهلاك منخفض للذاكرة. يتميز إطار العمل باستخدام بنية متعددة المفاعلات توزع عمليات الإدخال/الإخراج (I/O) عبر حلقات أحداث متعددة مرتبطة بخيوط معالجة (threads) نظام التشغيل لتقليل تبديل السياق. كما يستخدم تقنية الاستطلاع المعتمد على الحواف (edge-triggered polling) لتقليل تكرار استدعاءات النظام، ويستفيد من مخازن مؤقتة دائرية مرنة لتقليل تكاليف التخصيص وضغط جمع القمامة (garbage collection). تغطي المكتبة مجموعة واسعة من قدرات الشبكات، بما في ذلك توزيع الاتصالات المتوازن عبر أنوية المعالج، وتنفيذ المهام غير المتزامنة عبر مجموعات العمال (worker pools)، ونظام منظم لإدارة دورة حياة الاتصال. كما توفر أدوات أساسية لتنفيذ بروتوكولات ثنائية مخصصة وإدارة خيارات المآخذ منخفضة المستوى.
Provides primitives for designing and implementing custom application-specific binary communication protocols.
This repository provides a collection of interactive sample applications and reference implementations for the Electron framework. It serves as a library of API reference demos designed to help developers learn how to implement core desktop features. The project features visual demonstrations of cross-platform GUI management and practical examples of native operating system integration. It includes dedicated samples for handling native modules, crash reports, and the configuration of security implementations such as content security policies and process sandboxing. The codebase covers a broa
Demonstrates how to intercept network requests to serve local assets through secure custom protocols.
Telegram-iOS is a native mobile application for sending and receiving real-time messages. It serves as a cross-platform messaging client developed specifically for iOS to provide a high-performance chatting and file-sharing experience. The application is built as an MTProto communication client, utilizing this specific protocol for the secure and fast delivery of encrypted data. It synchronizes conversations and media across multiple devices using a centralized cloud server. The client implements a range of communication and architectural capabilities, including asynchronous message queuing,
Implements the MTProto binary protocol for secure, encrypted, and efficient transport of messaging data.
Swift NIO is a low-level, event-driven network framework for the Swift language. It serves as an asynchronous network protocol stack and I/O library designed to build high-performance network servers and clients that handle thousands of simultaneous connections. The framework functions as a high-concurrency network engine that dispatches events across multiple CPU cores. It enables the implementation of custom network protocols by processing raw bytes through a sequence of reusable data transformation handlers. The system provides capabilities for non-blocking I/O multiplexing, asynchronous
Provides a toolkit for implementing specialized binary or text-based custom network protocols.
Webogram is an open-source web application that connects to the Telegram messaging platform, enabling users to send and receive messages directly through a web browser without installing native desktop or mobile applications. It implements Telegram's custom cryptographic protocol for secure client-server communication over WebSocket and HTTP long polling. The project can be deployed as a self-hosted instance by building a minimized production version for copying to a personal or organizational web server. It also supports packaging as a Chrome extension for offline use and browser integration
Implements Telegram's MTProto cryptographic protocol for secure client-server communication over WebSocket and HTTP long polling.
tg-ws-proxy is a local proxy server and network tool designed to route Telegram traffic through WebSocket connections. It functions as a bridge that tunnels MTProto protocol traffic to bypass network restrictions and circumvent firewalls that block direct connections to messaging services. The project includes a system tray proxy manager that provides a desktop interface for controlling the server state. This manager allows for updating connection secrets, viewing server logs, and restarting services through a native OS desktop tray icon. The system supports establishing proxy connections vi
Implements the MTProto protocol to securely forward encrypted Telegram traffic between local clients and remote servers.
Snowflake هو إطار عمل RPC عالي التزامن وخدمة توليد معرفات موزعة. يوفر البنية التحتية لإنشاء معرفات فريدة ومرتبة زمنياً عبر شبكة من الخوادم ويسهل تطوير خدمات الشبكة المصممة للتعامل مع أحجام هائلة من الطلبات المتزامنة. يفصل النظام منطق النقل منخفض المستوى عن سلوك التطبيق، مما يسمح بتنفيذ بروتوكولات RPC مخصصة. يتضمن أداة تتبع الطلبات الموزعة لتصور تدفق التنفيذ عبر حدود الشبكة وواجهة إدارة دورة حياة الخادم لضبط مستويات التسجيل والتحكم في حالات العمليات أثناء وقت التشغيل. يغطي المشروع مراقبة النظام في الوقت الفعلي من خلال تصدير المقاييس القائمة على JSON وتوصيف أداء التطبيق لتحليل استخدام الذاكرة (heap) وتنافس الخيوط (thread contention).
Enables the creation of custom network protocols by separating transport logic from application behavior.
Hertz is a high-performance Go HTTP framework designed for building scalable microservices, RESTful APIs, and AI applications. It functions as a high-performance web server and a communication framework for microservices, utilizing non-blocking I/O and zero-copy memory management to handle high-concurrency traffic. The project distinguishes itself through a microservices communication toolkit that supports high-efficiency remote procedure calls via gRPC and Thrift protocols. It implements an asynchronous middleware engine based on an onion model, allowing for a pluggable request-response pipe
Provides a pluggable interface to register and implement custom communication protocols.
This project is a Telegram command line interface and MTProto client. It functions as a userbot framework, providing a terminal-based environment to interact with Telegram accounts without a graphical user interface. The system differentiates itself through extensibility, offering Python bindings and a Lua scripting engine to automate account tasks and respond to messages. It also serves as a JSON-based chat exporter, capable of extracting user metadata and conversation histories into structured files. The client covers core messaging capabilities, including text exchange, group chat managem
Implements the MTProto protocol to enable low-level communication with Telegram servers.
tdl is a command-line tool for Telegram account automation, media management, and data archiving. It provides a programmatic interface for downloading and uploading files, forwarding messages, and exporting chat history, member lists, and media into structured JSON files. The project distinguishes itself through a session management system that isolates multiple account identities using unique namespaces. It features expression-based routing for messages and uploads, allowing users to direct content to specific destination chats using custom logic and dynamic caption generation. The tool cov
Implements the MTProto binary protocol to maximize media download and upload speeds.