90 lines
2.4 KiB
Markdown
90 lines
2.4 KiB
Markdown
# 🌐 LatencyTest
|
|
|
|
[](https://react.dev/)
|
|
[](https://www.typescriptlang.org/)
|
|
[](https://vitejs.dev/)
|
|
[](https://workers.cloudflare.com/)
|
|
[](https://expressjs.com/)
|
|
|
|
**[中文](README.md)** | English
|
|
|
|
---
|
|
|
|
## 📖 Introduction
|
|
|
|
**LatencyTest** is a modern global network latency testing tool. It leverages 20+ nodes worldwide to perform latency tests on target IPs or domains, visualizing the results on an interactive 3D globe.
|
|
|
|
## ✨ Features
|
|
|
|
| Feature | Description |
|
|
|---------|-------------|
|
|
| 🌍 **Global Testing** | Test from 20+ locations across Americas, Europe, Asia, etc. |
|
|
| 🌐 **3D Visualization** | Real-time visualization using `react-globe.gl` |
|
|
| ⚡ **Auto DNS Resolution** | Supports IP/Domain input with automatic resolution |
|
|
| 📍 **GeoIP Info** | Displays location, ISP, and AS number for the target |
|
|
| 🆚 **Compare Mode** | Test two targets side-by-side to compare performance |
|
|
| 🔗 **Shareable Results** | Generate unique links for test reports (valid for 7 days) |
|
|
| 🌗 **Bilingual** | Full support for English/Chinese |
|
|
|
|
## 🛠️ Tech Stack
|
|
|
|
**Frontend**
|
|
- React 18 + TypeScript + Vite
|
|
- react-globe.gl + Three.js (3D visualization)
|
|
- React Router
|
|
- Pure CSS (Responsive design)
|
|
|
|
**Backend** (Choose one)
|
|
- Cloudflare Workers (Edge computing, recommended)
|
|
- Node.js + Express
|
|
|
|
**APIs**
|
|
- GlobalPing API (Latency measurement)
|
|
- ip-api.com (GeoIP lookup)
|
|
|
|
## 🚀 Quick Start
|
|
|
|
### Install Dependencies
|
|
|
|
```bash
|
|
git clone https://github.com/your-username/LatencyTest.git
|
|
cd LatencyTest
|
|
npm install
|
|
```
|
|
|
|
### Development Mode
|
|
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
## 📦 Deployment
|
|
|
|
### Option 1: Cloudflare Workers (Recommended)
|
|
|
|
```bash
|
|
# Install and login to Wrangler
|
|
npm install -g wrangler
|
|
wrangler login
|
|
|
|
# Deploy
|
|
npm run deploy
|
|
```
|
|
|
|
### Option 2: Node.js Server
|
|
|
|
```bash
|
|
# Build
|
|
npm run build
|
|
|
|
# Start
|
|
npm run start
|
|
```
|
|
|
|
## 📸 Screenshots
|
|
|
|
> *Screenshots to be added*
|
|
|
|
## 📄 License
|
|
|
|
TBD |