Skip to content

Home network: compare both machines' networks over the relay #219

Closed

Description

@bfieser

Follow-up to #216 / PR #218 (decision #123). One machine alone can't tell "the other machine is on a different Wi-Fi", "its VPN is on", "Home network isn't picked there" or "a firewall drops what we send". Its linked machines can.

Proposal

Each machine keeps a small sealed net/<machine id> object on the relay saying:

  • whether Home network sync is on and listening,
  • its home-network subnets (network address and prefix only, e.g. 192.168.1.0/24),
  • whether its broadcasts leave through a VPN or virtual adapter,
  • which linked machines it hears right now (by id).

It's sent when any of that changes (at most every 30 s) and, only while a linked machine is missing or can't hear this one, every 5 minutes so the others know it's still running. Nothing is sent while everything works.

The other machines use it to say, per missing machine:

  • Home network sync isn't on there
  • it hasn't checked in since … (asleep, Patch Pilot closed, offline)
  • a VPN is on there
  • it's on a different network
  • it hears this machine but nothing from it arrives here (firewall here)
  • same network, both listening, neither hears: firewall or the router keeping devices apart (guest Wi-Fi / AP isolation)

…and, on a machine that is heard, "Laptop can't hear this machine, so this machine's files aren't reaching it".

A cause is named only when the other machine's report is fresh (under 12 minutes old) and agrees.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions