Habr•October 6, 2026•🇷🇺Translated from Russian

Building Prizrak: How a Developer Created a Federated Messenger That Masks All Traffic as Legitimate HTTPS

A developer has built Prizrak, a federated messenger that uses end-to-end encryption and makes all traffic, including voice and video calls, appear as ordinary HTTPS connections on the wire.

The project began because existing messengers could not be configured to remove three persistent problems: a central point that can be shut down, mandatory phone number registration, and traffic that remains identifiable even when encrypted. Prizrak uses identifiers in the form name:domain, OpenPGP long-term keys for identity, X3DH and Double Ratchet for forward secrecy, and ChaCha20-Poly1305 for encryption. Federation occurs between independent homeservers that locate each other automatically.

Transport designed to resist DPI

The developer discovered that perfect encryption is useless if the first bytes of a packet reveal the protocol. Standard WebRTC calls expose the STUN magic cookie 0x2112A442 and DTLS record type 22. The solution was to stop imitating HTTPS and instead become it: clients perform genuine TLS 1.3 handshakes to real domains and present a hidden token only after the channel is encrypted. Servers listen on multiple stable ports including 443, 8801, 993 and others, silently ignoring occupied ones. Clients start at port 443 and discover a working port automatically.

Key management and multi-device support

Long-term OpenPGP keys serve as identity passports verified via QR code and sign ephemeral X25519 prekeys. Each device receives its own identity key signed by the account root. Messages are encrypted separately for every device of the recipient. Revoking a device simply stops delivering envelopes to it. The design accepts O(participants × devices) encryption cost and plans to adopt MLS (RFC 9420) for very large groups.

Resilient delivery through storage nodes

When homeservers cannot reach each other directly, messages travel through a network of storage nodes. Each node stores opaque blobs addressed by HKDF-derived identifiers. The system replicates data across four nodes using a placement model taken from Ceph RADOS, including rendezvous hashing, Merkle reconciliation, and anti-entropy. Delivery acknowledgments are the only source of truth; nodes delete blobs only after receiving a signed ACK.

Native media stack and careful buffer sizing

Calls use a fully native media stack on Android with Camera2, MediaCodec, AudioRecord and Opus. A custom address-mapping service replaces public STUN to avoid detectable signatures. After switching to direct P2P paths, video frames were being truncated because the receive buffer was only 2048 bytes. Raising the buffer to 65536 bytes, adding proper fragmentation, and implementing PLI-based recovery eliminated artifacts. Bitrate is now controlled by queue length rather than observed loss.

Ringback tones and call-state machine

Users complained that calls lacked ringback tones. The developer added a full state machine that reports presence after an offer is sent, distinguishes “subscriber unavailable,” “busy,” and “no answer” conditions, and plays 425 Hz tones with familiar cadences. The same work exposed several signaling bugs that had previously gone unnoticed.

Built-in two-hop VPN

The stealth transport is reused for a two-hop VPN. The first hop sees the user’s IP but not the destination; the exit hop sees the destination but not the user. Messenger traffic is excluded from the tunnel to avoid loops. Node selection uses Bayesian reputation with 60-day freshness and make-before-break switching.

Related articles

Habr•Privacy & Surveillance

WebRTC IP Leaks Explained: Why Disabling the Protocol Harms Anonymity in Anti-Detect Browsers

The article from Aurorium details how WebRTC technology can leak real IP addresses even when users route traffic through proxies. It explains the peer-to-peer mechanics of WebRTC, the role of STUN servers in generating ICE candidates, and why standard TCP proxies fail to handle UDP traffic. Disabling WebRTC via flags or JavaScript extensions creates detectable anomalies that anti-fraud systems flag as non-standard environments. The recommended approach involves native emulation inside the browser kernel so that STUN requests return proxy IPs while preserving full API integrity across workers. Additional leaks through local network addresses, mDNS candidates, and IPv6 are also covered with practical verification methods using tools like BrowserLeaks and CreepJS.

Habr•Privacy & Surveillance

Docx Anonymizer: Open-Source Chrome Extension Uses Fine-Tuned rubert-tiny2 to Anonymize Personal Data Before AI Uploads

A Russian developer has released Docx Anonymizer, a browser extension that automatically detects and replaces personal data in documents using a lightweight NER model before they reach public AI services such as ChatGPT. The tool was created to help organizations comply with Russia’s 152-FZ personal data protection law while avoiding the risks of uploading contracts and other sensitive files to cloud-based LLMs. It runs entirely locally via ONNX Runtime and WebAssembly, requires no network calls, and supports any AI chat interface. The underlying model, rubert-tiny2, was further trained through knowledge distillation on WikiANN, factRuEval, and synthetic business documents, reaching strong F1 scores for person and organization entities after int8 quantization. The extension intercepts text on the fly, performs named-entity recognition in under two seconds for typical contracts, and replaces detected entities with placeholders. The project is fully open source and designed for minimal user friction, addressing the growing problem of employees inadvertently leaking corporate and personal data to public AI platforms.

Habr•Privacy & Surveillance

Hybrid Post-Quantum Message Sealing: X25519 + ML-KEM-1024 in Umbera Messenger with Public Rust Tests

Umbera messenger has open-sourced its cryptographic core and published seven Rust tests that anyone can run to verify its hybrid post-quantum message sealing scheme. The design combines X25519 with ML-KEM-1024 so that an attacker must break both algorithms to decrypt a message. Messages are protected by Double Ratchet for forward secrecy, sealed sender packaging, and per-message ephemeral keys derived via HKDF-SHA256 into AES-256-GCM. The relay server stores only an opaque box identifier and encrypted blob with no sender or recipient fields visible. Media calls use DTLS-SRTP end-to-end while TURN servers see only encrypted datagrams. Addresses for message boxes rotate weekly and are derived solely from the shared secret between the two parties.

Habr•Privacy & Surveillance

Free Ad Blocker for iPhone, Android, and Desktop Uses DNS Parsing Without Libraries and Skips YouTube Influencer Ads From the First Second

A new free ad-blocking solution has been released for iPhone, Android, and desktop platforms. The tool relies on a lightweight DNS parser that operates without external libraries. It includes a dedicated mode for users who already run VPN connections. An accompanying browser extension automatically skips sponsored segments in YouTube videos, even when the advertisement begins at the zero-second mark. The developer describes the technical challenges encountered after launch and the fixes applied to maintain compatibility across operating systems. The project emphasizes user privacy by avoiding unnecessary data collection and third-party dependencies.