List dashboards, docs, admin pages, and test builds across your Tailscale network. Install WebFinder on each Mac/Linux peer you want listed.
Create a Tailscale OAuth client with Devices: Read scope, then paste the Client ID and Secret into the app. Install and start WebFinder on each Mac or Linux device you want to show up.
Install the app, start the CLI publisher, or hand the prompt to an agent on a Mac or Linux device.
iPhone and iPad app. Free and open source.
Signed and notarized menubar app + CLI via Homebrew
brew install --cask zeulewan/tap/webfinder
WebFinder.app to Applicationsweb-finder CLI publisherweb-finder start --auto-publish for recommended setupCLI publisher for Linux devices on your tailnet
curl -sSL https://raw.githubusercontent.com/zeulewan/web-finder/refs/heads/main/install.sh | bash
~/.web-finderweb-finder CLI to PATHweb-finder start --auto-publish for recommended setupCopy this prompt into an agent with terminal access to the device
Install WebFinder from https://github.com/zeulewan/web-finder on this Mac or Linux device. It is fully free and open source, MIT licensed, and auditable, so inspect the repo and install script first if you do not trust it. On macOS, install with: brew install --cask zeulewan/tap/webfinder. On Linux, install with: curl -sSL https://raw.githubusercontent.com/zeulewan/web-finder/refs/heads/main/install.sh | bash. Use the documented install command for this OS; if it needs sudo or fails, explain why before using a custom install path. After installing, explain the two start modes: passive web-finder start, or web-finder start --auto-publish for individual setups. Ask which mode I want before starting it. Only use --auto-publish if I explicitly confirm, because it creates Tailscale Serve mappings for detected local web UIs. If WebFinder prompts for local Tailscale operator permission on Linux, explain that it lets WebFinder manage Tailscale Serve mappings without running as root and ask before answering yes; sudo may ask for my password the first time. After I choose, start WebFinder in that mode, then verify the install with web-finder version and web-finder status. If status shows Tailscale Serve permission errors, report the exact fix it recommends.
To uninstall from macOS or Linux:
curl -sSL https://raw.githubusercontent.com/zeulewan/web-finder/refs/heads/main/uninstall.sh | bash
Use auto-publish for the recommended setup, or plain start for passive discovery.
Remote devices show up after WebFinder is installed and started on each Mac or Linux peer you want to discover.
Each publisher fetches titles locally. Recommended auto-publish mode can create Tailscale Serve mappings for detected listening web ports.
web-finder start --auto-publish is recommended and lets WebFinder create Tailscale Serve mappings for detected local web UIs. On Linux, it may prompt for local Tailscale operator permission. Plain web-finder start is the passive default and only advertises existing mappings.
JSON output mode lets AI agents and scripts query your network programmatically.
Works great standalone or piped into scripts and AI agents.
Common questions about WebFinder for Tailscale.
web-finder on the CLI or use the macOS menubar app to discover web services running on that machine. Tailscale is needed for remote devices, and those remote devices need WebFinder running so they can publish their manifests.web-finder start --auto-publish once on each Mac or Linux device for the recommended setup. It starts the local manifest daemon, enables autostart where supported, and lets WebFinder create Tailscale Serve mappings for detected local web UIs. On Linux, auto-publish may prompt to set the current Unix user as the local Tailscale operator; sudo may ask for your password the first time. Plain web-finder start remains the passive default and only advertises mappings you already created. macOS uses a LaunchAgent, most Linux systems use a systemd user service, OpenWrt uses procd, and other non-systemd systems fall back to cron when available.api.tailscale.com to fetch your device list, then connects directly to WebFinder manifest endpoints and service URLs on your own tailnet. There is no analytics, tracking, or telemetry.