Skip to content

SkyEye cannot connect to servers on LAN when running in background on macOS #566

@dharmab

Description

@dharmab

When the following are all true:

  • SkyEye is running on macOS 15
  • SkyEye is attempting to connect to a network service such as SRS, Tacview, or DCS-gRPC on LAN (as opposed to on the internet)
  • SkyEye is running as a background service (launchd/Brew service)

The network connection will be denied with a "no route to host" error due to Local Network Privacy

Workarounds

Option 1: Run skyeye as a foreground process (while true; do skyeye --config-file "$(brew --prefix)/etc/skyeye/config.yaml"; sleep 60; done). This should work fine, but without autostart and logging persistence/rotation.

Option 2: Use public internet addresses instead of LAN addresses, if available. i.e. use the addresses that players would use to connect to SRS and Tacview from outside the LAN, over the internet. Note that this won't work on many networks unless Hairpin NAT is set up.

Option 3: Use Tailscale, adding the DCS server and the mac to a tailnet, and use the tailnet address or MagicDNS name of the DCS server instead of the LAN address. The tailnet addresses use CGNAT IP space instead of LAN addresses, so macOS will allow the connection. This is what I do for my personal DCS server; it has none of the drawbacks of the other approaches, and Tailscale is an awesome piece of software in general.

Fixes

A proper fix for this issue would likely involve creating a GUI application for SkyEye, e.g. a tray application. I'm not particularly interested in doing this when the above workarounds work fine.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions