12 repository-uri
Patterns for exchanging asynchronous and synchronous function calls between a client and a service.
Distinct from Synchronous Request-Response Loops: Candidates were too specific to blocking loops or HTTP transformers; this is a general SDK interaction pattern.
Explore 12 awesome GitHub repositories matching software engineering & architecture · Request-Response Exchanges. Refine with filters or upvote what's useful.
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
Configures DTLS-SRTP encryption to secure real-time media streams within WebRTC sessions.
This project is a cross-platform messaging SDK and client development library used to build custom Telegram applications. It functions as a comprehensive framework that manages network encryption, local data storage, and API communication, providing a C-compatible JSON interface that allows integration with any programming language. The library distinguishes itself by providing a full database manager for encrypted local caching and synchronized state, alongside a dedicated bot framework for creating interactive bots with business account integration. It enables the implementation of speciali
Implements the core mechanism for sending function calls to the service and receiving corresponding results or updates.
Mbed TLS is an open-source TLS and DTLS library with a small footprint, designed for embedded systems and IoT devices. It provides a portable cryptographic library that includes symmetric ciphers, hashing, and public-key cryptography, along with a reference implementation of the PSA Cryptography API for standardized cryptographic operations across platforms. The library also offers X.509 certificate management for parsing, validating, and managing certificate chains in secure communications. The library is built around a platform abstraction layer that decouples it from OS-specific services t
Supports full DTLS session management with handshake retransmission for unreliable transports.
Mbed TLS is a C library that provides a full implementation of the TLS and DTLS protocols for secure network communication, a library of fundamental cryptographic primitives, and a reference implementation of the PSA Cryptography API. It also includes libraries for parsing, validating, and managing X.509 digital certificates, as well as support for integrating hardware cryptoprocessors through the PSA Cryptoprocessor Driver Interface. The library is designed for resource-constrained environments and is built from source with a customizable feature set, allowing developers to select which TLS
Implements the DTLS protocol for secure communication over unreliable datagram transports.
rust-libp2p is a modular peer-to-peer networking library written in Rust, implementing the libp2p specification. It provides a composable stack of transport, security, and discovery protocols that can be mixed and matched to build decentralized applications, with a central swarm manager coordinating all active connections, protocol negotiation, and peer lifecycle. The library distinguishes itself through a pluggable transport abstraction that supports TCP, QUIC, WebSocket, WebRTC, and WebTransport, enabling cross-platform operation across browsers, mobile devices, and servers. It secures ever
Provides a request-response messaging protocol for exchanging messages over dedicated streams between peers.
OpenWeChat este un SDK și API wrapper pentru limbajul Go, conceput pentru integrarea mesageriei și gestionării conturilor WeChat în aplicațiile Go. Servește ca un framework de boți și bibliotecă de mesagerie pentru gestionarea evenimentelor de chat în timp real și a interacțiunilor programatice cu platforma. Proiectul oferă un sistem cuprinzător pentru gestionarea sesiunilor, inclusiv autentificarea prin cod QR și persistența cookie-urilor de sesiune în format JSON pentru a menține accesul după restartări. Se distinge prin oferirea de capabilități pentru a intercepta și păstra mesajele pe care expeditorii încearcă să le revoce, precum și suport pentru gestionarea sesiunilor multi-cont. Biblioteca acoperă o gamă largă de arii funcționale, inclusiv livrarea automatizată a mesajelor și logica de răspuns, gestionarea contactelor și a grupurilor și preluarea datelor de profil ale utilizatorilor. Include, de asemenea, instrumente pentru gestionarea media, cum ar fi descărcarea fișierelor partajate și identificarea tipurilor de conținut prin analiza header-ului fișierului. SDK-ul implementează un sistem de înlănțuire a mesajelor bazat pe middleware și utilizează detectarea evenimentelor bazată pe polling pentru a sincroniza datele primite.
Translates programmatic function calls into structured network requests to interact with platform endpoints.
aiortc este o implementare Python a protocolului WebRTC, oferind o stivă asincronă pentru streaming de audio, video și date în timp real între peer-uri. Acesta funcționează ca un motor media și o implementare de canal de date care gestionează conexiunile peer prin intermediul unui framework non-blocking. Biblioteca permite stabilirea rețelelor peer-to-peer directe prin negocierea descrierilor de sesiune și a căilor de conectivitate. Facilitează transmisia securizată și bidirecțională a datelor prin canale de date și suportă streaming media cu latență scăzută folosind codecuri standard. Sistemul include capabilități pentru traversarea NAT a rețelei și gestionarea sesiunilor. Securitatea este gestionată prin configurarea canalelor de comunicare securizate, care implică generarea de chei și certificate pentru a cripta tot traficul media și de date.
Provides DTLS-SRTP configurations to encrypt real-time media packets and prevent eavesdropping.
uncaptcha2 este un instrument de bypass pentru audio captcha și un solver ReCaptcha conceput pentru a ocoli sistemele de detectare a boților. Acesta funcționează ca un solver de captcha speech-to-text care convertește provocările de securitate audio în text pentru a automatiza finalizarea pașilor de verificare bazați pe cifre. Instrumentul permite web scraping-ul automatizat prin eliminarea barierelor de securitate și ocolirea provocărilor ReCaptcha. Acesta facilitează trimiterea automată a formularelor prin rezolvarea programatică a pașilor de verificare necesari pentru a accesa site-uri web restricționate.
Implements an iterative request-response loop to submit transcriptions until a success token is received.
MagicOnion este un framework de apeluri de proceduri la distanță (RPC) pentru platforma .NET și Unity. Acesta funcționează ca un protocol API binar și un motor de comunicare în timp real care utilizează interfețe partajate pentru a oferi comunicare type-safe între clienți și servere. Framework-ul se distinge prin compatibilitatea sa cu mediile de compilare ahead-of-time, utilizând generatoare de sursă pentru proxy-urile client și serializare pentru a suporta platforme mobile și de consolă, inclusiv cele care utilizează IL2CPP. Oferă un strat de middleware specializat pentru Unity care gestionează tipurile de date specifice motorului și asigură compatibilitatea la runtime. Proiectul acoperă o gamă largă de capabilități de rețea, inclusiv streaming de date bidirecțional, cicluri de cerere-răspuns unare și mesagerie push de la server la client. Include suport integrat pentru securitate prin criptare TLS și autentificare JWT, precum și gestionarea stării per-client și filtrarea cererilor bazată pe interceptoare. Instrumentele de diagnosticare sunt disponibile pentru monitorizarea stării comunicării, urmărirea metricilor de performanță ale serverului și propagarea stack trace-urilor de pe server către clienți pentru debugging.
Implements synchronous remote procedure calls that treat each request as a single transaction over a network connection.
NatTypeTester is a network diagnostic tool that identifies a host's network address translation (NAT) behavior by querying STUN servers. It classifies NAT types and tests connectivity across multiple transport layers, including UDP, TCP, TLS, and DTLS, to evaluate peer-to-peer communication capabilities. The tool distinguishes itself by probing connectivity over four separate protocols—UDP, TCP, TLS-over-TCP, and DTLS-over-UDP—using STUN binding requests. This multi-protocol approach provides a comprehensive assessment of a host's ability to establish direct connections with other devices in
Verifies whether a host can establish DTLS-encrypted UDP connections through a STUN binding request.
Tower is a modular service abstraction layer for the Rust programming language, providing a framework for building asynchronous request-response pipelines. It serves as a set of core components for managing backpressure, balancing loads, and abstracting service discovery. The project distinguishes itself through a layer-based middleware composition model, allowing services to be wrapped in recursive chains of decorators. This enables the declarative application of cross-cutting concerns, such as timeouts, rate limiting, and retries, in a protocol-agnostic manner. The library covers a broad r
Defines a generic interface for processing asynchronous requests and returning future responses or errors.
reGeorg is an HTTP tunneling proxy and network tunneling tool designed to route network traffic to internal targets. It functions as a remote port forwarder that wraps socket communication within HTTP requests to bypass firewalls. The tool includes a SOCKS5 proxy server implementation that converts tunneled traffic into a usable interface. This allows external networking tools to route data through a remote host into restricted internal network boundaries. The project provides capabilities for network pivoting, including generic network tunneling and SOCKS proxy configuration to facilitate c
Maintains persistent bidirectional data flow by continuously polling or sending HTTP requests.