twonly, a privacy-friendly way to connect with friends through secure and instant image sharing. (Mirror of https://git.twonly.eu/twonly/twonly-app)
Find a file
2026-07-09 20:33:46 +02:00
.github switch to fastlane for github and f-droid releases 2026-05-28 13:59:14 +02:00
android upgrading flutter 2026-06-05 11:41:03 +02:00
assets use svg vector format 2026-06-16 19:14:14 +02:00
dependencies@72d9bd6320 New: Import images from the gallery 2026-05-31 02:11:30 +02:00
fastlane remove old apks 2026-06-10 22:41:24 +02:00
integration_test restructure code 2026-04-21 17:29:01 +02:00
ios bump version and work forward 2026-06-19 00:45:57 +02:00
lib improve media download logging 2026-07-09 20:33:46 +02:00
metadata update graphics 2026-05-16 01:47:11 +02:00
rust poc for recovery works 2026-06-23 21:07:26 +02:00
rust_builder first working state 2026-04-21 01:31:50 +02:00
scripts enable and handle heartbeath 2026-06-21 02:07:09 +02:00
test send the threshold to the other user 2026-06-23 23:25:30 +02:00
test_driver poc 2026-04-11 21:28:18 +02:00
.gitignore switch to fastlane for github and f-droid releases 2026-05-28 13:59:14 +02:00
.gitmodules update sub repo 2026-01-26 22:26:57 +01:00
.metadata starting with c2c #227 2025-11-01 01:46:02 +01:00
analysis_options.yaml use svg vector format 2026-06-16 19:14:14 +02:00
build.yaml remove old database 2026-03-01 04:18:43 +01:00
CHANGELOG.md Improve: Visibility of the verification badge 2026-07-09 18:09:16 +02:00
firebase.json ios version should work 2025-03-25 00:11:07 +01:00
flutter_rust_bridge.yaml move files 2026-04-18 13:54:45 +02:00
l10n.yaml add new workflow for additional users 2026-01-14 22:32:04 +01:00
LICENSE Initial commit 2024-12-31 09:46:15 +01:00
pubspec.lock use svg vector format 2026-06-16 19:14:14 +02:00
pubspec.yaml improve media download logging 2026-07-09 20:33:46 +02:00
README.md working server integration 2026-06-23 00:50:46 +02:00

twonly

twonly, a privacy-friendly way to connect with friends through secure, spontaneous image sharing.

This repository contains the complete source code of the twonly app. twonly is a replacement for Snapchat, but its purpose is not to replace instant messaging apps, as there are already many fantastic alternatives out there. It was started because I liked the basic features of Snapchat, such as opening with the camera, the easy-to-use image editor, and the focus on sending fun pictures to friends. But I was annoyed by Snapchat's forced AI chat, receiving random messages to follow strangers, and not knowing how my sent images/text messages were encrypted, if at all. I am also very critical of the direction in which the US is currently moving and therefore try to avoid US providers wherever possible.

Share moments Chat list Groups

If you decide to give twonly a try, please keep in mind that it is still in its early stages and is currently being developed by a single student. So if you are not satisfied at the moment, please come back later, as it is constantly being improved, and I may one day be able to develop it full-time.

Features

  • Offer a Snapchat™ like experience
  • End-to-End encryption using the Signal Protocol
  • Open Source and can be downloaded directly from GitHub
  • No email or phone number required to register
  • The backend is hosted exclusively in Europe

Roadmap

Currently

  • Focus on user-friendliness so that people enjoy using the app
    • Passwordless recovery without a phone number
  • Implementation of features so that Snapchat can actually be replaced
    • E2EE cloud backup of memories
    • Importing memories from Snapchat

Next on the bucket list

  • For Android: Support for [UnifiedPush] (https://unifiedpush.org/)
  • For Android: Reproducible builds
  • Implementation of Sealed Sender (or a similar protocol) to minimize metadata
  • Switch from the Signal protocol to MLS for post-quantum crypto support
  • Decentralize the server so that anyone can run their own server

Security Issues

If you discover a security issue in twonly, please adhere to the coordinated vulnerability disclosure model. Please send us your report to security@twonly.eu. We also offer for critical security issues a small bug bounties, but we can not guarantee a bounty currently :/

Contribution

Currently there are still some core features and rewrites open I want to do like the switch to the MLS protocol involving a huge rewrite in Rust. Because of this, contributions are currently not wanted. You can still view the code (if you find any security issues please contact me!). Also, issues are currently closed. If you find a bug, please use the in-app option as there you can upload your debug log which helps a lot.

Signing Keys

When you download the app via GitHub or F-Droid you can verify the signing keys using for example the AppVerifyer and the following SHA-256 fingerprint of the signing certificate.

eu.twonly E3:C4:4D:56:8C:67:F9:32:AC:8C:33:90:99:8A:B9:5E:E8:FF:2D:7A:07:3C:24:E3:66:77:93:E6:EA:CD:77:0A

License

This project is licensed under the GNU AGPL 3.0 license.