尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A portable, peer-to-peer encrypted chat application designed for use as a screen prop in TV and film productions. Fully functional, fully customisable, completely free to use.
Inspired by the aesthetic of Mr. & Mrs. Smith (2024, Prime Video — Donald Glover, Maya Erskine).
| Amber Terminal | Clean Light |
|---|---|
Real screenshots of the running app. The red-bordered bubble is a self-destruct message. The conversations are fictional.
A real, working encrypted chat interface — not a mockup, not a loop. Two devices, one USB stick, actual messages sending and receiving in real time. Built for productions that need something that looks authentic because it is authentic.
~/.securechat/keypair.json| Theme | Aesthetic | Button |
|---|---|---|
| Dark Teal | Black + teal, monospace — Mr. & Mrs. Smith style | TRANSMIT |
| Amber Terminal | Black + amber, thick borders — government/classified ops | TRANSMIT |
| Clean Light | White + dark bubbles — modern, civilian, everyday | Send |
Switch theme from the ⚙ Appearance menu, or via command line:
python securechat.py --server --theme "Amber Terminal"
python securechat.py --server --theme "Clean Light"
python securechat.py --server --theme "Dark Teal"
Set a message to send automatically at a specific date and time — DD/MM/YYYY format.
Mark any message — live or scheduled — as self-destruct. The recipient sees it with a red border and a countdown label. Five seconds after it appears on their screen, it is automatically deleted from their local database.
Toggle the 💥 checkbox next to the input field before sending.
From the ⚙ Appearance menu:
All messages stored in a local SQLite database at ~/.securechat/messages.db. No data leaves the machine except the encrypted message itself.
SecureChat is a Python desktop app (PyQt5), so it runs wherever Python and Qt do.
| System | Works? | Notes |
|---|---|---|
| macOS 10.15 Catalina | ✅ | The original target |
| macOS 11 and later (Big Sur to Sequoia), Intel and Apple Silicon | ✅ | Runs natively on both chips |
| Linux (Ubuntu, Debian, Fedora…) | ✅ | |
| Windows 10 / 11 | ✅ | |
| Windows 7 / 8.1 | ⚠️ | Use Python 3.8, the last version that supports them, and build the .exe on that machine. An .exe built on Windows 10 with a newer Python won't start on Windows 7. |
| Android / iPhone | ❌ | Desktop only for now. A phone can scan the pairing QR code, but can't run the chat itself. |
On Catalina: if the optional OpenCV install (for reading QR photos) fails, pin an older release: pip install "opencv-python-headless<4.9". Everything else installs as normal.
pip install -r requirements.txt
Server (the person hosting):
python securechat.py --server
Client (the person connecting):
python securechat.py --client --host 192.168.1.42
No arguments — the app asks you on launch.
The quick way: copy and paste
The cinematic way: scan a QR code
Your public key can be shown as a QR code, in the terminal or in the app. Point a phone at it and the keys change hands in a second, which looks every bit as good on camera as it sounds.
python securechat.py --show-key
That prints your key as a big QR code, black on white so it scans in light and dark terminals alike. Then your partner can do any of these:
| They have… | They do… |
|---|---|
| A phone | Scan it with the camera. It reads a securechat:// link; send it to their computer and paste it into "+ Add Peer Key". The name fills itself in. |
| A photo or screenshot of it | Click "+ Add Peer from QR" and pick the image, or run python securechat.py --add-peer-qr photo.jpg |
| The link as text | python securechat.py --add-peer "securechat://peer?name=…&key=…" |
In the app, "Show My Key as QR" puts the same code on screen.
The QR holds only your public key and display name, so it's safe to show, film or post. Your private key never leaves your machine. Reading QR codes from photos needs OpenCV (pip install opencv-python-headless); everything else works without it.
pip install pyinstaller
pyinstaller --onefile --windowed securechat.py
Output in dist/ — a single file that runs on Windows, Mac, or Linux without Python installed. Put it on a USB stick and it runs on any machine by double-clicking.
Use Tailscale (free, takes two minutes to set up) — both people install it, then use the Tailscale IP as the host address. No port forwarding required.
rm -rf ~/.securechat/
Free to use in:
Not free for:
If your production falls into the not-free category, get in touch. We can work something out.
Not required but genuinely appreciated: & "A box of Donuts"
Chat interface prop: SecureChat — github.com/lolo737/securechat
Medium article: [I Made a Free Prop for TV Productions — Inspired by Mr. & Mrs. Smith](https://medium.com
Built by lolo737. Customable is chat for use in TV series as a prop — and it works.