{"repo":"buyukakyuz/parlance","free":true,"listed":false,"github":"https://github.com/buyukakyuz/parlance","clone":"git clone https://github.com/buyukakyuz/parlance.git","description":"Decentralized peer-to-peer messaging with bootstrap discovery, direct connections, and no centralized message infrastructure.","language":"Rust","stars":81,"topics":["lan","messaging","networking","p2p","peer-to-peer","rust","tcp","tokio","udp-multicast"],"license":null,"category":"networking-infra","readme_excerpt":"Parlance A decentralized P2P messaging application. Demo Overview Parlance is a functional P2P messaging application that works both on local networks and across the internet. It uses UDP multicast for local peer discovery and a lightweight bootstrap server for internet-scale discovery. All messaging happens directly peer-to-peer. Current State Working: - Local discovery : UDP multicast for automatic LAN peer discovery - Internet discovery : WebSocket-based bootstrap server for cross-network discovery - Mode selection : Choose local or internet discovery - Direct TCP messaging between discovered peers - Multiple instances on the same machine (SO REUSEPORT) Limitations: - No NAT traversal yet (requires direct connectivity or port forwarding) - No encryption (cleartext over TCP) - No message persistence - No group chat (only 1-to-1 messaging) Architecture Local Discovery (UDP Multicast): - Multicast group: 239.255.255.250:6789 - JSON-serialized discovery messages Internet Discovery (Bootstrap Server): - WebSocket-based signaling server - Maintains registry of online peers Messaging Layer (TCP): - Each peer listens on a dynamically assigned port - Direct socket connections for message delivery - Line-delimited JSON over TCP - Concurrent connection handling via Tokio Building Requires Rust 1.70 or later. Usage Local Network Mode (Default) Start multiple instances on the same network: Discovery happens automatically via UDP multicast. After a few seconds, peers will appear in each","default_branch":null,"files":null,"tree":[],"storefront":"/r/buyukakyuz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/buyukakyuz/parlance/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}