twonly, a privacy-friendly way to connect with friends through secure, spontaneous image sharing.
Find a file
2025-10-18 00:13:47 +02:00
.github renaming workflow 2025-10-16 23:58:56 +02:00
.vscode multiple bug fixes 2025-07-19 02:31:07 +02:00
android updating dependencies and flutter 2025-10-14 11:47:20 +02:00
assets add default avatar 2025-07-29 11:18:27 +02:00
dependencies add context menu to messages 2025-06-26 00:20:54 +02:00
docs update readme 2025-07-11 11:07:35 +02:00
drift_schemas/twonly_database fixing issue with the prekey unkown error 2025-10-16 23:56:18 +02:00
ios fixing issue and starting with developer settings 2025-10-16 14:54:21 +02:00
lib improve logging 2025-10-18 00:13:47 +02:00
metadata add fastlane data and github action 2025-07-18 20:29:45 +02:00
scripts enabling linter 2025-07-15 00:38:23 +02:00
test fixing issue with the prekey unkown error 2025-10-16 23:56:18 +02:00
.gitignore fix camera freeze issue 2025-07-17 19:53:37 +02:00
.gitmodules update subrepo 2025-07-18 20:51:20 +02:00
analysis_options.yaml revert some changes 2025-10-17 23:19:00 +02:00
build.yaml fix #75 2025-03-30 19:51:57 +02:00
CHANGELOG.md fix #267 2025-10-17 23:49:48 +02:00
firebase.json ios version should work 2025-03-25 00:11:07 +01:00
l10n.yaml updating dependencies and flutter 2025-10-14 11:47:20 +02:00
LICENSE Initial commit 2024-12-31 09:46:15 +01:00
pubspec.lock revert some changes 2025-10-17 23:19:00 +02:00
pubspec.yaml revert some changes 2025-10-17 23:19:00 +02:00
README.md add signing keys 2025-07-19 16:16:15 +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 apps.

Features

  • Offer a Snapchat™ like experience
  • End-to-End encryption using the Signal Protocol
  • No email or phone number required to register
  • Privacy friendly - Everything is stored on the device

In work

  • For Android: Using UnifiedPush instead of FCM
  • For Android: Reproducible Builds + Publishing on Github/F-Droid
  • Implementing Sealed Sender to minimize metadata
  • Maybe: Switching from the Signal Protocol to MLS.

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 :/

Development

Setup Instructions (macOS)

Building

Some dependencies are downloaded directly from the source as there are some new changes which are not yet published on pub.dev or because they require some special installation.

  • flutter_secure_storage: We need the 10.0.0-beta version, but this version has some issues which are fixed but not yet published:
git submodule update --init --recursive

cd dependencies/flutter_zxing
git submodule update --init --recursive
./scripts/update_ios_macos_src.s

Debugging files

run-as eu.twonly.testing ls /data/user/0/eu.twonly.testing/

Signing Keys

When you download the app via GitHub 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.