Skip to content

πŸ”’ Quickly view basic info about every webpage, including server location, IP addresses, certificate expiration date and issuer, HTTP status code and load time

License

Notifications You must be signed in to change notification settings

tdulcet/Server-Status

Repository files navigation

Actions Status

Server Status

Quickly view basic info about every webpage

Copyright Β© 2021 Teal Dulcet

Firefox add-on/WebExtension to quickly view basic information about every HTTP/HTTPS webpage that browsers either do not show or make difficult to find. The popup includes:

  • Server location
  • IP address(es)
  • HTTP status code and version
  • Load time, time to first byte, first paint and largest paint
  • Transfer size
  • *Last modified
  • Certificate issuer and expiration date
  • SSL/TLS protocol
  • HTTP Strict Transport Security (HSTS) status
  • Requests table with a row for each hostname/domain:
    • Number of connections
    • Icon(s) representing the classification by Firefox's Enhanced Tracking Protection (ETP) feature
    • Icon representing the security state
    • Days left until certificate expiration
    • SSL/TLS version
    • HSTS max age in days
    • HTTP version
    • Icon representing the HTTP status code(s)
    • Hostname/Domain
    • IP address(es)
    • Flag for country of server location(s)

All of this information is determined offline and locally in the browser. Users can hover over almost everything in the popup, especially in the Requests table, to see tooltips with much more information. The toolbar icon is configurable and can show:

  • Flag for country of server location (default)
    • Badge: Country code
  • Internet Protocol version
  • Days left until certificate expiration
  • SSL/TLS version
  • HTTP status code
  • HTTP version
  • Load time
  • Largest Contentful Paint time

Users can hover over the toolbar icon to see a tooltip with the HTTP status line, IP address, Server location, Certificate issuer and expiration date, SSL/TLS protocol and HSTS status.

To monitor the status of one or more servers, please see the Remote Servers Status Monitoring script.

❀️ Please visit tealdulcet.com to support this extension and my other software development.

⬇️ Download from Addons.mozilla.org (AMO).

* On servers which provide this information

Features

  • Supports using nine different IP geolocation databases to lookup the server location
    • Including both country only and full location (state/providence/region and city) databases
    • Users can select the database with the most accuracy for their locations of interest
    • All databases support both IPv4 and IPv6 addresses
    • Supports IPv4-mapped, IPv4-compatible and IPv4-embedded IPv6 addresses
    • They are prepossessed into a constant TSV format by my IP Geolocation Databases repository
    • Updates are provided either daily, weekly or monthly depending on the database
    • One of the full location databases is localized in eight languages
    • The database runs in a separate thread to improve performance
  • Highlights the suffix for hostnames in the popup using Mozilla's Public Suffix List (PSL)
  • The IP databases and PSL are automatically downloaded and updated directly, without needing to update the entire extension
    • This allows users to enjoy much faster and more frequent updates and thus more accurate information
  • Use a keyboard shortcut to quickly open the popup (by default Ctrl+Alt+S)
  • Shows the active and failed/blocked connections in the Requests table
  • Shows certificate start/end dates and a countdown
  • Button to view the full certificate chain in Firefox's about:certificate certificate viewer
  • Supports showing whether the hostname or IP addresses are blacklisted
  • Respects your privacy and does not send data anywhere by default, all information is determined locally in your browser
  • Supports the light/dark mode of your system automatically
  • Settings automatically synced between all browser instances and devices
  • Uses Unicode Emojis for all icons
  • Follows the Firefox Photon Design
  • Compatible with Firefox for Android

Icons/Emojis

Meaning of the emojis used for the toolbar icon and/or in the popup.

Server location

Emoji Description
🏳️ Flag for the country of the server location (supports all Unicode country flag emojis, currently 258)
🌐 The browser cached the page, so no actual connection was made (try refreshing it)
❓ Location unknown (try selecting a different IP geolocation database)
ℹ️ The page failed to load, was blocked or access was denied (Firefox blocks access to some Mozilla domains)
🧩 Unavailable for the page (it only works on standard HTTP/HTTPS webpages and you would need to refresh any existing pages after installing the add-on)

Security/Connection state

Emojis Description
πŸ”’ Secure
πŸ”’βš οΈ Weak cipher
❌ Broken (e.g. the certificate is untrusted, has expired or is not valid for the domain)
πŸ”“ Insecure (HTTP connection)
β›” Error (e.g. the page failed to load or was blocked)
πŸ›‘οΈ Blocked (e.g. by ETP SmartBlock or another add-on)

The ⚠️ emoji is also used when a certificate is about to expire (in less than three days by default).

HTTP status

Emoji HTTP status codes Description
🟦 100 - 199 Informational
🟩 200 - 299 Success
🟨 300 - 399 Redirection
πŸŸ₯ 400 - 599 Client/Server error

There is also an Easter egg fifth emoji. See this link for a full list of the possible HTTP status codes.

ETP Classification

URL classification by Firefox's Enhanced Tracking Protection (ETP) feature.

Emoji Description
πŸ‘£ Fingerprinting
βš’οΈ Cryptomining
πŸ‘οΈ Tracking (e.g. Ads, Analytics, etc.)
πŸ‘₯ Social tracking (i.e. Facebook, LinkedIn and Twitter)

See the official documentation for the full list of possible classification flags.

Other Extensions

  • Flagfox (Firefox)
    • Shows only the server country and IP address and only for the main frame/page (not all requests on the page)
  • IPvFoo (Firefox and Chrome)
    • Shows only the IP addresses

Contributing

Pull requests welcome! Ideas for contributions:

  • Test the browserAction icon on more systems
    • ⭐ Help needed to test on macOS
  • Convert to Manifest V3 (MV3)
  • Refactor into more modules
  • Improve the popup design
  • Add more information to the popup
  • Remove remaining uses of .innerHTML from the popup
  • Use the Streams API to process the IP geolocation databases to reduce memory usage
  • Use the TextMetrics interface to dynamically determine the font size for each emoji when generating the icons (see bug 1692791)
  • Show the IP address and location for cached requests (see bug 1395020)
  • Get the suffixes directly from the browser instead of downloading the PSL (see bug 1315558)
  • Show requests intercepted by service workers (see bug 1626831)
  • Open the about:certificate page directly instead of requiring the user to manually paste the URI (see bug 1777950)
  • Show the certificate information in the popup after the user adds an exception (see bug 1678492)
  • Make the popup wider (see bug 1395025)
  • Show the classification for requests blocked by ETP (see bug 1779770)
  • Add support for more IP geolocation databases (see here)
  • Improve the performance
  • Show the server location on a globe
  • Show a list of the number of connections for each country for all pages (see bug 1796768, suggested by Daniel Connelly)
  • Show requests that occurred outside a tab
  • Allow the user to enter and check the location of individual IP addresses
  • Allow installing in Firefox for Android from AMO (see here and bug 1796184) and sync settings (see bug 1625257)
  • Add support for Chromium
    • webRequest.getSecurityInfo() is not yet supported (see bug 628819)
  • Localize the add-on

About

πŸ”’ Quickly view basic info about every webpage, including server location, IP addresses, certificate expiration date and issuer, HTTP status code and load time

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published