explaingit

hossein8360/cdn-ip-finder

Analysis updated 2026-06-24

126HTMLAudience · generalComplexity · 2/5LicenseSetup · easy

TLDR

Browser based and bash tooling that scans CDN edge IPs from Akamai, Google, CloudFront, and Azure to find ones still reachable from Iran for use with the ShirOKhorshid Psiphon fork.

Mindmap

mindmap
  root((cdn-ip-finder))
    Inputs
      Candidate IP lists
      CIDR ranges
      Iranian operator detection
    Outputs
      Reachable IP list
      TXT and CSV export
      QR code transfer
    Use Cases
      Find working CDN fronts
      Operator specific presets
      ShirOKhorshid config
    Tech Stack
      HTML
      JavaScript
      Chart.js
      Bash
      check-host.net
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Scan 50 to 1000 CDN IPs from the browser and copy a working list into ShirOKhorshid CDN Fronting settings

USE CASE 2

Run the bash scripts to test Akamai or other CDN reachability from Iranian network probes via check-host.net

USE CASE 3

Export a stability scored IP list as TXT or CSV and transfer it to a phone using the built in QR code

What is it built with?

HTMLJavaScriptChart.jsBash

How does it compare?

hossein8360/cdn-ip-finderwebdevsimplified/javascript-simplifiedaliu-airobot/eseilane
Stars126124136
LanguageHTMLHTMLHTML
Last pushed2023-01-04
MaintenanceDormant
Setup difficultyeasyeasymoderate
Complexity2/51/53/5
Audiencegeneralvibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Browser tool runs with no install, the bash sweep depends on the external check-host.net API and can be rate limited.

GPL-3.0 allows redistribution and modification but derivative works must also be released under GPL-3.0.

In plain English

This project is a set of tools that look for content delivery network edge servers whose IP addresses are still reachable from inside Iran. The intended user is someone running ShirOKhorshid, a community fork of the Psiphon Android app, which has a feature called CDN Fronting that needs a list of working IPs for major CDN providers. The README covers Akamai, Google CDN, Amazon CloudFront, and Microsoft Azure CDN. The main piece is index.html, a single-file web app that runs entirely in the browser with no server, no install, and no dependencies fetched at load time. The user opens it from GitHub Pages or as a local file. It then sends fetch requests in no-cors mode to each candidate IP and times how long they take, treating a fast TCP response as reachable and a timeout as blocked. Even a TLS or CORS error counts as reachable because it means the IP responded. The page tries to detect which Iranian operator the user is on through ipapi.co and offers preset IP lists per operator. Features listed include scan presets of 50, 250, or 1000 IPs, picking which CDN to test, selecting an SNI hostname from a per-CDN list, adding extra ranges as CIDR blocks, a dashboard tab with a latency chart powered by Chart.js loaded only when opened, a scan history kept in browser localStorage, a stability score that runs each IP multiple times, copy-to-clipboard formatted for ShirOKhorshid, QR code transfer to a phone, and TXT or CSV export. For users who prefer server-side testing, the scripts folder has three bash scripts. One does a quick local Akamai test, one checks Akamai IPs through Iranian network nodes via the check-host.net API, and the third does the same broader sweep for all four CDNs. The README then explains how to paste the resulting list into ShirOKhorshid settings. License is GPL-3.0.

Copy-paste prompts

Prompt 1
Open index.html locally and walk me through scanning 250 Akamai IPs with a custom SNI hostname
Prompt 2
Explain how the page uses no-cors fetch timing to decide if a CDN IP is reachable
Prompt 3
Add a new CDN provider preset to the index.html scanner with its own IP ranges and SNI list
Prompt 4
Write a cron job around the bash scripts that refreshes a working IP list once an hour and commits it to a repo
Prompt 5
Describe the JSON shape of the localStorage scan history so I can build an external dashboard

Frequently asked questions

What is cdn-ip-finder?

Browser based and bash tooling that scans CDN edge IPs from Akamai, Google, CloudFront, and Azure to find ones still reachable from Iran for use with the ShirOKhorshid Psiphon fork.

What language is cdn-ip-finder written in?

Mainly HTML. The stack also includes HTML, JavaScript, Chart.js.

What license does cdn-ip-finder use?

GPL-3.0 allows redistribution and modification but derivative works must also be released under GPL-3.0.

How hard is cdn-ip-finder to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is cdn-ip-finder for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.