Available for Android, Linux, and Windows. Free and open source.
Your posts, media, follows, and identity key all come across. Encrypted posts stay decryptable under the same key.
v0.5.3 is kept online only as an upgrade bridge — it no longer connects to the live network.
Network identity is now fully separated from posting identity on every install. Plus: Android auto-backup disabled by default, Reset actually resets, import preserves your personas, and display name is optional.
See the Identity Architecture section of the design doc for details. Rotating DM identities (from the original plan) are deferred — they need more work on the connection model.
chmod +x itsgoin_*.AppImage./itsgoin_*.AppImagesudo apt install libfuse2 (Debian/Ubuntu) or sudo dnf install fuse (Fedora).
chmod +x itsgoin-cli-*./itsgoin-cli-* /path/to/data --daemon./itsgoin-cli-* /path/to/data --bind 0.0.0.0:4433 --daemon --web 8080--help for all options.
allowBackup=true, which silently uploaded identity.key (your root secret — full access to all private content) to Google Drive for any user with cloud backup enabled. That's published-to-a-third-party without asking. Now off by default, plus data_extraction_rules for Android 12+ cloud and device-transfer paths. Users who want off-device backup use Settings → Export (explicit ZIP under their control).identity.key, WAL/SHM, and all identity subdirs — truly fresh on next launch.OPEN_DOCUMENT; picked file is staged in the app's private cache for the existing importer.display_name / bio / avatar are no longer sent on the wire. Peers render author names as hex until v0.6.2 adds persona-signed profile posts.PostPush for encrypted posts is removed; encrypted DMs look identical on the wire to any other encrypted post.clear_address_lookup() + mDNS only; no implicit DNS publishing.post_upstream, post_downstream, blob_upstream, blob_downstream); replaced with file_holders. One-way migration seeds the new table from the old ones on first launch. Also adds post_recipients index for merged pull, and posting_identities table for multi-persona.deleted_at timestamp) instead of hard-deleted. Tombstones propagate through pull sync, ensuring deletes reach peers that missed the real-time diff.seen_engagement and seen_messages tables. Only notifies on genuinely unseen content. Survives app restarts.encrypt_bytes_with_cek, decrypt_bytes_with_cek, unwrap_cek_for_recipient, unwrap_group_cek. Foundation for encrypted blob storage and future chunk-level encryption.intentKind) rather than encryption state.0.0.0.0. Fixes share link video/image serving for IPv6-reachable nodes.preload="auto"). Previously only the first frame loaded.PRAGMA user_version. Future upgrades can run data migrations automatically. Databases too old to migrate are reset cleanly.post_upstream table records which peer each post was received from, enabling engagement to flow back toward the author hop-by-hop through the CDN tree.0.0.0.0 — unroutable addresses are now skipped, falling through to QUIC proxy correctly.post_downstream table gives every post (including text-only) a propagation tree. Engagement diffs flow through the file layer via BlobHeaderDiff (0xD0), never mesh.--bind (explicit server) skips STUN.--bind or UPnP now advertise their public IPv6 address, so peers save them in known_anchors for preferential reconnection.This project is open source and could use your help. Whether you're a developer, tester, or just have ideas — jump in.