Skip to content
kumaradoss16Public

About

Internet Speed Tester

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetPulse

NetPulse is a browser-based internet speed tester. It runs entirely as a static web page and shows download speed, upload speed, ping, and jitter through an animated gauge and live charts.

Visit: https://devspirehub.com/netpulse/netpulse

Features

  • Download speed display
  • Upload speed display
  • Ping measurement display
  • Jitter display
  • Packet loss display (currently always shown as 0%)
  • Live animated speedometer and Chart.js graphs during a test
  • Server selection: nearby servers (sorted by your browser's geolocation) or a full global list
  • Network info panel showing your public IP, ISP, city, country, and timezone
  • Speed rating label (Excellent / Good / Fair / Poor) based on the download result
  • Test history list shown on the page for the current session

How It Works

When the page loads, it looks up your public IP and ISP info by calling a few IP lookup APIs (falling back to the next one if the first fails or is blocked).

It then asks for location permission. If you allow it, it sorts a built-in list of servers (spread across many cities worldwide) by distance from you and shows the nearest ones. If you deny it, it falls back to a fixed set of global cities.

When you hit "Start Test," it runs through three phases: a short ping phase, a 15-second download phase, and a 15-second upload phase. Each phase animates the gauge, bars, and charts toward a result value, then the run is added to the on-page history.

One thing worth being upfront about: NetPulse doesn't actually transfer test data over the network to measure real throughput. Each server in the list has a realistic speed/ping range attached to it, and a test run picks a value from that range (with some random jitter) and animates toward it. So it behaves and looks like a real speed test, but the download/upload/ping/jitter numbers are generated, not measured.

Technologies

  • HTML, CSS, JavaScript (no framework, no build step)
  • Chart.js (loaded from a CDN) for the live charts
  • Tabler Icons and Font Awesome (CDN) for icons
  • Google Fonts (Saira, Poppins)
  • Browser Geolocation API for nearby-server sorting
  • fetch() calls to ip-api.com, ipapi.co, and api.ipify.org for IP/ISP info, in that fallback order

Usage

  1. Clone the repository.
  2. Open netpulse.html directly in a browser, or serve the folder with a local web server.
  3. Allow or deny the location prompt (either way, a server list will load).
  4. Click "Start Test."

A local server isn't required, but if you want to run one:

python -m http.server 8000

Then open http://localhost:8000/netpulse.html.

Project Structure

netpulse/
├── netpulse.html
├── style.css
├── script.js
├── images/
│   ├── net-pulse.webp
│   ├── netpulse-logo.webp
│   └── netpulse.webp
├── netpulse.webp
└── readme.md
  • netpulse.html — page markup, meta tags, and the speed test UI
  • style.css — all styling
  • script.js — server list, IP lookup, geolocation sorting, the test animation logic, and the speedometer/chart rendering
  • images/ — logo and preview images used by the site

Live Demo

https://devspirehub.com/netpulse/

Notes

  • The speed, ping, and jitter numbers are generated within a preset range per server, not measured from a real data transfer. Treat it as a demo/UI project rather than a real diagnostic tool.
  • Test history only lives in memory for the current page load — refreshing the page clears it.
  • The IP/ISP lookup depends on three external APIs and needs internet access to work; if all three are unreachable, that panel shows "Unavailable."
  • One of the IP lookup calls uses plain http://, which some browsers may block as mixed content if the page itself is loaded over https://.

License

No license file is included in this repository.

About

Internet Speed Tester

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages