Skip to content
MoliSync
Documentation menu
Documentation Overview

Overview

MoliSync is a self-hosted control plane and two clients for moving text, images and files between devices you control. Identity comes from client certificates; transfers prefer a direct LAN/VPN link and fall back to a zero-disk relay.

What runs where

Three components share one versioned protocol:

ComponentStackRole
Control planeGo · DockerTrusted-proxy authentication, device registry, WebSocket presence, records and blob storage.
Windows client.NET 8 · AvaloniaThree-tab cloud sync, certificate-store access, Range downloads, P2P send and receive.
Android clientKotlin · ComposeKeyChain mTLS, share intents, a foreground sync service and MediaStore archiving.

How a transfer works

  1. Your reverse proxy verifies the client certificate and overwrites the identity headers.
  2. The control plane maps the certificate fingerprint to a stable DeviceID and issues a single-use 32-byte session ticket.
  3. Both peers race LAN and VPN candidates in 300 ms steps.
  4. A direct link completes mTLS and streams 49-byte frames. If nothing answers by 1.2 s, the server relays the same session with io.Copy.
  5. Text and threshold-sized files can also be stored durably: SQLite metadata plus a blob directory.

Current limits

  • Records never expire automatically, and there is no quota.
  • End-to-end P2P still needs real-network regression testing.
  • Client auto-update is deferred.
  • No repository-wide license has been declared yet.
Status

Version 0.5.x, under active development. Treat the deployment notes as a working baseline, not a production guarantee.

Start here