Releases: kilikpola/Ghostlink
Release list
GhostLink Release v0.0.3
Production-readiness and security release.
Security
- Mesh handshake impersonation fixed; fingerprints bound to public keys; ECDH fails closed
- Replay protection wired in, with an append-only authenticated claim log
- Topology announcements authenticated with Ed25519
- CSRF identity takeover via /rotate-key blocked; Origin: null refused
- File transfer encrypted; unencrypted mobile key storage fixed
Fixed
- LAN discovery: Ghost Addresses on the same network now resolve and connect directly, with the peer's identity verified in the handshake
- Desktop packaging: the installed app now finds index.html and the mesh core
- Fresh clones pass
npm test; flaky tests fixed - .deb builds now have the required metadata
Added
- SECURITY.md disclosure policy, CONTRIBUTING.md, CHANGELOG.md, .env.example
See CHANGELOG.md and docs/PRODUCTION_READINESS.md for details.
GhostLink Release v0.0.2
This release includes critical updates to WebRTC connection stability and React user interface fixes.
🚀 Features & Fixes:
- WebRTC Perfect Negotiation: Implemented perfect negotiation signaling rules (
polite/impolitepeers) to resolve handshake glare collisions (e.g.stablestate exceptions) when both users initiate connections at the same time. - ICE Candidate Buffering: Configured automatic buffering and application of incoming ICE candidates received before the session description protocol (SDP) exchange finishes.
- React Duplicate Key Fix: Resolved React console warnings in the toast notification system by generating unique, random-suffixed keys (
Date.now() + '-' + Math.random()). - Updated Git Ignore: Added configurations to ignore local license generator scripts and directories.
GhostLink 0.0.1
GhostLink v0.0.0.0 – Zero Trust · Zero Trace · Zero Servers
A peer-to-peer encrypted communication platform where nothing is stored on any server – ever.
Features
P2P Messaging – Direct WebRTC data channels, no servers
End-to-End Encryption – AES-256-GCM + ECDH P-256 key exchange
Hybrid Signaling – QR/paste first connection, relay for reconnects
Voice Messages – Record and send with waveform visualization
Encrypted File Transfer – 64KB chunks with per-chunk AES-256-GCM
Message Blockchain – SHA-256 chained integrity verification
Identity Recovery – BIP39 seed + Shamir's Secret Sharing (7/3 threshold)
4 Themes – Phantom, Crimson, Arctic, Void
Offline Queue – IndexedDB persistence with 24hr TTL
Platforms
Web – Single HTML file, no build step (React 18 + Babel standalone)
Desktop – Electron with embedded signaling server
Mobile – React Native (Android + iOS)
Bug Fixes in This Release
BIP39 seed phrases now include proper checksum bits
Replaced deprecated escape()/unescape() with modern base64
Fixed AbortSignal.timeout() for older browser compatibility
Added Safari -webkit-backdrop-filter vendor prefixes
Secure context checks before microphone access
AudioContext leak fix in voice recorder
ObjectURL cleanup for file downloads
Server: fixed WebSocket cleanup ordering, CORS headers
Mobile: removed deprecated react-native-camera, conflicting react-native-navigation
GhostLink v0.0.0
GhostLink v0.0.0 — Zero Trust · Zero Trace · Zero Servers
A peer-to-peer encrypted communication platform where nothing is stored on any server — ever.
Features
- P2P Messaging — Direct WebRTC data channels, no servers
- End-to-End Encryption — AES-256-GCM + ECDH P-256 key exchange
- Hybrid Signaling — QR/paste first connection, relay for reconnects
- Voice Messages — Record and send with waveform visualization
- Encrypted File Transfer — 64KB chunks with per-chunk AES-256-GCM
- Message Blockchain — SHA-256 chained integrity verification
- Identity Recovery — BIP39 seed + Shamir's Secret Sharing (7/3 threshold)
- 4 Themes — Phantom, Crimson, Arctic, Void
- Offline Queue — IndexedDB persistence with 24hr TTL
Platforms
- Web — Single HTML file, no build step (React 18 + Babel standalone)
- Desktop — Electron with embedded signaling server
- Mobile — React Native (Android + iOS)
Bug Fixes in This Release
- BIP39 seed phrases now include proper checksum bits
- Replaced deprecated
escape()/unescape()with modern base64 - Fixed
AbortSignal.timeout()for older browser compatibility - Added Safari
-webkit-backdrop-filtervendor prefixes - Secure context checks before microphone access
- AudioContext leak fix in voice recorder
- ObjectURL cleanup for file downloads
- Server: fixed WebSocket cleanup ordering, CORS headers
- Mobile: removed deprecated
react-native-camera, conflictingreact-native-navigation