⚠️ DISCLAIMER: Made by 100% AI do not use for secure communication.Do not trust your life, your corporate secrets, or your illicit cookie recipes to this software. It is a cryptographic experiment completely generated by an LLM.
Sönkkökoodi is a portable, frameless, C++ Qt6 chat application that communicates over a completely "dumb" broadcast Python TCP server.
Instead of relying on the server to handle routing, accounts, or security, the server is entirely blind and stateless. All security, identity verification, and message routing are handled client-side using OpenSSL.
- Zero-Knowledge Infrastructure: The Python relay server stores no state, no database, and cannot read the messages. It simply takes raw bytes and broadcasts them to connected sockets.
- Cryptographic Identity: Generates a persistent
secp256r1(prime256v1) ECDSA keypair on first launch. Every packet is cryptographically signed to prevent impersonation. - Authenticated Encryption: All payloads are encrypted using AES-256-GCM. Tampered packets are immediately dropped.
- Ephemeral Key Exchange: Uses an automatic ECDH (Elliptic Curve Diffie-Hellman) handshake to establish a shared room key the moment you connect.
- Hash Ratcheting (Perfect Forward Secrecy): The AES room key is automatically hashed and rotated every 15 messages. If a key is compromised later, past messages remain unreadable.
- TOFU (Trust On First Use): Automatically pins the ECDSA Public Keys of other users. If someone tries to spoof a known alias, the UI flags them as a
(SPOOFER). - Encrypted Local Vault: Chat history and notes are saved locally to disk using a key derived from your password via
PBKDF2-HMAC-SHA256(100,000 iterations). When you lock the app, the decryption key is scrubbed from RAM. - Dynamic OTA Installer: Includes a standalone C++ installer that directly hits the GitHub API to fetch and extract the latest releases.
main.cpp- The core Sönkkökoodi chat application.installer.cpp- The standalone GUI installer that fetches from GitHub Releases.server.py- The blindasyncioPython broadcast relay.CMakeLists.txt- Build configuration.
This project is built using MSYS2 / MinGW-w64.
Open your MSYS2 UCRT64 terminal and install the required toolchains:
pacman -S mingw-w64-ucrt-x86_64-toolchain
pacman -S mingw-w64-ucrt-x86_64-cmake
pacman -S mingw-w64-ucrt-x86_64-qt6
pacman -S mingw-w64-ucrt-x86_64-opensslNavigate to the repository folder and run:
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
mingw32-make -j8This will output sonkkokoodi.exe and sonkkokoodi_installer.exe.
The Python server is designed to be highly resilient against open-internet DoS attacks. It enforces strict payload limits, connection caps, and token-bucket rate limiting.
- Install Python 3.7+ on your VPS.
- Run the server:
python3 server.py - (Optional but recommended) Run it as a
systemdservice and open port9999on your firewall.
To distribute the app to users:
- Compile the project.
- Gather
sonkkokoodi.exeand all required Qt6/MinGW.dllfiles into a zip file. - Upload the
.zipas an asset to a GitHub Release. - Send users the compiled
sonkkokoodi_installer.exe. It will automatically fetch the zip, extract it securely to theirAppDatafolder, and create a desktop shortcut.