LAN peer discovery

There are three options:

  1. Use Wi-Fi Direct peer discovery.

Advantages:

  • Available on recent Android devices with very little effort
  • Doesn't create a Briar-specific traffic fingerprint
  • Doesn't reveal the number of contacts

Disadvantages:

  • Not available on older Android devices
  • May not be available on all platforms
  1. Use BitTorrent's local peer discovery protocol. Advertise a single infohash for all contacts.
    https://en.wikipedia.org/wiki/Local_Peer_Discovery
    http://forum.utorrent.com/viewtopic.php?pid=433785#p433785

Advantages:

  • Doesn't create a Briar-specific traffic fingerprint
  • Doesn't reveal the number of contacts

Disadvantages:

  • Direct use of multicast won't work on all Android devices
  1. Use a custom protocol. Choose a pseudorandom multicast group, advertise it in transport properties. Join the group at startup and periodically send a UDP packet to the group. Join contacts' multicast groups, listen for UDP packets, and connect back via TCP.

Advantages:

  • Won't trigger filter rules designed to catch P2P traffic

Disadvantages:

  • Direct use of multicast won't work on all Android devices
  • Will IGMP traffic reveal the number of contacts?
Edited by Cleopatra