How joker20380/family_connect works
Family Connect is a multi-platform private-connectivity client with device activation, regional encrypted gateway connections, and a separate messenger. The main workflow is invitation activation, choosing a gateway/transport, and managing a VPN session; Android also runs control synchronization and recovery. Messaging is a distinct branch, not a consequence of connecting the VPN. The README documents Linux and Windows clients and pilot server capabilities; sampled implementation details are limited, so uncertain component wiring is omitted.
Main entry points: ConnectionService.java Connection service · MainActivity.java Android app · ControlTransaction.java Control transactions · ChatRuntime.java Chat runtime
Components 22
Client applications
- Invitation activation
clients/android/app/src/main/java/com/familyconnect/app/ControlEnrollment.java - Android app
clients/android/app/src/main/java/com/familyconnect/app/MainActivity.java - Linux / Windows apps
clients/desktop/app.py
Gateway connection
- Connection service
clients/android/app/src/main/java/com/familyconnect/app/ConnectionService.java - Transport selection
clients/android/app/src/main/java/com/familyconnect/app/Transport.java - Connection profiles
clients/android/app/src/main/java/com/familyconnect/app/ProfileStore.java - AWG tunnel
clients/android/app/src/main/java/com/familyconnect/app/TunnelEngine.java - TCP tunnel
clients/android/app/src/main/java/com/familyconnect/app/TcpTunnelEngine.java
Device control
- Control operations
clients/android/app/src/main/java/com/familyconnect/app/ControlOperations.java - Control transactions
clients/android/app/src/main/java/com/familyconnect/app/ControlTransaction.java - Device identity vault
clients/android/app/src/main/java/com/familyconnect/app/ControlIdentityVault.java - Durable control journal
clients/android/app/src/main/java/com/familyconnect/app/ControlJournal.java
Messaging
- Messenger UI
clients/android/app/src/main/java/com/familyconnect/app/ChatActivity.java - Chat runtime
clients/android/app/src/main/java/com/familyconnect/app/ChatRuntime.java - Encrypted chat store
clients/android/app/src/main/java/com/familyconnect/app/ChatStoreCipher.java - Background delivery
clients/android/app/src/main/java/com/familyconnect/app/ChatDeliveryService.java
Backend services
- Regional gateways
control/product/gateways.py - Control API
control/product/api.py - Provisioning
provisioning/application.py - Messenger relay
messenger/server.py
Other components
- Family member
- Internet access
Connections 22
- Family member → Android app: uses
- Family member → Linux / Windows apps: uses
- Android app → Invitation activation: activates from invitation
- Invitation activation → Control API: requests access
- Control API → Provisioning: provisions device
- Android app → Connection service: starts connection
- Connection service → Control operations: runs control startup
- Connection service → Transport selection: selects transport
- Connection service → Connection profiles: checks profiles
- Connection service → AWG tunnel: starts tunnel
- Connection service → TCP tunnel: starts tunnel
- Connection service → Regional gateways: connects to selected gateway
- Control operations → Control transactions: coordinates operations
- Control transactions → Device identity vault: loads identity
- Control transactions → Durable control journal: persists state
- Control transactions → Control API: sends control requests
- Android app → Messenger UI: opens messenger
- Messenger UI → Chat runtime: uses
- Chat runtime → Encrypted chat store: stores encrypted messages
- Chat runtime → Background delivery: runs delivery
- Background delivery → Messenger relay: exchanges messages
- Regional gateways → Internet access: provides access