speed-faker-cli
v1.0.2
Published
A CLI tool to generate fake speedtest results with realistic network simulation
Maintainers
Readme
Speed Faker CLI
A powerful CLI tool to generate and submit fake speedtest results to speedtest.net. This tool allows you to create realistic speedtest data with customizable parameters including server selection, speed values, ping latency, and location data.
Features
- 🌍 Server Selection: Browse by country, search by name/location, or use random/manual selection
- ⚡ Customizable Speeds: Set custom download/upload speeds and ping latency
- 🎯 Interactive Mode: User-friendly interactive interface for easy configuration
- 📊 Realistic Data: Generates authentic-looking speedtest payloads with proper statistical variations
- 🔍 Dry Run Mode: Preview generated payloads without submitting
- 🌐 Location Spoofing: Set custom latitude/longitude
- 📋 Server Management: List, filter, and search available speedtest servers
Installation
Via npx (Recommended)
npx speed-faker-cli run --interactiveGlobal Installation
npm install -g speed-faker-cli
# or
bun install -g speed-faker-cliUsage
Interactive Mode (Recommended for beginners)
speed-faker run --interactiveThis will guide you through:
- Server selection (by country, search, random, or manual ID entry)
- Speed configuration (ping, download, upload speeds)
- Advanced options (location settings)
- Execution options (dry run vs actual submission)
Direct Mode (Advanced users)
Quick fake test with defaults
speed-faker run --submitCustom speeds and server
speed-faker run --ping 15 --download 500 --upload 100 --server 1689 --submitFilter servers and auto-select
speed-faker run --country "United States" --ping 25 --download 200 --upload 50Search for servers
speed-faker run --search "Google" --ping 10 --download 1000 --upload 500Custom location
speed-faker run --ping 20 --download 300 --upload 75 \
--latitude 40.7128 --longitude -74.0060 \
--ip "192.168.1.100" --submitServer Management
List all servers
speed-faker serversFilter servers by country
speed-faker servers --country "Germany"Search servers
speed-faker servers --search "Vodafone"Sort servers
speed-faker servers --sort providerList all available countries
speed-faker countriesCommand Reference
speed-faker run Options
| Option | Description | Default |
|--------|-------------|---------|
| -p, --ping <number> | Ping latency in ms | 20 |
| -d, --download <number> | Download speed in Mbps | 100 |
| -u, --upload <number> | Upload speed in Mbps | 50 |
| -s, --server <id> | Specific server ID to use | Auto-select |
| -c, --country <name> | Filter servers by country | None |
| --city <name> | Filter servers by city | None |
| --search <term> | Search servers by name/location | None |
| -i, --interactive | Launch interactive mode | false |
| --submit | Actually submit the test (default: dry run) | false |
| --lat, --latitude <number> | Custom latitude | 31.408128 |
| --lon, --longitude <number> | Custom longitude | 31.1590912 |
| --ip <address> | Client IP address | "1.1.1.1" |
speed-faker servers Options
| Option | Description | Default |
|--------|-------------|---------|
| -c, --country <name> | Filter by country | None |
| --city <name> | Filter by city | None |
| --search <term> | Search term | None |
| --sort <field> | Sort by field (country, city, provider) | country |
Examples
Example 1: Realistic Home Internet
speed-faker run --ping 35 --download 75 --upload 10 \
--country "United States" --submitExample 2: High-Speed Fiber
speed-faker run --ping 5 --download 1000 --upload 1000 \
--search "Google" --submitExample 3: Mobile Connection
speed-faker run --ping 45 --download 25 --upload 5 \
--submitExample 4: International Server
speed-faker run --country "Japan" --ping 120 \
--download 150 --upload 30 --submitExample 5: Dry Run (Preview Only)
speed-faker run --ping 20 --download 200 --upload 40
# This will show the generated payload without submittingHow It Works
- Server Discovery: The tool fetches real speedtest servers from speedtest.net
- Payload Generation: Creates authentic speedtest payloads with:
- Realistic ping variations and jitter calculations
- Proper speed measurements with statistical variations
- Authentic headers and browser fingerprints
- Valid MD5 signatures for data integrity
- Submission: Sends the payload to speedtest.net's API endpoint
- Result: Returns the test result ID and URL if successful
Server Selection
The tool provides multiple ways to select servers:
- Browse by Country: Interactive country selection with server counts
- Search: Find servers by provider name, city, or country
- Random: Automatically pick a random server
- Manual: Enter a specific server ID directly
Generated Data
The tool generates realistic data including:
- Multiple ping samples with proper statistical distribution
- Upload/download speed measurements with variations
- Latency measurements for different test phases
- Connection details and protocol information
- Authentic browser headers and user agent strings
Notes
- Dry Run: By default, the tool runs in dry-run mode and only shows the generated payload
- Submission: Use
--submitflag to actually send the fake test to speedtest.net - Realistic Values: Use realistic speed/ping values for your connection type to avoid detection
- Server Selection: Choose servers geographically close to your spoofed location
- Rate Limiting: Avoid running multiple tests rapidly to prevent rate limiting
Troubleshooting
Server List Empty
If no servers are found, check your internet connection. The tool fetches servers from a live source.
Submission Failed
- Ensure you're using realistic speed/ping values
- Try a different server
- Check if speedtest.net is accessible
- Verify your network connection
Command Not Found
Make sure the package is installed globally or use npx speed-faker-cli
Development
# Clone the repository
git clone https://github.com/your-username/speed-faker-cli.git
cd speed-faker-cli
# Install dependencies
bun install
# Build the project
bun run build
# Run in development mode
bun run dev -- run --interactiveLegal Notice
This tool is for educational and testing purposes only. Use responsibly and in accordance with speedtest.net's terms of service. The authors are not responsible for any misuse of this tool.
License
MIT License
