Skip to content

wickedtech/messenger-desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

69 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Social Hub (messenger-desktop)

CI Release License: MIT

Privacy-first multi-platform social hub for Instagram, Messenger, Facebook & X. Native WebView with Tauri 2.x + Rust. 10x smaller than Electron. Sessions isolated. Zero persistence. Telemetry blocked.

Access your social platforms in a lightweight desktop app with ironclad privacy: isolated sessions per platform, automatic data wipe on quit, and aggressive tracking blocks.


What's New in v0.2.0

🌐 Multi-Platform Support

messenger-desktop is now Social Hub β€” a privacy-first all-in-one client for 4 platforms:

  • πŸ“Έ Instagram β€” instagram.com/direct/inbox/
  • πŸ’¬ Messenger β€” messenger.com (existing)
  • πŸ‘₯ Facebook β€” facebook.com/messages/
  • 𝕏 X (Twitter) β€” x.com/messages

Launch the app and pick your platform from the new dark selector UI.

πŸ” Privacy Engine

  • Session isolation β€” each platform's data stored separately under `app_data_dir/sessions/<platform>/`
  • Zero persistence β€” all cookies and localStorage cleared on app quit
  • Telemetry blocking β€” CSP blocks doubleclick.net, google-analytics.com, analytics.facebook.com, pixel.facebook.com
  • Platform-specific CSP β€” tight Content Security Policy per platform, only allows required CDNs

βš™οΈ Technical

  • New Rust modules: `platform_manager` + `privacy_engine`
  • 63 unit tests added (all pass)
  • Platform-aware injection guard (injection only runs on real platform domains, not selector)
  • Injection guard prevents cross-platform contamination

Migration from v0.1.x

No migration needed. On first launch you'll see the platform selector. Previously saved Messenger sessions are not affected β€” Messenger remains the default if you skip the selector.


Full Changelog: https://github.com/wickedtech/messenger-desktop/compare/v0.1.4...v0.2.0


✨ Features

  • 🌐 Multi-Platform β€” Instagram, Messenger, Facebook, X in one secure app
  • πŸ” Session Isolation β€” Each platform's data fully isolated (no cross-contamination)
  • πŸͺ Zero Persistence β€” All cookies/localStorage cleared on quit
  • πŸ›‘οΈ Telemetry Blocking β€” CSP blocks doubleclick.net, google-analytics.com, pixel.facebook.com
  • πŸ”’ Platform-specific CSP β€” Tight Content Security Policy tailored per platform
  • πŸ”” Native Notifications - Instant system alerts for new messages
  • πŸ“Š System Tray - Quick access with unread count badge
  • 🎯 Keyboard Shortcuts - Global hotkeys (Ctrl+Shift+M toggle)
  • πŸŒ™ Themes - Dark, light, system sync
  • πŸ”’ Privacy Guard - Block typing indicators, read receipts, seen status
  • πŸ‘₯ Multi-Account - Seamless account switching
  • πŸ“ Native Spellcheck - Real-time correction
  • πŸŽ₯ Media Access - Camera/mic for calls
  • πŸ”„ Auto-Updater - Frictionless updates
  • πŸš€ Ultra-Lightweight - ~10MB install, ~200MB RAM

🌐 Supported Platforms

Icon Platform Entry Point
πŸ“Έ Instagram instagram.com/direct/inbox/
πŸ’¬ Messenger messenger.com
πŸ‘₯ Facebook facebook.com/messages/
𝕏 X (Twitter) x.com/messages

On launch: Dark selector UI β†’ Pick platform β†’ Secure session loads.


πŸ“Έ Screenshots


πŸš€ Quick Start

# Clone and install
git clone https://github.com/wickedtech/messenger-desktop.git
cd messenger-desktop
npm install

# Dev mode (hot reload)
npm run tauri dev

# Tests
cd src-tauri &amp;&amp; cargo test --all

# Production build
cd .. &amp;&amp; npm run tauri build

Builds in src-tauri/target/release/bundle/.

