nossl.sh

curl my public IP

curl my public IP

Script-friendly endpoints that return your IPv4 or IPv6 without extra markup.

Live snapshot

Connection report

IP address

🇺🇸 United States

🌐 Protocol
HTTP/1.0 · HTTP (no TLS)
📡 Ping
Measuring…
🧾 Headers captured
8
🕒 Generated
2025-12-22 11:05:26 UTC

Headers

Request headers

8 headers

Use curl for automation

Add nossl.sh to shell scripts to record the IP each job uses when running from VPNs, CI/CD, or edge nodes.

Choose the plain-text or JSON endpoints depending on what your tooling needs.

  • Plain text IPv4: curl http://nossl.sh
  • Plain text IPv6: curl http://v6.nossl.sh
  • JSON with headers: curl -H "Accept: application/json" http://nossl.sh/api/request-info

Validate dual-stack egress

Paired IPv4 and IPv6 endpoints confirm which path your traffic takes and make it easy to share with network teams.

  • Useful for NAT64/464XLAT and tunnel troubleshooting.
  • Refresh to capture a new timestamp before filing tickets.

What does the response look like?

The root endpoints return only the IP and a newline, making them safe for shell parsing. The API endpoint returns structured JSON.

Is there a rate limit?

nossl.sh is intended for lightweight diagnostics; reasonable automation is fine, but avoid high-frequency scraping.

Quick steps to trigger captive portals

Apple captive portal check

Open the official Apple CNA page to force the captive assistant on iOS and macOS devices.

Open Apple captive portal

Android captive portal check

Use the Android connectivity check URL that devices call before presenting the portal dialog.

Open Android captive portal