Carracho is a new ("old") native macOS client and server platform for communities built around chat, files, news, messaging and self-hosted servers. A ton of modern new features.
The project takes the ideas that made Carracho distinctive and rebuilds them as a modern application: a single place for persistent server bookmarks, live chat rooms, threaded discussions, file exchange, private conversations, tracker discovery and full server administration.
The macOS client is written in Swift/AppKit and targets macOS 10.15 or newer. A matching server/tracker/bot implementation is included for macOS, together with a native headless C server and tracker for Linux.
Strong authenticated encryption
Connections between the new Carracho client and a modern Carracho server use a new authenticated transport designed for confidentiality and tamper detection. Control traffic and transfer-port operations are protected with AES-256-GCM, with fresh session key material negotiated through ephemeral X25519 key agreement.
The modern transport protects far more than login traffic: chat/control packets, file transfers, News transfers, file search, banners and other modern transfer operations all use authenticated encrypted framing. The client also shows the negotiated cipher in the server information panel, so a modern connection can be identified as AES-256-GCM rather than the historical transport.
Compatibility with original Carracho software is intentionally treated as a bridge, not as the definition of the new project.
The practical side effect of keeping the protocol lineage intact is useful:
- the new macOS client can connect to many original/Classic Carracho servers;
- the modern server can accept original Carracho clients when authenticationMode is legacyCompatible;
- Classic trackers, files, chat, user administration and other reconstructed protocol areas remain available;
- when a Classic peer is detected, modern-only capabilities are hidden or mapped to the older behaviour automatically;
- a server can optionally expose a separate legacyFilesRoot to Classic clients while modern clients continue to use the primary filesRoot.
Classic connections use the historical transport and the limits of the historical protocol. Features invented for the new platform, such as modern authenticated transport, threaded-News extensions, reactions, rich-media capability negotiation, offline-message extensions and new account permissions, require a modern Carracho peer.
Servers can also be configured as modernOnly. In that mode the compatibility password material required by original clients is not retained, so Classic authentication is deliberately unavailable.
An optional Admin Web-End is also available.