| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Peer into any domain.
Periscope is a sophisticated DNS and Network diagnostic tool. It combines a beautiful web interface https://periscope.run with a Local Bridge running on your machine. This allows the web UI to securely execute local system tools like dig, whois, and curl to gather deep intelligence on domains without rate limits or proxy restrictions.
To start Periscope, simply run the bootstrapper. This will set up the environment, start the local bridge, and open the interface in your browser.
curl -sL https://periscope.run/boot.sh | bashThis command installs necessary dependencies (PHP, dig, whois) if missing, sets up the local API engine, and connects it to the web UI.
| Shortcut | Action |
|---|---|
| / | Focus search bar |
| ? | Show help modal |
| Cmd + K | Open scan history |
| Esc | Close modal |
| ↑ / ↓ | Navigate lists |
| Enter | Select item |
Right-click on IP addresses or Domain values in the UI to access context menus for "Dig" and "Whois".
| Type | Name | Description |
|---|---|---|
| A | @, *, www, + subdomains | IPv4 addresses |
| AAAA | @, www | IPv6 addresses |
| NS | @ | Nameservers |
| SOA | @ | Start of Authority |
| MX | @, mg | Mail exchangers |
| TXT | @ | Text records (SPF, verification, etc.) |
| CAA | @ | Certificate Authority Authorization |
| HTTPS | @ | HTTPS service binding |
| SVCB | @ | Service binding |
| TLSA | _443._tcp, _25._tcp | DANE TLS authentication |
| SRV | Various | Service records |
| CNAME | Various | Canonical name aliases |
| Category | Subdomains |
|---|---|
| Web | www, blog, shop, portal, cdn, status |
| mail, webmail, smtp, imap | |
| Hosting Panels | cpanel, whm, plesk |
| Development | dev, api, app, staging, stage, test, testing, uat, demo, beta, alpha, sandbox |
| DevOps | git, gitlab, jenkins, ci |
| Admin/Auth | admin, administrator, dashboard, panel, login, signin, auth, sso, oauth, secure, ssl |
| Assets | static, assets, img, images, media, files, downloads |
| Documentation | docs, documentation, support, help, kb |
| Network | remote, vpn, ftp, gateway, proxy, internal, intranet |
| Record | Name | Purpose |
|---|---|---|
| SPF | @ TXT | Sender Policy Framework |
| DMARC | _dmarc | Domain-based Message Authentication |
| MTA-STS | _mta-sts, mta-sts | Mail Transfer Agent Strict Transport Security |
| TLS-RPT | _smtp._tls | TLS Reporting |
| BIMI | default._bimi | Brand Indicators for Message Identification |
| Selector | Service |
|---|---|
| google._domainkey | Google Workspace |
| selector1._domainkey, selector2._domainkey | Microsoft 365 |
| default._domainkey | Generic |
| k1._domainkey, k2._domainkey, k3._domainkey | Mailchimp |
| s1._domainkey, s2._domainkey | Generic |
| mandrill._domainkey | Mailchimp/Mandrill |
| mxvault._domainkey | MXVault |
| postmark._domainkey, pm._domainkey | Postmark |
| mailjet._domainkey | Mailjet |
| sendgrid._domainkey, smtpapi._domainkey | SendGrid |
| amazonses._domainkey | Amazon SES |
| sparkpost._domainkey | SparkPost |
| cm._domainkey | Campaign Monitor |
| mailgun._domainkey | Mailgun |
| zendesk1._domainkey, zendesk2._domainkey | Zendesk |
| krs._domainkey | Kustomer |
| protonmail._domainkey (1-3) | ProtonMail |
| zmail._domainkey, zoho._domainkey | Zoho |
| Type | Name | Purpose |
|---|---|---|
| CNAME | autodiscover | Outlook autodiscovery |
| CNAME | lyncdiscover | Skype for Business |
| CNAME | sip | SIP federation |
| CNAME | enterpriseregistration | Device registration |
| CNAME | enterpriseenrollment | MDM enrollment |
| CNAME | msoid | Microsoft Online ID |
| SRV | _sip._tls | SIP over TLS |
| SRV | _sipfederationtls._tcp | SIP federation |
| SRV | _autodiscover._tcp | Autodiscovery |
| Type | Name | Purpose |
|---|---|---|
| TXT | _amazonses | Amazon SES verification |
| TXT | _mailchannels | MailChannels verification |
| TXT/CNAME | _acme-challenge | Let's Encrypt validation |
| TXT | _google | Google site verification |
| TXT | _github-challenge | GitHub verification |
| TXT | _facebook | Facebook verification |
| TXT | _dnslink | IPFS/DNSLink |
| MX/CNAME/TXT | mg.* | Mailgun subdomain |
| CDN | Detection Method |
|---|---|
| Cloudflare | cf-ray, cf-cache-status headers |
| CloudFront | x-amz-cf-id, x-amz-cf-pop headers |
| Fastly | x-served-by header |
| Akamai | x-akamai-transformed, akamai-grn headers |
| BunnyCDN | cdn-pullzone, cdn-uid headers |
| StackPath | x-hw, x-sp-pop headers |
| Azure CDN | x-msedge-ref, x-azure-ref headers |
| Google Cloud CDN | via: google header |
| Sucuri | x-sucuri-id header |
| Imperva | x-iinfo header |
| KeyCDN | x-edge-location header |
| ArvanCloud | x-arvan-cache header |
| CDN77 | x-77-pop, x-cdn77-pop headers |
| Limelight | x-llnw-nginx header |
| Edgecast | x-ec-custom-error header |
| Cachefly | x-cf-pop header |
| Provider | Detection Method |
|---|---|
| Kinsta | x-kinsta-cache, ki-cf-cache-status headers |
| WP Engine | x-powered-by: WP Engine header |
| Flywheel | x-fw-hash, x-fw-serve headers |
| Pantheon | x-pantheon-styx-hostname header |
| Vercel | x-vercel-id, x-vercel-cache headers |
| Netlify | x-nf-request-id header |
| Heroku | via: heroku header |
| AWS | x-amzn-requestid, x-amz-request-id headers |
| Google Cloud | x-cloud-trace-context header |
| Azure | x-ms-request-id, arr-disable-session-affinity headers |
| DigitalOcean | x-do-app-origin header |
| Render | x-render-origin-server, rndr-id headers |
| Railway | x-railway-request-id header |
| Fly.io | fly-request-id header |
| Platform.sh | x-platform-server header |
| Acquia | x-ah-environment, x-acquia-host headers |
| Pagely | x-pagely-cache header |
| Pressable | x-powered-by: flavor atlas header |
| SiteGround | x-siteground-optimizer header |
| Rocket.net | x-rocket-cache-status header |
| Convesio | x-convesio-cache header |
| Cloudways | x-cw-cache, x-cloudways-cache headers |
| Liquid Web | x-lw-cache header |
| 10Web | x-10web-cache header |
| Bluehost | x-endurance-cache-level header |
| GoDaddy | x-godaddy-datacenter header |
| DreamHost | x-served-by: dreamhost header |
| WPX | x-wpx-cache header |
| Closte | x-closte-cache header |
| Templ | x-templ-cache header |
| Servebolt | x-servebolt-id header |
| SpinupWP | x-spinupwp-cache header |
| GridPane | x-gridpane-cache header |
| RunCloud | x-runcloud-cache header |
| WordPress.com | x-ac, via: wordpress.com headers |
| Squarespace | server: Squarespace header |
| Wix | server: Pepyaka header |
| Shopify | x-shopify-stage, x-shopid headers |
| GitHub Pages | x-github-request-id header |
| GitLab Pages | x-gitlab-version header |
| Webflow | x-wf-proxy-request-id header |
| Deno Deploy | x-deno-ray header |
| Cloudflare Pages | cf-ray + server: cloudflare headers |
| Server | Detection |
|---|---|
| nginx | server: nginx |
| Apache | server: Apache |
| LiteSpeed | server: LiteSpeed |
| IIS | server: Microsoft-IIS |
| OpenResty | server: openresty |
| Caddy | server: Caddy |
| Tengine | server: Tengine |
| Cowboy | server: Cowboy |
| Platform | Detection Method |
|---|---|
| WordPress | wp-content, wp-includes in HTML |
| Shopify | cdn.shopify.com in HTML |
| Squarespace | squarespace.com in HTML |
| Wix | wix.com, wixstatic.com in HTML |
| Drupal | Drupal.settings, /sites/default/ in HTML |
| Joomla | generator: Joomla meta tag |
| Webflow | webflow.com in HTML |
| Ghost | ghost.io in HTML |
Periscope checks for the presence and configuration of important security headers, providing a score out of 7.
| Header | Description |
|---|---|
| Strict-Transport-Security | HSTS - enforces HTTPS connections |
| Content-Security-Policy | CSP - prevents XSS and injection attacks |
| X-Frame-Options | Prevents clickjacking attacks |
| X-Content-Type-Options | Prevents MIME-type sniffing |
| Referrer-Policy | Controls referrer information |
| Permissions-Policy | Controls browser features (formerly Feature-Policy) |
| X-XSS-Protection | Legacy XSS filter (for older browsers) |
Additionally, Periscope checks for:
| Framework | Detection Pattern |
|---|---|
| React | reactdom, __REACT, _reactRootContainer |
| Vue.js | __VUE__, v-cloak, v-if, v-for |
| Angular | ng-app, ng-controller |
| Next.js | _next/static, __NEXT_DATA__ |
| Nuxt.js | _nuxt/, __NUXT__ |
| Gatsby | gatsby- prefixed classes |
| Svelte | __svelte |
| Ember.js | ember-view, data-ember |
| jQuery | jquery.min.js, jquery.js |
| Alpine.js | x-data, x-show, x-bind |
| Tailwind CSS | tailwindcss references |
| Bootstrap | bootstrap.min.css, bootstrap.bundle |
| Platform | Detection Pattern |
|---|---|
| Google Analytics | google-analytics.com, gtag(, UA-*, G-* |
| Plausible | plausible.io |
| Fathom | usefathom.com |
| Matomo | matomo.js, piwik.js |
| Hotjar | hotjar.com |
| Mixpanel | mixpanel.com |
| Segment | segment.com, analytics.load |
| Heap | heap.io |
| Amplitude | amplitude.com |
| Microsoft Clarity | clarity.ms |
| Facebook Pixel | fbevents, fbq( |
| LinkedIn Insight | snap.licdn.com |
| Twitter Pixel | ads-twitter.com, twq( |
| Platform | Detection Pattern |
|---|---|
| WooCommerce | woocommerce, wc-block |
| Magento | Mage.Cookies, mage- |
| BigCommerce | bigcommerce.com |
| PrestaShop | prestashop |
| OpenCart | opencart |
| Ecwid | ecwid.com |
| Snipcart | snipcart |
| Stripe | stripe.com, Stripe( |
| PayPal | paypal.com/sdk |
| Widget | Detection Pattern |
|---|---|
| Intercom | intercom.io |
| Drift | drift.com |
| Crisp | crisp.chat |
| Tawk.to | tawk.to, Tawk_API |
| LiveChat | livechat.com |
| Zendesk | zendesk.com, zE( |
| Freshdesk | freshdesk.com |
| HubSpot | hubspot.com, hs-scripts |
| Olark | olark.com |
| Tidio | tidio.co |
| Tool | Detection Pattern |
|---|---|
| Typeform | typeform.com |
| JotForm | jotform.com |
| Google Forms | forms.gle, docs.google.com/forms |
| Mailchimp | mailchimp.com |
| ConvertKit | convertkit.com |
| Google Tag Manager | googletagmanager.com/gtm |
| File | Purpose |
|---|---|
| /robots.txt | Crawling rules, disallowed paths, sitemap references |
| /sitemap.xml | XML sitemap presence and URL count |
| /.well-known/security.txt | Security contact and policy info |
| /favicon.ico | Favicon presence and MD5 hash (for fingerprinting) |
| Category | Tags |
|---|---|
| Basic | title, description, keywords, author, generator |
| Open Graph | og:title, og:description, og:image, og:type |
| Twitter Cards | twitter:card, twitter:site, twitter:title |
| SEO | canonical link |
The favicon MD5 hash can be used to identify sites using the same favicon, useful for:
Periscope uses a Local Bridge architecture:
Data Privacy: All history and metadata are stored in a local SQLite database (~/.periscope/history.db), while heavy raw scan data (HTML, Headers, Images) is stored as flat files in ~/.periscope/scans/. No scan data is sent to external servers.
If you prefer not to use the auto-bootstrapper, you can run Periscope manually.
# 1. Clone the repository
git clone https://github.com/austinginder/periscope.git
cd periscope
# 2. Run the boot script
./boot.shFor local development, use the --local flag. This serves the index.html from your local directory instead of downloading from GitHub releases:
./boot.sh --localThis opens http://127.0.0.1:8989/?local=true with your local changes.
You can link directly to a domain scan using URL parameters:
http://127.0.0.1:8989/?local=true&domain=example.com
Once installed, you can use the underlying engine directly from your terminal for quick, headless scans.
# Standard lookup
php ~/.periscope/engine.php google.com
# Upgrade scan history to new storage format
php ~/.periscope/engine.php action=bulk_upgradePeriscope uses Semantic Versioning (MAJOR.MINOR.PATCH):
Cached scan data is considered valid if the major.minor version matches. This means:
| Cached Version | Current Version | Cache Valid? | Reason |
|---|---|---|---|
| 1.4 | 1.4.1 | Yes | Same minor version (1.4) |
| 1.4.1 | 1.4.2 | Yes | Same minor version (1.4) |
| 1.4 | 1.5 | No | Different minor version |
| 1.3 | 1.4 | No | Different minor version |
When loading a cached scan with an outdated version, Periscope automatically regenerates the response data from the stored raw files (HTML, headers, DNS records, etc.) using the current engine logic.
To upgrade all historical scans to the current version:
php ~/.periscope/engine.php action=bulk_upgradeThis reprocesses scans that have raw files available, applying any new detection logic or data transformations from newer versions.
Website Overview
Domain, SPF Analysis and Email Health
DNS Records
Periscope is open source. Pull requests are welcome for new DNS record types, UI improvements, or better OS compatibility for the bootstrapper.
MIT
| Back | FazBrowse Home | New Git URL |