Where is my traffic exiting?
The menu bar shows an uppercase country code. Click for the flag, country, city, ISP and ASN. No need to open an IP lookup page after switching nodes.
Indicator color, country code and live latency stay in the menu bar. Click for your exit IP, city, ISP, Cloudflare location and the last 60 latency samples. Native Swift, no third-party dependencies or system permissions.
1.5 MB· macOS 14 Sonoma or later · Apple Silicon & Intel · Free, no in-app purchases

Illustrative data · Your panel shows real measurements from your machine
What it answers
You switch a proxy node and an app keeps spinning. Is the node slow, the provider slow, or did your exit never change? An empty status bar cannot tell you.
The menu bar shows an uppercase country code. Click for the flag, country, city, ISP and ASN. No need to open an IP lookup page after switching nodes.
Latency stays in the menu bar. Green, yellow, orange and red thresholds are <100 / <200 / <350 / ≥350ms, so you can quickly decide whether to switch.
Compare exit IP, Cloudflare location, TLS and HTTP versions, local IP, VPN interfaces and system proxies in one panel, without hopping between several diagnostic tools.

Inside the panel
Indicator thresholds reflect measured proxy traffic: around 20ms direct, 100–200ms for Japan and Korea, and 250ms or more for Europe and America. Colors describe tunnel quality, not an idealized absolute target.
Why not just ping
pingThese three constraints come from real testing. They also make PingBar's readings trustworthy.
Switching proxy nodes does not close established TCP connections. A reused pool can keep reporting the previous node's IP and latency—the familiar “Japan selected, Taipei displayed” illusion. PingBar creates a new URLSession for each round and forces a fresh handshake.
TUN / fake-IP proxies such as Shadowrocket can answer SYN and ICMP locally. A system ping of 0.5ms can be misleading. PingBar measures actual HTTPS round trips.
The first request uses a cold connection to retrieve the authoritative exit IP and connection time (DNS + TCP + TLS). Subsequent requests on that connection measure warm round trips: the tunnel's actual RTT.
Probe target
https://www.cloudflare.com/cdn-cgi/trace
Geolocation
Tries api.ip.sb, then ipapi.co as a fallback
Data destinations
No requests beyond these addresses. No telemetry or update checks
Install
Download the DMG
Use the button below to get PingBar-1.0.0.dmg(1.5 MB), or download it from GitHub Releases.
Drag to Applications
Open the DMG, drag PingBar to the Applications shortcut, then eject the disk image.
First launch
In Finder, right-click PingBar.app → Open, or choose “Open Anyway” in System Settings → Privacy & Security. Subsequent launches work normally.
Check the menu bar
No Dock icon appears. The menu bar shows a country code and milliseconds. Left-click for details; right-click for quick actions.
About the first-launch prompt
This version is ad-hoc signed without Apple Developer ID notarization, so Gatekeeper blocks it once. Step 3 is required only on first launch. The app changes no system settings.
Use it
Open or close the details panel. Tests run every three seconds while open, and every ten seconds when closed.
Quick menu: Refresh Now (R), toggle automatic tests, Copy Current IP (C), Quit PingBar (Q).
NWPathMonitor detects path changes and retests when you switch Wi-Fi, wake from sleep or switch nodes.
“Copy Details” at the bottom formats every field into a plain-text block, ready to paste.
8e9d3611642d7c82…FAQ
Yes. Free to download and use, with no paywall, in-app purchases, accounts or trial expiration.
This version is ad-hoc signed, without Apple Developer ID notarization. Gatekeeper blocks the first launch. Right-click PingBar.app → Open in Finder, or choose “Open Anyway” under System Settings → Privacy & Security. You only need to do this once.
With a proxy, system ping can be misleading: TUN / fake-IP proxies may answer ICMP locally in under 1ms even when the real connection is slower. PingBar measures HTTPS round trips on a fresh connection for each round, so readings reflect the current node.
No. PingBar has no analytics, telemetry or private server. It requests connection information from cloudflare.com's trace endpoint and tries ip.sb then ipapi.co for geolocation. It makes no requests to other addresses.
No. PingBar runs as a normal user app. It installs no kernel extensions or proxy configurations, requests no accessibility or screen-recording permissions, and does not change network settings. It only observes.
macOS 14 Sonoma or later, on Apple Silicon and Intel. Source builds match your machine's architecture.
It comes from the current exit probe. If your proxy is not ready or the probe fails, only latency or “--” may appear. Wait for the next automatic test, or right-click and select “Refresh Now”.
Free download,1.5 MB. Install it and forget it—until you wonder again whether your node switch really took effect.
https://download.kidstudio.top/PingBar-1.0.0.dmg