{
  "name": "network",
  "kind": "bundled",
  "title": "Network",
  "description": "Every address this machine has: each interface's IPs, the public IP with its location, the gateway, the DNS servers and the Tailscale IP. Enter copies the value.",
  "version": "0.1.0",
  "icon": {
    "tile": {
      "glyph": "󰌗",
      "bg": "cyan"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/network@v0.17.4",
  "source": "https://github.com/zcag/pal-extensions/tree/HEAD/network",
  "commit": "4d2559cf9c04d0133c97d7c897f19a14acb9eace",
  "manifest": {
    "name": "network",
    "title": "Network",
    "description": "Every address this machine has: each interface's IPs, the public IP with its location, the gateway, the DNS servers and the Tailscale IP. Enter copies the value.",
    "version": "0.1.0",
    "icon": {
      "tile": {
        "glyph": "󰌗",
        "bg": "cyan"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "settings": [
      {
        "kind": "text",
        "id": "public_ip_url",
        "label": "Public IP endpoint",
        "description": "Fetched with a 3 s timeout and kept 10 minutes; JSON with `ip` (and `city`, `country`, `org` when it has them) or a bare address. Empty: no public IP row.",
        "placeholder": "https://ipinfo.io/json",
        "default": "https://ipinfo.io/json"
      },
      {
        "kind": "list",
        "id": "networks",
        "label": "Known networks",
        "description": "One line per network, `SSID = kind label:Name icon:X`, keyed on the SSID or on the gateway (`192.168.1.1 = ...` also covers a cable into the same router and a Wi-Fi name macOS declines to reveal). Every field is optional and the order is free: a bare word is the kind, `label:` renames the network on the bar (the palette keeps the real SSID; a name with a space goes in quotes, `label:\"Cafe Corner\"`), `icon:` is one emoji or a Nerd Font glyph pasted in (the Icons palette copies one) drawn instead of the signal, hotspot, open or wired mark. Keyed fields rather than positions so a line with only an icon needs no placeholders. Kinds: `hide` drops the bar item entirely, since the network you are on almost all the time can tell you nothing and its absence is the point; `hotspot` marks one that costs data; `public` one to distrust. For example `192.168.1.1 = hide icon:󰋜`, `Cafe Wifi = hotspot label:Cafe icon:☕`.",
        "placeholder": "Cafe Wifi = hotspot label:Cafe icon:☕",
        "default": []
      }
    ],
    "store": {
      "tagline": "Every IP this machine has right now, Enter copies it",
      "category": "system",
      "features": [
        "Each interface's IPv4 and IPv6, the Wi-Fi network's name, the Tailscale IPs and the hostname",
        "The public IP with its city, country and provider (from ipinfo.io by default)",
        "The default gateway and the DNS servers in the order they are asked",
        "`enter` copies the value, `cmd+enter` opens the network settings",
        "A side pane with the details: interface, SSID, signal, MAC and status"
      ],
      "permissions": [
        "network",
        "location"
      ],
      "platforms": [
        "macos",
        "linux"
      ],
      "screenshots": [
        {
          "file": "1-addresses.png",
          "caption": "Every address in three sections, each row with its kind's glyph, the detail pane on the Wi-Fi interface"
        },
        {
          "file": "2-public.png",
          "caption": "The public IP with where it is and whose it is"
        },
        {
          "file": "3-search.png",
          "caption": "dns at the root finds the resolvers"
        },
        {
          "file": "4-actions.png",
          "caption": "Copy the value, or open the Network settings"
        },
        {
          "file": "bar-menubar.png",
          "caption": "On the menu bar: the signal as a Wi-Fi glyph and the network's name, or the label you gave it",
          "kind": "bar"
        },
        {
          "file": "bar-menubar-open.png",
          "caption": "On an open network the glyph turns into a coffee cup, so you know before you type a password",
          "kind": "bar"
        },
        {
          "file": "bar-popover.png",
          "caption": "A click opens the popover: the connection, interface, address, gateway, signal and DNS, with keys for settings and all addresses",
          "kind": "bar",
          "box": [
            410,
            64,
            840,
            620
          ]
        },
        {
          "file": "bar-popover-open.png",
          "caption": "An open café network, flagged amber as open in the popover",
          "kind": "bar",
          "box": [
            378,
            64,
            840,
            620
          ]
        },
        {
          "file": "bar-sketchybar.png",
          "caption": "On sketchybar: the Wi-Fi glyph and the network's label",
          "kind": "bar"
        }
      ],
      "actions": [
        {
          "title": "Copy",
          "description": "The row's value.",
          "keys": "enter"
        },
        {
          "title": "Open Network settings",
          "description": "System Settings on macOS; gnome-control-center, systemsettings or nm-connection-editor on Linux.",
          "keys": "cmd+enter"
        }
      ]
    },
    "palettes": {
      "network": {
        "title": "Network",
        "kind": "live",
        "ttl": 60,
        "description": "Live rows, listed again when the panel shows and the last listing is over a minute old; ⌘R lists now and fetches the public IP again.",
        "keys": [
          {
            "keys": "enter",
            "title": "Copy the value"
          },
          {
            "keys": "cmd+enter",
            "title": "Open Network settings"
          }
        ]
      }
    },
    "bar": {
      "status": {
        "title": "Network status",
        "description": "The active network, as its name (or the label Known networks gives it), or with Icon only as a glyph alone: signal strength on Wi-Fi, its own mark for a hotspot or an open network, wired, or offline, or the icon Known networks gives that network (home, office, cafe, phone). A network set to `hide` there draws nothing. Click opens Network Settings; the popover names the connection and its kind, then the interface, the address, the gateway, the signal and security, and the DNS servers.",
        "refresh": {
          "every": 5,
          "on": [
            "network",
            "wake"
          ]
        },
        "mocks": {
          "wifi": {
            "title": "Named Wi-Fi",
            "item": {
              "icon": "󰤥",
              "title": "Cafe",
              "tooltip": "Cafe Wifi · 192.168.1.131 · Signal 72% · Gateway 192.168.1.1 · en0"
            }
          },
          "weak": {
            "title": "Weak signal",
            "item": {
              "icon": "󰤟",
              "title": "Cafe",
              "tooltip": "Cafe Wifi · 192.168.1.131 · Signal 38% · Gateway 192.168.1.1 · en0"
            }
          },
          "hotspot": {
            "title": "Phone hotspot",
            "item": {
              "icon": "󰄜",
              "title": "iPhone",
              "tooltip": "iPhone · 172.20.10.3 · Signal 88% · Gateway 172.20.10.1 · en0"
            }
          },
          "open": {
            "title": "Open network",
            "item": {
              "icon": "󰅶",
              "title": "Cafe Guest",
              "tooltip": "Cafe Guest · 10.0.1.44 · Signal 61% · Gateway 10.0.1.1 · en0"
            }
          },
          "wired": {
            "title": "Wired",
            "item": {
              "icon": "󰈀",
              "title": "Ethernet",
              "tooltip": "Ethernet · 10.0.0.7 · Gateway 10.0.0.1 · en5"
            }
          },
          "offline": {
            "title": "No route",
            "item": {
              "icon": "󰤭",
              "title": "Offline",
              "color": "red",
              "tooltip": "No route to the internet"
            }
          },
          "glyph": {
            "title": "Glyph only (show_title off on the item)",
            "item": {
              "icon": "󰤨",
              "tooltip": "Cafe Wifi · 192.168.1.131 · Signal 94% · Gateway 192.168.1.1 · en0"
            }
          }
        },
        "keys": [
          {
            "keys": "enter",
            "title": "Open Network settings"
          },
          {
            "keys": "cmd+a",
            "title": "All addresses"
          }
        ]
      }
    }
  },
  "playable": false,
  "updated_at": "2026-11-02T04:38:11Z",
  "url": "https://pal.cagdas.io/extensions/network",
  "tagline": "Every IP this machine has right now, Enter copies it",
  "category": "system",
  "screenshots": [
    "https://pal.cagdas.io/extensions/network/screenshots/1-addresses-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/1-addresses.png",
    "https://pal.cagdas.io/extensions/network/screenshots/2-public-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/2-public.png",
    "https://pal.cagdas.io/extensions/network/screenshots/3-search-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/3-search.png",
    "https://pal.cagdas.io/extensions/network/screenshots/4-actions-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/4-actions.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-menubar-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-menubar-open-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-menubar-open.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-menubar.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-popover-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-popover-open-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-popover-open.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-popover.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-sketchybar-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-sketchybar.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/network/screenshots/1-addresses.png",
    "https://pal.cagdas.io/extensions/network/screenshots/2-public.png",
    "https://pal.cagdas.io/extensions/network/screenshots/3-search.png",
    "https://pal.cagdas.io/extensions/network/screenshots/4-actions.png"
  ],
  "bar_screenshots": [
    "https://pal.cagdas.io/extensions/network/screenshots/bar-menubar-open.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-menubar.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-popover-open.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-popover.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-sketchybar.png"
  ],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/network/screenshots/1-addresses-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/2-public-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/3-search-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/4-actions-dark.png"
  ],
  "bar_screenshots_dark": [
    "https://pal.cagdas.io/extensions/network/screenshots/bar-menubar-open-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-menubar-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-popover-open-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-popover-dark.png",
    "https://pal.cagdas.io/extensions/network/screenshots/bar-sketchybar-dark.png"
  ],
  "has_bar": true,
  "bar_items": [
    {
      "id": "status",
      "title": "Network status",
      "description": "The active network, as its name (or the label Known networks gives it), or with Icon only as a glyph alone: signal strength on Wi-Fi, its own mark for a hotspot or an open network, wired, or offline, or the icon Known networks gives that network (home, office, cafe, phone). A network set to `hide` there draws nothing. Click opens Network Settings; the popover names the connection and its kind, then the interface, the address, the gateway, the signal and security, and the DNS servers.",
      "refresh": {
        "every": 5,
        "on": [
          "network",
          "wake"
        ]
      },
      "refresh_words": "every 5s, when the network is back, on wake"
    }
  ],
  "has_links": false,
  "links": [],
  "multi": false,
  "has_readme": true
}