See Build from Source.


πŸ“₯ Installation

Pre-built Binaries

GitHub Releases

Platform Size
Windows x64 ~10 MB
macOS (ARM/x64) ~12 MB
Linux (AppImage/DEB/RPM) ~11 MB

Package Managers

Homebrew

brew install --cask messenger-desktop

Snap

sudo snap install messenger-desktop

AUR

paru -S messenger-desktop

πŸ› οΈ Build from Source

Prerequisites

  • Rust 1.70+
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Node 18+/20+
    nvm install 20 &amp;&amp; nvm use 20
  • Linux deps
    # Ubuntu
    sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

Build

git clone https://github.com/wickedtech/messenger-desktop.git
cd messenger-desktop
npm install
npm run tauri dev  # dev
npm run tauri build  # prod

βš™οΈ Configuration

App data: ~/.config/social-hub/ (Linux), etc. (adapt name?)

Keep as messenger-desktop for now.

Settings: Theme, Privacy, Notifications, Shortcuts, Accounts, Startup.


⌨️ Keyboard Shortcuts

Shortcut Action
Ctrl+Shift+M Toggle window (global)
Ctrl+N New conversation
Ctrl+, Settings
Ctrl+1-9 Switch account
Ctrl+Tab Next chat
Ctrl+Shift+Tab Prev chat
Ctrl+W Close chat
Escape Dismiss
Ctrl+Q Quit

macOS: Cmd instead of Ctrl.


πŸ”’ Privacy Engine

Core differentiator: Privacy by design.

  • Session Isolation β€” Platforms siloed in sessions/&lt;platform&gt;/
  • Zero Persistence β€” Data nuked on quit
  • CSP Lockdown β€” Per-platform policy, blocks trackers
  • Telemetry Block β€” No doubleclick, GA, FB pixel
  • Injection Guard β€” Scripts only on legit domains
  • Network Blocks β€” Typing indicators, read receipts, seen status intercepted

Network-layer interception keeps UI native.


πŸ—οΈ Architecture

WebView (Platform URL)
  ↑ JS Injection (guard + utils)
Tauri IPC
Rust Core:
  - PlatformManager ──&gt; Selector UI β†’ URL/Nav
  - PrivacyEngine ──&gt; Sessions/CSP/Clear
  - Accounts / Tray / Notifs / etc.
Platform Layer (win/mac/linux)
  1. Selector UI β€” Launch pick platform
  2. PlatformManager β€” State/nav
  3. PrivacyEngine β€” Isolate/secure/clear
  4. WebView β€” Loads platform
  5. Backend β€” Native integrations

πŸ“¦ Module Overview

Module Description
platform_manager Multi-platform support, URL mapping, persistence
privacy_engine Session isolation, CSP, telemetry blocking
accounts Multi-account management
commands Tauri handlers
drag_drop File support
media Cam/mic perms
notifications System alerts
privacy Legacy guards
shortcuts Global keys
spellcheck Native checking
theme_manager Themes
tray Tray icon
updater Updates
window_manager Window control

🀝 Contributing

CONTRIBUTING.md humans, CONTRIBUTING-AGENTS.md agents.

Fork β†’ branch β†’ test β†’ PR.


πŸ› Troubleshooting

[Keep entire section as-is from current]


πŸ”­ Comparison

Feature Social Hub Caprine (Electron)
Size 10 MB 100 MB
RAM 200 MB 800 MB
Multi-Platform Instagram/Mess/ FB/X Messenger only
Privacy Engine (isolate/zero-persist/CSP) Basic
Sessions Isolated/zero-persist Shared/persistent
Themes Yes Yes
Multi-Account Yes No
Updater Yes Yes

πŸ“œ License

MIT β€” LICENSE


πŸ™ Acknowledgments

Tauri, Caprine, platforms.


πŸ“ž Support

Issues, Discussions, ARCHITECTURE.md

Built by wickedtech

About

Facebook Messenger desktop app powered by Tauri 2.x

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors