B-LAN

Stack: Flutter, Dart, Riverpod, Drift

Repository

What

Flutter rewrite of D-LAN: share folders on your LAN, discover peers, browse remote files, and download with verified chunk resume. Ed25519 device identity; peer transfers use HTTPS with pinned self-signed TLS.

How it works

  • Discovery over mDNS _blan._tcp (Bonsoir on Linux/macOS/Android; Linux wants Avahi).
  • Native clients handshake /hello + /session; chunks via /chunks and Range on files. Multi-source failover when manifests match.
  • Android: SAF folder sharing, foreground service for scan/download, multicast lock for browse.
  • Secrets in platform secure storage when available; identity-changed / untrusted-peer warnings.

Status

Linux and macOS: share, discover, advertise. Windows: browse/manual connect; advertise not supported yet. Android: SAF + FGS. Web: no share/discover — manual host/port/token only. Tray/background mode not implemented — closing the app stops sharing. No public APK yet.

Screenshots

No screenshot yet.

Get it

  • Source: github.com/brukberhane/B-LAN
  • CRT: get b-lan (no public file yet → get: no download)
  • Desktop: flutter pub get && dart run build_runner build && flutter run -d linux