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.
The privacy architecture overhaul. Network identity is decoupled from posting identity — peers cannot correlate network traffic to a posting identity, and users can hold multiple simultaneous posting identities (personas) on one device.
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.
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.