new files

This commit is contained in:
Galaxy 2025-07-26 12:59:57 +08:00
parent 68f050633d
commit 3ed64fbe08
41 changed files with 5099 additions and 1 deletions

66
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,66 @@
{
"files.associations": {
"array": "cpp",
"atomic": "cpp",
"bit": "cpp",
"cctype": "cpp",
"charconv": "cpp",
"chrono": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"compare": "cpp",
"concepts": "cpp",
"condition_variable": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"map": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"exception": "cpp",
"algorithm": "cpp",
"functional": "cpp",
"iterator": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
"optional": "cpp",
"random": "cpp",
"ratio": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"format": "cpp",
"fstream": "cpp",
"future": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"mutex": "cpp",
"new": "cpp",
"numbers": "cpp",
"ostream": "cpp",
"semaphore": "cpp",
"span": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
"text_encoding": "cpp",
"thread": "cpp",
"typeinfo": "cpp",
"variant": "cpp"
}
}

350
README.md
View File

@ -1 +1,349 @@
HELLO AND THIS IS A PUSH TEST.
# BestCDN - High-Performance CDN IP Accessibility Tester
A high-performance tool to find accessible CDN IP addresses, specifically optimized for customers in China. This tool tests large quantities of IP addresses concurrently to identify which ones are accessible through your provided test domains.
**Available in two versions:**
- **C++ Version** (Recommended): Maximum performance for testing thousands of IPs
- **Python Version**: Easier to modify and extend
## Features
- **High-Performance**: Concurrent testing of thousands of IPs with configurable batch sizes
- **Multi-Provider Support**: EdgeOne (Tencent Cloud), ESA (Alibaba Cloud), Fastly, Cloudflare
- **JSON Response Verification**: Tests actual CDN functionality by verifying JSON response content
- **User-Provided IP Lists**: You provide the IP lists, the tool tests accessibility
- **Comprehensive Results**: Multiple output formats and detailed statistics
- **China-Optimized**: Designed for testing from China with appropriate timeouts and configurations
## Quick Start
### 1. Installation
```bash
# Clone or download the project
cd BestCDN
# Create and activate virtual environment
python3 -m venv venv
# Activate virtual environment
# On Linux/Mac:
source venv/bin/activate
# On Windows:
# venv\Scripts\activate
# Install Python dependencies
pip install -r requirements.txt
# Create necessary directories
mkdir -p ip_lists results logs
```
**Note:** Always activate the virtual environment before running the project:
```bash
# Linux/Mac
source venv/bin/activate
# Windows
venv\Scripts\activate
```
### 2. Prepare IP Lists
Create IP list files in the `ip_lists/` directory for each CDN provider you want to test:
- `ip_lists/cloudflare.txt` - Cloudflare IP addresses
- `ip_lists/fastly.txt` - Fastly IP addresses
- `ip_lists/edgeone.txt` - EdgeOne (Tencent Cloud) IP addresses
- `ip_lists/esa.txt` - ESA (Alibaba Cloud) IP addresses
**IP List Format:**
```
# Comments start with #
192.168.1.1
10.0.0.0/24
203.0.113.0/24
1.1.1.0/24
# Single IPs and CIDR ranges are both supported
# CIDR ranges are automatically expanded to individual IPs
```
**CIDR Handling:**
- **Small networks (/24 and smaller)**: All IPs are tested
- **Large networks (/23 and larger)**: Sampled to 1000 IPs for performance
- **IPv4 only**: Currently supports IPv4 CIDR notation
### 3. Basic Usage
## C++ Version (Recommended for Performance)
**Quick Start:**
```bash
# Build and run C++ version
chmod +x build_cpp.sh run_cpp.sh
./run_cpp.sh
```
**Manual Build:**
```bash
# Install dependencies and build
./build_cpp.sh
# Run the tester
cd src/cpp
./bestcdn_tester
```
## Python Version
**Easy Method:**
```bash
# Make sure virtual environment is activated first
source venv/bin/activate # Linux/Mac
# or
venv\Scripts\activate # Windows
# Then run the example
python3 example_usage.py # Linux/Mac
python example_usage.py # Windows
```
**Or use the automated run scripts:**
```bash
# Linux/Mac
chmod +x run.sh
./run.sh
# Windows
run.bat
```
**Programmatic Usage:**
```python
from src.main import BestCDN
import asyncio
# Create BestCDN instance
app = BestCDN()
# Set test domains for each provider
app.set_test_domains({
'cloudflare': 'your-cf-test-domain.com',
'fastly': 'your-fastly-test-domain.com',
'edgeone': 'your-edgeone-test-domain.com',
'esa': 'your-esa-test-domain.com'
})
# Run the accessibility test
success = asyncio.run(app.run_accessibility_test())
```
## How Verification Works
The system uses **JSON response verification** to ensure IPs are actually working CDN endpoints:
### Test Domains:
- **EdgeOne, ESA, Fastly**: `test10000.ix.je`
- **Cloudflare**: `test10000.fstring.me`
### Verification Process:
1. **HTTP/HTTPS Request**: Tests both protocols (HTTPS first, then HTTP) to `/testpage.php`
2. **JSON Response Check**: Server must return valid JSON
3. **Content Verification**: JSON must contain `{"test_message": "testpagegalaxy123"}`
### Success Criteria:
**ACCESSIBLE** - All conditions met:
- HTTP 200 status code
- Valid JSON response
- Correct `test_message` value
**FAILED** - Any condition fails:
- Non-200 status code
- Invalid/missing JSON
- Wrong `test_message` value
- Connection timeout/error
## Configuration
### Performance Settings
Edit `config.py` or `config.json` to adjust performance parameters:
```python
performance = {
"concurrent_requests": 100, # Number of concurrent requests
"request_timeout": 3.0, # Timeout per request (seconds)
"max_retries": 2, # Max retries per IP
"batch_size": 1000, # IPs processed per batch
"worker_threads": 4 # DNS resolution threads
}
```
### Provider Configuration
```python
# Enable/disable providers
cdn_providers = {
"cloudflare": {
"enabled": True,
"test_domain": "your-domain.com"
},
"fastly": {
"enabled": True,
"test_domain": "your-domain.com"
}
# ... etc
}
```
## Output Files
The tool generates several output files in the `results/` directory:
- `accessibility_results_TIMESTAMP.json` - Complete test results
- `accessible_ips_TIMESTAMP.txt` - Only accessible IPs (simple format)
- `summary_report_TIMESTAMP.txt` - Human-readable summary
- `{provider}_results_TIMESTAMP.json` - Provider-specific results
## Example Output
```
=============================================================
CDN IP ACCESSIBILITY TEST SUMMARY REPORT
=============================================================
OVERALL STATISTICS:
Total IPs Tested: 10000
Total Accessible: 3247
Overall Success Rate: 32.47%
Average Response Time: 1.234s
PROVIDER BREAKDOWN:
CLOUDFLARE:
Tested: 2500
Accessible: 892
Success Rate: 35.68%
EDGEONE:
Tested: 3000
Accessible: 1205
Success Rate: 40.17%
```
## Advanced Usage
### Custom Configuration
```python
from config import Config
# Load custom config
config = Config("my_config.json")
app = BestCDN("my_config.json")
```
### Programmatic Access to Results
```python
# After running test
async with AccessibilityTester(config) as tester:
results = await tester.test_all_ips(provider_ips, test_domains)
# Get accessible IPs by provider
accessible = tester.get_accessible_ips()
# Get detailed statistics
stats = tester.get_statistics()
```
### Batch Processing
For very large IP lists, the tool automatically processes IPs in batches to manage memory usage efficiently.
## Performance Optimization
### For Maximum Speed
```python
performance = {
"concurrent_requests": 200, # Increase concurrent requests
"request_timeout": 2.0, # Reduce timeout
"batch_size": 2000, # Larger batches
"worker_threads": 8 # More DNS threads
}
```
### For Stability
```python
performance = {
"concurrent_requests": 50, # Fewer concurrent requests
"request_timeout": 5.0, # Longer timeout
"batch_size": 500, # Smaller batches
"worker_threads": 2 # Fewer DNS threads
}
```
## Troubleshooting
### Common Issues
1. **"Missing IP list files"**
- Ensure IP list files exist in `ip_lists/` directory
- Check file names match provider names exactly
2. **"No test domain configured"**
- Set test domains using `app.set_test_domains()`
- Or configure in `config.json`
3. **High memory usage**
- Reduce `batch_size` in configuration
- Limit IP ranges in your IP list files
4. **Slow performance**
- Increase `concurrent_requests`
- Reduce `request_timeout`
- Check network connectivity
### Logging
Logs are saved to `logs/bestcdn_TIMESTAMP.log` with detailed information about:
- IP loading progress
- Test execution status
- Error details
- Performance statistics
## File Structure
```
BestCDN/
├── src/
│ ├── main.py # Main application
│ ├── testers/
│ │ └── accessibility_tester.py
│ └── utils/
│ ├── ip_reader.py
│ └── results_manager.py
├── ip_lists/ # Your IP list files go here
│ ├── cloudflare.txt
│ ├── fastly.txt
│ ├── edgeone.txt
│ └── esa.txt
├── results/ # Output files
├── logs/ # Log files
├── config.py # Configuration
├── requirements.txt # Python dependencies
└── README.md # This file
```
## Requirements
- Python 3.7+
- aiohttp
- asyncio
- dnspython
- Other dependencies in `requirements.txt`
## License
MIT License - See LICENSE file for details.

Binary file not shown.

89
build_cpp.sh Executable file
View File

@ -0,0 +1,89 @@
#!/bin/bash
# BestCDN C++ Build Script
echo "BestCDN C++ High-Performance Tester Build Script"
echo "================================================"
# Check if we're on Linux
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
echo "Detected Linux system"
# Check if dependencies are installed
if ! pkg-config --exists libcurl; then
echo "Installing dependencies..."
if command -v apt-get &> /dev/null; then
sudo apt-get update
sudo apt-get install -y libcurl4-openssl-dev libjsoncpp-dev build-essential pkg-config
elif command -v yum &> /dev/null; then
sudo yum install -y libcurl-devel jsoncpp-devel gcc-c++ make pkgconfig
elif command -v dnf &> /dev/null; then
sudo dnf install -y libcurl-devel jsoncpp-devel gcc-c++ make pkgconfig
else
echo "Error: Package manager not found. Please install libcurl-dev and libjsoncpp-dev manually."
exit 1
fi
fi
elif [[ "$OSTYPE" == "darwin"* ]]; then
echo "Detected macOS system"
# Check if Homebrew is installed
if ! command -v brew &> /dev/null; then
echo "Error: Homebrew not found. Please install Homebrew first."
exit 1
fi
# Install dependencies
echo "Installing dependencies..."
brew install curl jsoncpp pkg-config
else
echo "Unsupported operating system: $OSTYPE"
exit 1
fi
# Create results directory
echo "Creating results directory..."
mkdir -p results
# Build the C++ tester
echo "Building C++ tester..."
cd src/cpp
# Use pkg-config to get proper flags
if pkg-config --exists libcurl; then
CURL_FLAGS=$(pkg-config --cflags --libs libcurl)
else
CURL_FLAGS="-lcurl"
fi
if pkg-config --exists jsoncpp; then
JSONCPP_FLAGS=$(pkg-config --cflags --libs jsoncpp)
else
JSONCPP_FLAGS="-ljsoncpp"
fi
echo "Building with flags: $CURL_FLAGS $JSONCPP_FLAGS"
g++ -std=c++17 -O3 -Wall -Wextra -pthread \
bestcdn_tester.cpp \
$CURL_FLAGS $JSONCPP_FLAGS \
-o bestcdn_tester
if [ $? -eq 0 ]; then
echo "✓ Build successful!"
echo ""
echo "To run the C++ tester:"
echo " cd src/cpp"
echo " ./bestcdn_tester"
echo ""
echo "Make sure your IP lists are in the ip_lists/ directory:"
echo " - ip_lists/cloudflare.txt"
echo " - ip_lists/fastly.txt"
echo " - ip_lists/edgeone.txt"
echo " - ip_lists/esa.txt"
else
echo "✗ Build failed!"
exit 1
fi

43
config.json Normal file
View File

@ -0,0 +1,43 @@
{
"performance": {
"concurrent_requests": 100,
"request_timeout": 3.0,
"max_retries": 2,
"batch_size": 1000,
"worker_threads": 4
},
"cdnProviders": {
"edgeone": {
"name": "EdgeOne (Tencent Cloud)",
"enabled": true,
"test_domain": "test10000.ix.je"
},
"esa": {
"name": "ESA (Alibaba Cloud)",
"enabled": true,
"test_domain": "test10000.ix.je"
},
"fastly": {
"name": "Fastly",
"enabled": true,
"test_domain": "test10000.ix.je"
},
"cloudflare": {
"name": "Cloudflare",
"enabled": true,
"test_domain": "test10000.fstring.me"
}
},
"testing": {
"protocols": ["https", "http"],
"user_agent": "BestCDN-Tester/1.0",
"follow_redirects": false,
"validate_ssl": false
},
"output": {
"format": "json",
"save_results": true,
"output_file": "results/accessible_ips.json",
"log_level": "info"
}
}

95
config.py Normal file
View File

@ -0,0 +1,95 @@
"""
Configuration settings for BestCDN IP accessibility tester
"""
import json
from typing import Dict, List, Optional
from dataclasses import dataclass
@dataclass
class PerformanceConfig:
concurrent_requests: int = 100
request_timeout: float = 3.0
max_retries: int = 2
batch_size: int = 1000
worker_threads: int = 4
@dataclass
class CDNProviderConfig:
name: str
enabled: bool = True
test_domain: str = ""
@dataclass
class TestingConfig:
protocols: List[str] = None
user_agent: str = "BestCDN-Tester/1.0"
follow_redirects: bool = False
validate_ssl: bool = False
@dataclass
class OutputConfig:
format: str = "json"
save_results: bool = True
output_file: str = "results/accessible_ips.json"
log_level: str = "info"
class Config:
def __init__(self, config_file: str = "config.json"):
self.performance = PerformanceConfig()
self.testing = TestingConfig(protocols=["http", "https"])
self.output = OutputConfig()
# CDN Providers configuration
self.cdn_providers = {
"edgeone": CDNProviderConfig(
name="EdgeOne (Tencent Cloud)"
),
"esa": CDNProviderConfig(
name="ESA (Alibaba Cloud)"
),
"fastly": CDNProviderConfig(
name="Fastly"
),
"cloudflare": CDNProviderConfig(
name="Cloudflare"
)
}
# Load from file if exists
try:
with open(config_file, 'r') as f:
self._load_from_dict(json.load(f))
except FileNotFoundError:
pass
def _load_from_dict(self, config_dict: Dict):
"""Load configuration from dictionary"""
if "performance" in config_dict:
perf = config_dict["performance"]
self.performance = PerformanceConfig(**perf)
if "testing" in config_dict:
test = config_dict["testing"]
self.testing = TestingConfig(**test)
if "output" in config_dict:
output = config_dict["output"]
self.output = OutputConfig(**output)
if "cdnProviders" in config_dict:
for provider_key, provider_config in config_dict["cdnProviders"].items():
if provider_key in self.cdn_providers:
# Update existing provider config
for key, value in provider_config.items():
if hasattr(self.cdn_providers[provider_key], key):
setattr(self.cdn_providers[provider_key], key, value)
def set_test_domain(self, provider: str, domain: str):
"""Set test domain for a specific CDN provider"""
if provider in self.cdn_providers:
self.cdn_providers[provider].test_domain = domain
def get_enabled_providers(self) -> Dict[str, CDNProviderConfig]:
"""Get all enabled CDN providers"""
return {k: v for k, v in self.cdn_providers.items() if v.enabled}

67
example_usage.py Normal file
View File

@ -0,0 +1,67 @@
#!/usr/bin/env python3
"""
Example usage of BestCDN IP accessibility tester
"""
import asyncio
import sys
import os
# Add src to path
sys.path.insert(0, os.path.dirname(__file__))
from src.main import BestCDN
async def main():
"""Example usage of BestCDN"""
print("BestCDN Example Usage")
print("=" * 50)
# Create BestCDN instance
app = BestCDN()
# Set test domains for each provider
test_domains = {
'cloudflare': 'test10000.fstring.me', # Cloudflare test domain
'fastly': 'test10000.ix.je', # Fastly test domain
'edgeone': 'test10000.ix.je', # EdgeOne test domain
'esa': 'test10000.ix.je' # ESA test domain
}
print("Setting test domains...")
app.set_test_domains(test_domains)
# Validate setup
print("Validating setup...")
if not app.validate_setup():
print("\nSetup validation failed!")
print("Please ensure:")
print("1. IP list files exist in ip_lists/ directory")
print("2. Test domains are configured")
return False
print("Setup validation passed!")
# Run the accessibility test
print("\nStarting accessibility test...")
success = await app.run_accessibility_test()
if success:
print("\nTest completed successfully!")
print("Check the 'results/' directory for output files.")
else:
print("\nTest failed. Check logs for details.")
return success
if __name__ == "__main__":
try:
success = asyncio.run(main())
sys.exit(0 if success else 1)
except KeyboardInterrupt:
print("\nTest interrupted by user")
sys.exit(1)
except Exception as e:
print(f"Error: {e}")
sys.exit(1)

86
install.bat Normal file
View File

@ -0,0 +1,86 @@
@echo off
REM BestCDN Installation Script for Windows
echo BestCDN Installation Script
echo ==========================
REM Check if Python is installed
python --version >nul 2>&1
if errorlevel 1 (
echo Error: Python is not installed or not in PATH. Please install Python 3.7+ first.
pause
exit /b 1
)
echo ✓ Python found
REM Create virtual environment
echo Creating virtual environment...
python -m venv venv
if errorlevel 1 (
echo Error: Failed to create virtual environment
pause
exit /b 1
)
echo ✓ Virtual environment created
REM Activate virtual environment
echo Activating virtual environment...
call venv\Scripts\activate.bat
REM Upgrade pip
echo Upgrading pip...
python -m pip install --upgrade pip
REM Install dependencies
echo Installing dependencies...
pip install -r requirements.txt
if errorlevel 1 (
echo Error: Failed to install dependencies
pause
exit /b 1
)
echo ✓ Dependencies installed
REM Create necessary directories
echo Creating directories...
if not exist "ip_lists" mkdir ip_lists
if not exist "results" mkdir results
if not exist "logs" mkdir logs
echo ✓ Directories created
REM Create example IP list files
echo Creating example IP list files...
if not exist "ip_lists" mkdir ip_lists
REM Create example files if they don't exist
for %%p in (cloudflare fastly edgeone esa) do (
if not exist "ip_lists\%%p.txt" (
echo # %%p IP list - Replace with your actual IPs > "ip_lists\%%p.txt"
echo # Example: 192.168.1.1 >> "ip_lists\%%p.txt"
echo # Example: 10.0.0.0/24 >> "ip_lists\%%p.txt"
echo Created example file: ip_lists\%%p.txt
) else (
echo File already exists: ip_lists\%%p.txt
)
)
echo.
echo Installation completed successfully!
echo.
echo To use BestCDN:
echo 1. Activate the virtual environment:
echo venv\Scripts\activate
echo.
echo 2. Edit IP list files in ip_lists\ directory
echo.
echo 3. Run the example:
echo python example_usage.py
echo.
echo For more information, see README.md
pause

83
install.sh Normal file
View File

@ -0,0 +1,83 @@
#!/bin/bash
# BestCDN Installation Script
echo "BestCDN Installation Script"
echo "=========================="
# Check if Python 3 is installed
if ! command -v python3 &> /dev/null; then
echo "Error: Python 3 is not installed. Please install Python 3.7+ first."
exit 1
fi
echo "✓ Python 3 found"
# Create virtual environment
echo "Creating virtual environment..."
python3 -m venv venv
if [ $? -ne 0 ]; then
echo "Error: Failed to create virtual environment"
exit 1
fi
echo "✓ Virtual environment created"
# Activate virtual environment
echo "Activating virtual environment..."
source venv/bin/activate
# Upgrade pip
echo "Upgrading pip..."
pip install --upgrade pip
# Install dependencies
echo "Installing dependencies..."
pip install -r requirements.txt
if [ $? -ne 0 ]; then
echo "Error: Failed to install dependencies"
exit 1
fi
echo "✓ Dependencies installed"
# Create necessary directories
echo "Creating directories..."
mkdir -p ip_lists results logs
echo "✓ Directories created"
# Create example IP list files
echo "Creating example IP list files..."
mkdir -p ip_lists
# Create example files if they don't exist
for provider in cloudflare fastly edgeone esa; do
if [ ! -f "ip_lists/${provider}.txt" ]; then
echo "# ${provider} IP list - Replace with your actual IPs" > "ip_lists/${provider}.txt"
echo "# Example: 192.168.1.1" >> "ip_lists/${provider}.txt"
echo "# Example: 10.0.0.0/24" >> "ip_lists/${provider}.txt"
echo "Created example file: ip_lists/${provider}.txt"
else
echo "File already exists: ip_lists/${provider}.txt"
fi
done
echo ""
echo "Installation completed successfully!"
echo ""
echo "To use BestCDN:"
echo "1. Activate the virtual environment:"
echo " source venv/bin/activate"
echo ""
echo "2. Edit IP list files in ip_lists/ directory"
echo ""
echo "3. Run the example:"
echo " python3 example_usage.py"
echo ""
echo "For more information, see README.md"
echo ""
echo "IMPORTANT: Always activate the virtual environment before running:"
echo " source venv/bin/activate"

6
ip_lists/cloudflare.txt Normal file
View File

@ -0,0 +1,6 @@
# Cloudflare IP examples - Replace with your actual IPs
104.16.0.1
104.17.0.1
172.64.0.1
# You can also use CIDR notation:
# 104.16.0.0/24

597
ip_lists/edgeone.txt Normal file
View File

@ -0,0 +1,597 @@
1.14.231.0/24
1.194.174.0/24
1.56.100.0/24
1.71.146.0/23
1.71.88.0/24
101.226.85.128/25
101.33.195.0/24
101.33.222.0/24
101.42.63.0/24
101.71.100.0/23
101.71.105.0/24
101.72.227.0/24
111.12.215.0/24
111.20.28.0/23
111.20.30.0/24
111.22.252.0/24
111.29.14.0/24
111.31.238.0/24
111.4.224.0/23
111.42.114.0/24
111.51.158.0/24
111.6.217.0/24
111.6.218.0/24
111.62.160.0/24
112.13.210.0/24
112.29.209.0/24
112.46.51.0/24
112.49.30.0/23
112.49.69.0/24
112.64.213.0/24
112.84.131.0/24
112.90.154.0/24
113.125.206.0/24
113.142.27.0/24
113.194.51.0/24
113.200.123.0/24
113.201.154.0/24
113.201.158.0/24
113.219.202.0/23
113.240.66.0/24
113.240.91.0/24
113.59.44.0/24
114.230.198.0/24
114.237.67.0/24
114.66.246.0/23
114.66.250.0/24
115.150.39.0/24
116.136.15.0/24
116.153.83.0/24
116.153.84.0/23
116.162.152.0/23
116.169.184.0/24
116.172.74.0/24
116.177.240.0/24
116.178.78.0/24
116.196.152.0/23
116.207.184.0/24
116.253.60.0/24
117.139.140.0/24
117.147.229.0/24
117.147.230.0/23
117.161.38.0/24
117.161.86.0/24
117.162.50.0/23
117.162.61.0/24
117.163.59.0/24
117.187.145.0/24
117.40.82.0/24
117.44.77.0/24
117.69.71.0/24
117.85.64.0/23
117.85.66.0/24
119.188.140.0/24
119.188.209.0/24
119.36.225.0/24
119.84.242.0/24
119.91.175.0/24
120.221.164.0/24
120.221.181.0/24
120.221.238.0/24
120.226.27.0/24
120.232.126.0/24
120.232.97.0/24
120.233.185.0/24
120.233.186.0/23
120.233.43.0/24
120.240.100.0/24
120.240.94.0/24
122.192.132.0/24
122.246.0.0/24
122.246.30.0/23
123.125.3.0/24
123.138.25.0/24
123.172.121.0/24
123.182.162.0/24
123.6.40.0/24
124.225.117.0/24
124.225.161.0/24
124.225.72.0/24
124.238.112.0/24
124.72.128.0/24
125.76.83.0/24
125.94.247.0/24
125.94.248.0/23
14.116.174.0/24
14.205.93.0/24
150.139.230.0/24
175.43.193.0/24
175.6.193.0/24
182.140.210.0/24
182.247.248.0/24
183.131.59.0/24
183.136.219.0/24
183.192.184.0/24
183.201.109.0/24
183.201.110.0/24
183.230.68.0/24
183.253.58.0/24
183.255.104.0/24
183.47.119.128/25
183.61.174.0/24
211.136.106.0/24
211.97.84.0/24
219.144.88.0/23
219.144.90.0/24
220.197.201.0/24
221.204.26.0/23
221.5.96.0/23
222.189.172.0/24
222.79.116.0/23
222.79.126.0/24
222.94.224.0/23
223.109.0.0/23
223.109.2.0/24
223.109.210.0/24
223.113.137.0/24
223.221.177.0/24
223.247.117.0/24
27.44.206.0/24
36.131.221.0/24
36.142.6.0/24
36.147.58.0/23
36.150.103.0/24
36.150.72.0/24
36.158.202.0/24
36.158.253.0/24
36.159.70.0/24
36.189.11.0/24
36.248.57.0/24
36.249.64.0/24
36.250.235.0/24
36.250.238.0/24
36.250.5.0/24
36.250.8.0/24
39.173.183.0/24
42.177.83.0/24
42.202.164.0/24
42.202.170.0/24
43.136.126.0/24
43.137.230.0/23
43.137.87.0/24
43.137.88.0/22
43.138.125.0/24
43.141.10.0/23
43.141.109.0/24
43.141.110.0/24
43.141.131.0/24
43.141.132.0/24
43.141.49.0/24
43.141.50.0/24
43.141.52.0/24
43.141.68.0/23
43.141.70.0/24
43.141.9.0/24
43.141.99.0/24
43.142.196.0/24
43.142.205.0/24
43.145.16.0/22
43.145.44.0/23
49.119.123.0/24
49.7.250.128/25
58.144.195.0/24
58.212.47.0/24
58.217.176.0/22
58.222.36.0/24
58.250.127.0/24
58.251.127.0/24
58.251.87.0/24
59.55.137.0/24
59.83.206.0/24
60.28.220.0/24
61.161.0.0/24
61.170.82.0/24
61.240.216.0/24
61.240.220.0/24
61.241.148.0/24
61.49.23.0/24
81.71.192.0/23
101.33.0.0/19
162.14.40.0/21
43.132.64.0/19
43.152.0.0/18
43.152.128.0/18
43.159.64.0/18
107.155.58.0/24
110.238.81.0/24
110.238.84.0/24
116.103.105.0/24
116.103.106.0/24
116.206.195.0/24
119.160.60.0/24
128.1.102.0/24
128.1.106.0/24
128.14.246.0/24
129.227.189.0/24
129.227.213.0/24
129.227.246.0/24
13.244.60.0/24
13.246.171.0/24
13.246.201.0/24
15.220.184.0/24
15.220.187.0/24
150.109.190.0/23
150.109.192.0/24
150.109.222.0/23
154.223.40.0/24
156.227.203.0/24
156.229.29.0/24
156.240.62.0/24
156.251.71.0/24
158.79.1.0/24
161.49.44.0/24
171.244.192.0/23
175.97.130.0/23
175.97.175.0/24
181.78.96.0/24
203.205.136.0/23
203.205.191.0/24
203.205.193.0/24
203.205.220.0/23
203.96.243.0/24
211.152.128.0/23
211.152.132.0/23
211.152.148.0/23
211.152.154.0/23
23.236.104.0/24
23.236.99.0/24
3.105.21.0/24
3.24.201.0/24
31.171.99.0/24
38.52.124.0/24
38.60.181.0/24
42.115.108.0/24
43.155.126.0/24
43.155.149.0/24
43.174.0.0/15
49.51.64.0/24
54.94.99.0/24
62.201.197.0/24
63.32.163.0/24
72.255.2.0/24
81.21.9.0/24
84.54.102.0/24
86.51.92.0/24
240d:c010::/28
2402:4e00:24:10de::/64
2402:4e00:24:10f0::/64
2402:4e00:37:10dd::/64
2402:4e00:37:10de::/63
2402:4e00:37:10e0::/63
2402:4e00:37:10e2::/64
2402:4e00:37:10e4::/62
2402:4e00:37:10e8::/62
2402:4e00:37:10ec::/63
2402:4e00:37:10ef::/64
2402:4e00:37:10f1::/64
2402:4e00:37:10f2::/64
2402:4e00:37:10f4::/62
2402:4e00:37:10fc::/64
2402:4e00:37:10fe::/64
2402:4e00:43:ef::/64
2402:4e00:43:f0::/64
2402:4e00:43:fd::/64
2402:4e00:a2:df::/64
2402:4e00:a2:e4::/63
2402:4e00:a2:e6::/64
2402:4e00:a2:eb::/64
2402:4e00:a2:ec::/64
2402:4e00:a2:ef::/64
2402:4e00:a2:f1::/64
2402:4e00:a2:f5::/64
2402:4e00:a2:f8::/63
2402:4e00:a2:ff::/64
2402:4e00:c010:4::/64
2402:4e00:c031:7fc::/63
2402:4e00:c031:7fe::/64
2402:4e00:c042:300::/63
2402:4e00:c042:309::/64
2402:4e00:c042:310::/64
2402:4e00:c050:13::/64
2402:4e00:c050:1a::/63
2402:4e00:c050:1c::/63
2402:4e00:c050:2c::/63
2402:4e00:c050:4c::/64
2402:4e00:c050:8::/64
2402:4e00:c050::/64
2402:4e00:c050:b::/64
2402:4e00:c050:c::/63
2402:4e00:c050:e::/64
2402:4e00:c2:10d1::/64
2402:4e00:c2:10d6::/64
2402:4e00:c2:10ef::/64
2402:4e00:c2:10f1::/64
2402:4e00:c2:10f2::/63
2402:4e00:c2:10f6::/63
2402:4e00:c2:10fa::/64
2402:4e00:c2:10fd::/64
2402:4e00:c2:10ff::/64
2408:862a:240:2::/64
2408:8670:3af0:32::/64
2408:8706:0:400::/64
2408:8706:2:300d::/64
2408:8706:2:300e::/64
2408:870c:1020:11::/64
2408:8710:20:11a0::/63
2408:8719:1100:91::/64
2408:8719:1100:92::/63
2408:8719:1100:94::/63
2408:8719:1100:96::/64
2408:8719:40e:39::/64
2408:8719:40e:3a::/63
2408:8719:40e:3c::/64
2408:8719:40f:18::/64
2408:871a:5100:140::/64
2408:8720:806:300::/64
2408:8726:1001:111::/64
2408:8726:1001:112::/63
2408:8726:1001:114::/64
2408:8726:1001:116::/63
2408:872f:20:210::/63
2408:8734:4012:1::/64
2408:8734:4012:2::/64
2408:8734:4012:4::/64
2408:8738:b000:1c::/64
2408:873c:5011::/64
2408:873c:5811:78::/64
2408:873c:5811:a3::/64
2408:873c:5811:ae::/64
2408:873d:2011:41::/64
2408:873d:2011:43::/64
2408:873d:2011:44::/63
2408:873d:2011:47::/64
2408:873d:2011:49::/64
2408:8740:d1fe:52::/63
2408:8740:d1fe:54::/62
2408:8740:d1fe:58::/63
2408:8744:d05:11::/64
2408:8744:d05:12::/64
2408:8748:a100:33::/64
2408:8748:a100:34::/63
2408:8748:a100:36::/64
2408:8748:a102:3041::/64
2408:8748:a102:3042::/63
2408:8748:a102:3044::/62
2408:8748:a102:3048::/63
2408:8749:c110:800::/64
2408:874c:1ff:80::/64
2408:874c:1ff:82::/63
2408:874c:1ff:84::/62
2408:874c:1ff:88::/64
2408:874d:a00:b::/64
2408:874d:a00:c::/64
2408:874f:3001:310::/64
2408:8752:e00:80::/63
2408:8752:e00:b0::/61
2408:8752:e00:b8::/64
2408:8756:2cff:e401::/64
2408:8756:2cff:e402::/63
2408:8756:2cff:e404::/64
2408:8756:4cff:d602::/63
2408:8756:4cff:d604::/64
2408:8756:4cff:d606::/63
2408:8756:4cff:d608::/63
2408:8756:d0fb:16c::/64
2408:8756:d0fb:170::/64
2408:875c:0:80::/63
2408:8760:119:4::/63
2408:8764:22:1f::/64
2408:8766:0:101c::/64
2408:876a:1000:22::/64
2408:876a:1000:24::/64
2408:876c:1780:122::/64
2408:8770:0:d1::/64
2408:8770:0:d2::/64
2408:8770:0:d6::/63
2408:8770:0:d8::/64
2408:8776:1:c::/64
2408:8779:c001:3::/64
2408:877a:2000:f::/64
2409:8702:489c::/64
2409:875e:5088:c1::/64
2409:8c04:110e:4001::/64
2409:8c0c:310:21d::/64
2409:8c0c:310:21e::/63
2409:8c0c:310:220::/64
2409:8c0c:310:222::/63
2409:8c10:c00:1404::/64
2409:8c10:c00:68::/64
2409:8c14:f2c:1001::/64
2409:8c1c:300:17::/64
2409:8c1e:68e0:a08::/64
2409:8c1e:8f80:2::/64
2409:8c20:1834:461::/64
2409:8c20:1834:463::/64
2409:8c20:1834:464::/63
2409:8c20:1834:467::/64
2409:8c20:1834:469::/64
2409:8c20:5021:160::/64
2409:8c20:9c71:1dd::/64
2409:8c20:9c71:1de::/63
2409:8c20:9c71:1e1::/64
2409:8c20:9c71:1e2::/63
2409:8c20:9c71:1e4::/64
2409:8c20:9c71:1e6::/64
2409:8c20:9c71:1e8::/64
2409:8c20:b281:19::/64
2409:8c28:203:308::/64
2409:8c28:203:34::/64
2409:8c28:2808:11::/64
2409:8c28:2808:12::/63
2409:8c28:2808:14::/63
2409:8c28:2808:d::/64
2409:8c28:2808:e::/63
2409:8c30:1000:20::/64
2409:8c34:2220:30a::/64
2409:8c34:e00:41::/64
2409:8c34:e00:42::/63
2409:8c34:e00:44::/62
2409:8c34:e00:48::/63
2409:8c38:80:1c0::/64
2409:8c38:80:1c2::/63
2409:8c38:80:1c4::/62
2409:8c38:80:1c8::/64
2409:8c38:80:1f1::/64
2409:8c38:80:1f2::/63
2409:8c38:80:1f4::/64
2409:8c3c:1300:306::/64
2409:8c3c:900:1a1::/64
2409:8c3c:900:1a2::/63
2409:8c3c:900:1a4::/64
2409:8c44:b00:4ec::/64
2409:8c4c:e00:2011::/64
2409:8c4c:e00:2012::/63
2409:8c4c:e00:2014::/64
2409:8c50:a00:2061::/64
2409:8c50:a00:2170::/61
2409:8c50:a00:2178::/64
2409:8c50:a00:2252::/63
2409:8c50:a00:2254::/64
2409:8c54:1801:21::/64
2409:8c54:1801:22::/63
2409:8c54:1801:24::/64
2409:8c54:1821:578::/64
2409:8c54:2030:222::/63
2409:8c54:2030:224::/64
2409:8c54:2030:226::/63
2409:8c54:2030:228::/63
2409:8c5c:110:50::/64
2409:8c5e:5000:c2::/64
2409:8c60:2500:5d::/64
2409:8c62:e10:218::/64
2409:8c6a:b021:74::/64
2409:8c6c:561:8110::/62
2409:8c70:3a10:16::/64
2409:8c70:3a91:51::/64
2409:8c70:3a91:52::/64
2409:8c70:3a91:56::/63
2409:8c70:3a91:58::/64
2409:8c74:f100:864::/64
2409:8c78:100:24::/64
2409:8c7a:2604::/64
240e:90d:1101:4508::/64
240e:90d:1101:4510::/64
240e:910:e000:2504::/64
240e:914:5009:1002::/63
240e:914:5009:a::/63
240e:925:2:701::/64
240e:925:2:702::/63
240e:925:2:704::/64
240e:925:2:706::/63
240e:926:3004:21::/64
240e:930:c200:70::/63
240e:935:a04:2708::/64
240e:93c:1201:2::/63
240e:93c:1201:4::/64
240e:93c:1201:d::/64
240e:940:20c:308::/64
240e:946:3000:8008::/63
240e:94a:b01:214::/63
240e:94c:0:2701::/64
240e:94c:0:2702::/63
240e:94c:0:2704::/64
240e:950:1:2002::/64
240e:958:2300:220::/64
240e:958:6003:108::/64
240e:95e:4001:1::/64
240e:95e:4001:2::/63
240e:95e:4001:4::/64
240e:960:200:90::/64
240e:960:200:92::/63
240e:960:200:94::/62
240e:960:200:98::/64
240e:964:5002:109::/64
240e:964:5002:10a::/63
240e:964:5002:10c::/64
240e:965:802:b01::/64
240e:965:802:b02::/63
240e:965:802:b04::/62
240e:965:802:b08::/63
240e:96c:6400:a00::/64
240e:974:e200:4209::/64
240e:974:e200:420a::/63
240e:974:e200:420c::/63
240e:978:2608:800::/64
240e:978:2903:50a7::/64
240e:978:2903:50a9::/64
240e:978:b34:1::/64
240e:978:d04:2082::/63
240e:978:d04:2085::/64
240e:978:d04:2086::/63
240e:978:d04:2088::/64
240e:978:d04:208b::/64
240e:978:d04:208c::/62
240e:978:d04:2090::/63
240e:979:f07:1::/64
240e:979:f07:3::/64
240e:979:f07:4::/63
240e:979:f07:7::/64
240e:979:f07:9::/64
240e:97c:4040:200::/63
240e:97d:10:25de::/64
240e:97d:10:25e7::/64
240e:97d:2000:b02::/63
240e:97d:2000:b04::/64
240e:97d:2000:b06::/63
240e:97d:2000:b08::/63
240e:980:1200:b14::/63
240e:983:705:2::/64
240e:b1:c808:9::/64
240e:b1:c808:a::/64
240e:b1:c808:c::/63
240e:bf:b800:4131::/64
240e:bf:b800:4132::/64
240e:bf:b800:4136::/63
240e:bf:b800:4138::/64
240e:bf:c800:2915::/64
240e:bf:c800:2916::/64
240e:c2:1800:110::/61
240e:c2:1800:118::/64
240e:c2:1800:ab::/64
240e:c2:1800:ac::/64
240e:c3:2800:205::/64
240e:cd:ff00:118::/64
240e:e9:b00c:33::/64
240e:e9:b00c:34::/63
240e:e9:b00c:36::/64
240e:f7:a070:342::/63
240e:f7:a070:344::/62
240e:f7:a070:348::/63
240e:f7:a070:3c0::/64
240e:f7:ef00:10::/64
2001:df1:7e00:4::/64
2400:adc0:4041::/64
2400:de40::/64
2403:c280:5:1::/64
2404:3100:d:5::/64
2404:a140:3a:1::/64
2404:a140:3e:6::/64
2405:3200:101:63::/64
2405:4800:a601::/64
2407:2440:10:255::/64
240d:c040:1::/64
2602:fa80:10:2::/63
2602:ffe4:c02:1001::/64
2602:ffe4:c02:100c::/63
2602:ffe4:c12:105::/64
2602:ffe4:c15:124::/64
2602:ffe4:c18:c201::/64
2602:ffe4:c18:c202::/63
2602:ffe4:c27:1000::/64
2604:980:4002:2::/64
2604:980:7002:6::/64
2803:2540:f:14::/64
2a00:12f8:3900:13::/64
2a02:b60:2001::/64
2a02:ce0:1:70::/64
2a05:45c7:1:1018::/64

5
ip_lists/esa.txt Normal file
View File

@ -0,0 +1,5 @@
# ESA (Alibaba Cloud) IP examples - Replace with your actual IPs
47.88.1.1
47.89.1.1
39.96.1.1
# Add your ESA IPs here

5
ip_lists/fastly.txt Normal file
View File

@ -0,0 +1,5 @@
# Fastly IP examples - Replace with your actual IPs
151.101.1.1
151.101.2.1
199.232.1.1
# Add your Fastly IPs here

View File

@ -0,0 +1,353 @@
2025-07-25 17:14:49,616 - bestcdn - INFO - Logging initialized - Log file: logs/bestcdn_20250725_171449.log
2025-07-25 17:14:49,616 - bestcdn - INFO - Set test domain for cloudflare: example.com
2025-07-25 17:14:49,616 - bestcdn - INFO - Set test domain for fastly: example.com
2025-07-25 17:14:49,616 - bestcdn - INFO - Set test domain for edgeone: example.com
2025-07-25 17:14:49,616 - bestcdn - INFO - Set test domain for esa: example.com
2025-07-25 17:14:49,616 - bestcdn - INFO - Validating setup...
2025-07-25 17:14:49,616 - bestcdn - INFO - Enabled providers: edgeone, esa, fastly, cloudflare
2025-07-25 17:14:49,619 - bestcdn - INFO - edgeone: 1774488 IPs available
2025-07-25 17:14:49,619 - bestcdn - INFO - esa: 3 IPs available
2025-07-25 17:14:49,619 - bestcdn - INFO - fastly: 3 IPs available
2025-07-25 17:14:49,619 - bestcdn - INFO - cloudflare: 3 IPs available
2025-07-25 17:14:49,619 - bestcdn - INFO - Setup validation completed successfully
2025-07-25 17:14:49,619 - bestcdn - INFO - ============================================================
2025-07-25 17:14:49,619 - bestcdn - INFO - STARTING BESTCDN IP ACCESSIBILITY TEST
2025-07-25 17:14:49,619 - bestcdn - INFO - ============================================================
2025-07-25 17:14:49,619 - bestcdn - INFO - Loading IP lists...
2025-07-25 17:14:49,679 - ip_reader - WARNING - Large network 43.152.0.0/18 with 16384 IPs - sampling first 5000
2025-07-25 17:14:49,685 - ip_reader - WARNING - Large network 43.152.128.0/18 with 16384 IPs - sampling first 5000
2025-07-25 17:14:49,689 - ip_reader - WARNING - Large network 43.159.64.0/18 with 16384 IPs - sampling first 5000
2025-07-25 17:14:49,705 - ip_reader - WARNING - Large network 43.174.0.0/15 with 131072 IPs - sampling first 5000
2025-07-25 17:14:49,711 - ip_reader - WARNING - Large network 240d:c010::/28 with 1267650600228229401496703205376 IPs - sampling first 5000
2025-07-25 17:14:49,725 - ip_reader - WARNING - Large network 2402:4e00:24:10de::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,739 - ip_reader - WARNING - Large network 2402:4e00:24:10f0::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,753 - ip_reader - WARNING - Large network 2402:4e00:37:10dd::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,767 - ip_reader - WARNING - Large network 2402:4e00:37:10de::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:49,781 - ip_reader - WARNING - Large network 2402:4e00:37:10e0::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:49,795 - ip_reader - WARNING - Large network 2402:4e00:37:10e2::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,810 - ip_reader - WARNING - Large network 2402:4e00:37:10e4::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:49,824 - ip_reader - WARNING - Large network 2402:4e00:37:10e8::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:49,843 - ip_reader - WARNING - Large network 2402:4e00:37:10ec::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:49,857 - ip_reader - WARNING - Large network 2402:4e00:37:10ef::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,871 - ip_reader - WARNING - Large network 2402:4e00:37:10f1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,885 - ip_reader - WARNING - Large network 2402:4e00:37:10f2::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,899 - ip_reader - WARNING - Large network 2402:4e00:37:10f4::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:49,913 - ip_reader - WARNING - Large network 2402:4e00:37:10fc::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,927 - ip_reader - WARNING - Large network 2402:4e00:37:10fe::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,941 - ip_reader - WARNING - Large network 2402:4e00:43:ef::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,955 - ip_reader - WARNING - Large network 2402:4e00:43:f0::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,970 - ip_reader - WARNING - Large network 2402:4e00:43:fd::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,984 - ip_reader - WARNING - Large network 2402:4e00:a2:df::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:49,998 - ip_reader - WARNING - Large network 2402:4e00:a2:e4::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,012 - ip_reader - WARNING - Large network 2402:4e00:a2:e6::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,026 - ip_reader - WARNING - Large network 2402:4e00:a2:eb::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,040 - ip_reader - WARNING - Large network 2402:4e00:a2:ec::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,055 - ip_reader - WARNING - Large network 2402:4e00:a2:ef::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,069 - ip_reader - WARNING - Large network 2402:4e00:a2:f1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,082 - ip_reader - WARNING - Large network 2402:4e00:a2:f5::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,095 - ip_reader - WARNING - Large network 2402:4e00:a2:f8::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,106 - ip_reader - WARNING - Large network 2402:4e00:a2:ff::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,117 - ip_reader - WARNING - Large network 2402:4e00:c010:4::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,128 - ip_reader - WARNING - Large network 2402:4e00:c031:7fc::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,139 - ip_reader - WARNING - Large network 2402:4e00:c031:7fe::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,150 - ip_reader - WARNING - Large network 2402:4e00:c042:300::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,161 - ip_reader - WARNING - Large network 2402:4e00:c042:309::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,172 - ip_reader - WARNING - Large network 2402:4e00:c042:310::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,184 - ip_reader - WARNING - Large network 2402:4e00:c050:13::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,195 - ip_reader - WARNING - Large network 2402:4e00:c050:1a::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,206 - ip_reader - WARNING - Large network 2402:4e00:c050:1c::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,217 - ip_reader - WARNING - Large network 2402:4e00:c050:2c::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,229 - ip_reader - WARNING - Large network 2402:4e00:c050:4c::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,247 - ip_reader - WARNING - Large network 2402:4e00:c050:8::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,258 - ip_reader - WARNING - Large network 2402:4e00:c050::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,270 - ip_reader - WARNING - Large network 2402:4e00:c050:b::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,281 - ip_reader - WARNING - Large network 2402:4e00:c050:c::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,292 - ip_reader - WARNING - Large network 2402:4e00:c050:e::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,303 - ip_reader - WARNING - Large network 2402:4e00:c2:10d1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,317 - ip_reader - WARNING - Large network 2402:4e00:c2:10d6::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,329 - ip_reader - WARNING - Large network 2402:4e00:c2:10ef::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,342 - ip_reader - WARNING - Large network 2402:4e00:c2:10f1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,354 - ip_reader - WARNING - Large network 2402:4e00:c2:10f2::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,365 - ip_reader - WARNING - Large network 2402:4e00:c2:10f6::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,377 - ip_reader - WARNING - Large network 2402:4e00:c2:10fa::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,388 - ip_reader - WARNING - Large network 2402:4e00:c2:10fd::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,400 - ip_reader - WARNING - Large network 2402:4e00:c2:10ff::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,411 - ip_reader - WARNING - Large network 2408:862a:240:2::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,422 - ip_reader - WARNING - Large network 2408:8670:3af0:32::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,434 - ip_reader - WARNING - Large network 2408:8706:0:400::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,445 - ip_reader - WARNING - Large network 2408:8706:2:300d::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,457 - ip_reader - WARNING - Large network 2408:8706:2:300e::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,468 - ip_reader - WARNING - Large network 2408:870c:1020:11::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,479 - ip_reader - WARNING - Large network 2408:8710:20:11a0::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,491 - ip_reader - WARNING - Large network 2408:8719:1100:91::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,502 - ip_reader - WARNING - Large network 2408:8719:1100:92::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,513 - ip_reader - WARNING - Large network 2408:8719:1100:94::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,525 - ip_reader - WARNING - Large network 2408:8719:1100:96::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,536 - ip_reader - WARNING - Large network 2408:8719:40e:39::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,548 - ip_reader - WARNING - Large network 2408:8719:40e:3a::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,559 - ip_reader - WARNING - Large network 2408:8719:40e:3c::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,570 - ip_reader - WARNING - Large network 2408:8719:40f:18::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,582 - ip_reader - WARNING - Large network 2408:871a:5100:140::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,593 - ip_reader - WARNING - Large network 2408:8720:806:300::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,605 - ip_reader - WARNING - Large network 2408:8726:1001:111::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,616 - ip_reader - WARNING - Large network 2408:8726:1001:112::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,627 - ip_reader - WARNING - Large network 2408:8726:1001:114::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,639 - ip_reader - WARNING - Large network 2408:8726:1001:116::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,650 - ip_reader - WARNING - Large network 2408:872f:20:210::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,661 - ip_reader - WARNING - Large network 2408:8734:4012:1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,673 - ip_reader - WARNING - Large network 2408:8734:4012:2::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,684 - ip_reader - WARNING - Large network 2408:8734:4012:4::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,696 - ip_reader - WARNING - Large network 2408:8738:b000:1c::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,707 - ip_reader - WARNING - Large network 2408:873c:5011::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,719 - ip_reader - WARNING - Large network 2408:873c:5811:78::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,731 - ip_reader - WARNING - Large network 2408:873c:5811:a3::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,742 - ip_reader - WARNING - Large network 2408:873c:5811:ae::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,754 - ip_reader - WARNING - Large network 2408:873d:2011:41::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,765 - ip_reader - WARNING - Large network 2408:873d:2011:43::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,777 - ip_reader - WARNING - Large network 2408:873d:2011:44::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,789 - ip_reader - WARNING - Large network 2408:873d:2011:47::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,800 - ip_reader - WARNING - Large network 2408:873d:2011:49::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,812 - ip_reader - WARNING - Large network 2408:8740:d1fe:52::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,823 - ip_reader - WARNING - Large network 2408:8740:d1fe:54::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:50,835 - ip_reader - WARNING - Large network 2408:8740:d1fe:58::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,846 - ip_reader - WARNING - Large network 2408:8744:d05:11::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,858 - ip_reader - WARNING - Large network 2408:8744:d05:12::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,869 - ip_reader - WARNING - Large network 2408:8748:a100:33::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,881 - ip_reader - WARNING - Large network 2408:8748:a100:34::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,892 - ip_reader - WARNING - Large network 2408:8748:a100:36::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,903 - ip_reader - WARNING - Large network 2408:8748:a102:3041::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,915 - ip_reader - WARNING - Large network 2408:8748:a102:3042::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,926 - ip_reader - WARNING - Large network 2408:8748:a102:3044::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:50,938 - ip_reader - WARNING - Large network 2408:8748:a102:3048::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,949 - ip_reader - WARNING - Large network 2408:8749:c110:800::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,960 - ip_reader - WARNING - Large network 2408:874c:1ff:80::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:50,987 - ip_reader - WARNING - Large network 2408:874c:1ff:82::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:50,998 - ip_reader - WARNING - Large network 2408:874c:1ff:84::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:51,009 - ip_reader - WARNING - Large network 2408:874c:1ff:88::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,020 - ip_reader - WARNING - Large network 2408:874d:a00:b::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,032 - ip_reader - WARNING - Large network 2408:874d:a00:c::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,043 - ip_reader - WARNING - Large network 2408:874f:3001:310::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,055 - ip_reader - WARNING - Large network 2408:8752:e00:80::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,066 - ip_reader - WARNING - Large network 2408:8752:e00:b0::/61 with 147573952589676412928 IPs - sampling first 5000
2025-07-25 17:14:51,077 - ip_reader - WARNING - Large network 2408:8752:e00:b8::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,089 - ip_reader - WARNING - Large network 2408:8756:2cff:e401::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,100 - ip_reader - WARNING - Large network 2408:8756:2cff:e402::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,112 - ip_reader - WARNING - Large network 2408:8756:2cff:e404::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,123 - ip_reader - WARNING - Large network 2408:8756:4cff:d602::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,135 - ip_reader - WARNING - Large network 2408:8756:4cff:d604::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,146 - ip_reader - WARNING - Large network 2408:8756:4cff:d606::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,158 - ip_reader - WARNING - Large network 2408:8756:4cff:d608::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,169 - ip_reader - WARNING - Large network 2408:8756:d0fb:16c::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,181 - ip_reader - WARNING - Large network 2408:8756:d0fb:170::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,192 - ip_reader - WARNING - Large network 2408:875c:0:80::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,203 - ip_reader - WARNING - Large network 2408:8760:119:4::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,215 - ip_reader - WARNING - Large network 2408:8764:22:1f::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,226 - ip_reader - WARNING - Large network 2408:8766:0:101c::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,238 - ip_reader - WARNING - Large network 2408:876a:1000:22::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,249 - ip_reader - WARNING - Large network 2408:876a:1000:24::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,261 - ip_reader - WARNING - Large network 2408:876c:1780:122::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,272 - ip_reader - WARNING - Large network 2408:8770:0:d1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,284 - ip_reader - WARNING - Large network 2408:8770:0:d2::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,296 - ip_reader - WARNING - Large network 2408:8770:0:d6::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,307 - ip_reader - WARNING - Large network 2408:8770:0:d8::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,319 - ip_reader - WARNING - Large network 2408:8776:1:c::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,330 - ip_reader - WARNING - Large network 2408:8779:c001:3::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,342 - ip_reader - WARNING - Large network 2408:877a:2000:f::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,354 - ip_reader - WARNING - Large network 2409:8702:489c::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,365 - ip_reader - WARNING - Large network 2409:875e:5088:c1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,377 - ip_reader - WARNING - Large network 2409:8c04:110e:4001::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,388 - ip_reader - WARNING - Large network 2409:8c0c:310:21d::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,400 - ip_reader - WARNING - Large network 2409:8c0c:310:21e::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,411 - ip_reader - WARNING - Large network 2409:8c0c:310:220::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,423 - ip_reader - WARNING - Large network 2409:8c0c:310:222::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,434 - ip_reader - WARNING - Large network 2409:8c10:c00:1404::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,446 - ip_reader - WARNING - Large network 2409:8c10:c00:68::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,457 - ip_reader - WARNING - Large network 2409:8c14:f2c:1001::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,469 - ip_reader - WARNING - Large network 2409:8c1c:300:17::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,480 - ip_reader - WARNING - Large network 2409:8c1e:68e0:a08::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,492 - ip_reader - WARNING - Large network 2409:8c1e:8f80:2::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,503 - ip_reader - WARNING - Large network 2409:8c20:1834:461::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,515 - ip_reader - WARNING - Large network 2409:8c20:1834:463::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,526 - ip_reader - WARNING - Large network 2409:8c20:1834:464::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,537 - ip_reader - WARNING - Large network 2409:8c20:1834:467::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,549 - ip_reader - WARNING - Large network 2409:8c20:1834:469::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,560 - ip_reader - WARNING - Large network 2409:8c20:5021:160::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,572 - ip_reader - WARNING - Large network 2409:8c20:9c71:1dd::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,583 - ip_reader - WARNING - Large network 2409:8c20:9c71:1de::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,595 - ip_reader - WARNING - Large network 2409:8c20:9c71:1e1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,606 - ip_reader - WARNING - Large network 2409:8c20:9c71:1e2::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,618 - ip_reader - WARNING - Large network 2409:8c20:9c71:1e4::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,629 - ip_reader - WARNING - Large network 2409:8c20:9c71:1e6::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,640 - ip_reader - WARNING - Large network 2409:8c20:9c71:1e8::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,652 - ip_reader - WARNING - Large network 2409:8c20:b281:19::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,663 - ip_reader - WARNING - Large network 2409:8c28:203:308::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,675 - ip_reader - WARNING - Large network 2409:8c28:203:34::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,686 - ip_reader - WARNING - Large network 2409:8c28:2808:11::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,698 - ip_reader - WARNING - Large network 2409:8c28:2808:12::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,710 - ip_reader - WARNING - Large network 2409:8c28:2808:14::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,721 - ip_reader - WARNING - Large network 2409:8c28:2808:d::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,733 - ip_reader - WARNING - Large network 2409:8c28:2808:e::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,744 - ip_reader - WARNING - Large network 2409:8c30:1000:20::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,756 - ip_reader - WARNING - Large network 2409:8c34:2220:30a::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,767 - ip_reader - WARNING - Large network 2409:8c34:e00:41::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,778 - ip_reader - WARNING - Large network 2409:8c34:e00:42::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,790 - ip_reader - WARNING - Large network 2409:8c34:e00:44::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:51,801 - ip_reader - WARNING - Large network 2409:8c34:e00:48::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,813 - ip_reader - WARNING - Large network 2409:8c38:80:1c0::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,824 - ip_reader - WARNING - Large network 2409:8c38:80:1c2::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,836 - ip_reader - WARNING - Large network 2409:8c38:80:1c4::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:51,847 - ip_reader - WARNING - Large network 2409:8c38:80:1c8::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,859 - ip_reader - WARNING - Large network 2409:8c38:80:1f1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,871 - ip_reader - WARNING - Large network 2409:8c38:80:1f2::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,882 - ip_reader - WARNING - Large network 2409:8c38:80:1f4::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,894 - ip_reader - WARNING - Large network 2409:8c3c:1300:306::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,905 - ip_reader - WARNING - Large network 2409:8c3c:900:1a1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,916 - ip_reader - WARNING - Large network 2409:8c3c:900:1a2::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,928 - ip_reader - WARNING - Large network 2409:8c3c:900:1a4::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,939 - ip_reader - WARNING - Large network 2409:8c44:b00:4ec::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,951 - ip_reader - WARNING - Large network 2409:8c4c:e00:2011::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,962 - ip_reader - WARNING - Large network 2409:8c4c:e00:2012::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:51,974 - ip_reader - WARNING - Large network 2409:8c4c:e00:2014::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,985 - ip_reader - WARNING - Large network 2409:8c50:a00:2061::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:51,997 - ip_reader - WARNING - Large network 2409:8c50:a00:2170::/61 with 147573952589676412928 IPs - sampling first 5000
2025-07-25 17:14:52,008 - ip_reader - WARNING - Large network 2409:8c50:a00:2178::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,020 - ip_reader - WARNING - Large network 2409:8c50:a00:2252::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,032 - ip_reader - WARNING - Large network 2409:8c50:a00:2254::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,043 - ip_reader - WARNING - Large network 2409:8c54:1801:21::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,055 - ip_reader - WARNING - Large network 2409:8c54:1801:22::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,066 - ip_reader - WARNING - Large network 2409:8c54:1801:24::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,077 - ip_reader - WARNING - Large network 2409:8c54:1821:578::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,089 - ip_reader - WARNING - Large network 2409:8c54:2030:222::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,100 - ip_reader - WARNING - Large network 2409:8c54:2030:224::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,111 - ip_reader - WARNING - Large network 2409:8c54:2030:226::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,123 - ip_reader - WARNING - Large network 2409:8c54:2030:228::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,134 - ip_reader - WARNING - Large network 2409:8c5c:110:50::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,145 - ip_reader - WARNING - Large network 2409:8c5e:5000:c2::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,157 - ip_reader - WARNING - Large network 2409:8c60:2500:5d::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,168 - ip_reader - WARNING - Large network 2409:8c62:e10:218::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,180 - ip_reader - WARNING - Large network 2409:8c6a:b021:74::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,191 - ip_reader - WARNING - Large network 2409:8c6c:561:8110::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:52,202 - ip_reader - WARNING - Large network 2409:8c70:3a10:16::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,214 - ip_reader - WARNING - Large network 2409:8c70:3a91:51::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,225 - ip_reader - WARNING - Large network 2409:8c70:3a91:52::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,236 - ip_reader - WARNING - Large network 2409:8c70:3a91:56::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,248 - ip_reader - WARNING - Large network 2409:8c70:3a91:58::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,259 - ip_reader - WARNING - Large network 2409:8c74:f100:864::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,270 - ip_reader - WARNING - Large network 2409:8c78:100:24::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,282 - ip_reader - WARNING - Large network 2409:8c7a:2604::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,293 - ip_reader - WARNING - Large network 240e:90d:1101:4508::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,304 - ip_reader - WARNING - Large network 240e:90d:1101:4510::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,316 - ip_reader - WARNING - Large network 240e:910:e000:2504::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,327 - ip_reader - WARNING - Large network 240e:914:5009:1002::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,338 - ip_reader - WARNING - Large network 240e:914:5009:a::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,350 - ip_reader - WARNING - Large network 240e:925:2:701::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,361 - ip_reader - WARNING - Large network 240e:925:2:702::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,373 - ip_reader - WARNING - Large network 240e:925:2:704::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,384 - ip_reader - WARNING - Large network 240e:925:2:706::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,395 - ip_reader - WARNING - Large network 240e:926:3004:21::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,407 - ip_reader - WARNING - Large network 240e:930:c200:70::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,418 - ip_reader - WARNING - Large network 240e:935:a04:2708::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,458 - ip_reader - WARNING - Large network 240e:93c:1201:2::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,470 - ip_reader - WARNING - Large network 240e:93c:1201:4::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,481 - ip_reader - WARNING - Large network 240e:93c:1201:d::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,493 - ip_reader - WARNING - Large network 240e:940:20c:308::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,504 - ip_reader - WARNING - Large network 240e:946:3000:8008::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,515 - ip_reader - WARNING - Large network 240e:94a:b01:214::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,527 - ip_reader - WARNING - Large network 240e:94c:0:2701::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,538 - ip_reader - WARNING - Large network 240e:94c:0:2702::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,550 - ip_reader - WARNING - Large network 240e:94c:0:2704::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,561 - ip_reader - WARNING - Large network 240e:950:1:2002::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,573 - ip_reader - WARNING - Large network 240e:958:2300:220::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,584 - ip_reader - WARNING - Large network 240e:958:6003:108::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,595 - ip_reader - WARNING - Large network 240e:95e:4001:1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,607 - ip_reader - WARNING - Large network 240e:95e:4001:2::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,619 - ip_reader - WARNING - Large network 240e:95e:4001:4::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,631 - ip_reader - WARNING - Large network 240e:960:200:90::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,644 - ip_reader - WARNING - Large network 240e:960:200:92::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,656 - ip_reader - WARNING - Large network 240e:960:200:94::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:52,667 - ip_reader - WARNING - Large network 240e:960:200:98::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,679 - ip_reader - WARNING - Large network 240e:964:5002:109::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,690 - ip_reader - WARNING - Large network 240e:964:5002:10a::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,701 - ip_reader - WARNING - Large network 240e:964:5002:10c::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,713 - ip_reader - WARNING - Large network 240e:965:802:b01::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,724 - ip_reader - WARNING - Large network 240e:965:802:b02::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,736 - ip_reader - WARNING - Large network 240e:965:802:b04::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:52,747 - ip_reader - WARNING - Large network 240e:965:802:b08::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,758 - ip_reader - WARNING - Large network 240e:96c:6400:a00::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,770 - ip_reader - WARNING - Large network 240e:974:e200:4209::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,781 - ip_reader - WARNING - Large network 240e:974:e200:420a::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,792 - ip_reader - WARNING - Large network 240e:974:e200:420c::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,804 - ip_reader - WARNING - Large network 240e:978:2608:800::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,815 - ip_reader - WARNING - Large network 240e:978:2903:50a7::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,826 - ip_reader - WARNING - Large network 240e:978:2903:50a9::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,838 - ip_reader - WARNING - Large network 240e:978:b34:1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,849 - ip_reader - WARNING - Large network 240e:978:d04:2082::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,860 - ip_reader - WARNING - Large network 240e:978:d04:2085::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,872 - ip_reader - WARNING - Large network 240e:978:d04:2086::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,883 - ip_reader - WARNING - Large network 240e:978:d04:2088::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,894 - ip_reader - WARNING - Large network 240e:978:d04:208b::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,906 - ip_reader - WARNING - Large network 240e:978:d04:208c::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:52,917 - ip_reader - WARNING - Large network 240e:978:d04:2090::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,929 - ip_reader - WARNING - Large network 240e:979:f07:1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,940 - ip_reader - WARNING - Large network 240e:979:f07:3::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,951 - ip_reader - WARNING - Large network 240e:979:f07:4::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,963 - ip_reader - WARNING - Large network 240e:979:f07:7::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,974 - ip_reader - WARNING - Large network 240e:979:f07:9::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:52,986 - ip_reader - WARNING - Large network 240e:97c:4040:200::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:52,997 - ip_reader - WARNING - Large network 240e:97d:10:25de::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,008 - ip_reader - WARNING - Large network 240e:97d:10:25e7::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,020 - ip_reader - WARNING - Large network 240e:97d:2000:b02::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,031 - ip_reader - WARNING - Large network 240e:97d:2000:b04::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,042 - ip_reader - WARNING - Large network 240e:97d:2000:b06::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,053 - ip_reader - WARNING - Large network 240e:97d:2000:b08::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,065 - ip_reader - WARNING - Large network 240e:980:1200:b14::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,076 - ip_reader - WARNING - Large network 240e:983:705:2::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,087 - ip_reader - WARNING - Large network 240e:b1:c808:9::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,099 - ip_reader - WARNING - Large network 240e:b1:c808:a::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,110 - ip_reader - WARNING - Large network 240e:b1:c808:c::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,121 - ip_reader - WARNING - Large network 240e:bf:b800:4131::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,133 - ip_reader - WARNING - Large network 240e:bf:b800:4132::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,144 - ip_reader - WARNING - Large network 240e:bf:b800:4136::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,155 - ip_reader - WARNING - Large network 240e:bf:b800:4138::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,167 - ip_reader - WARNING - Large network 240e:bf:c800:2915::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,178 - ip_reader - WARNING - Large network 240e:bf:c800:2916::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,189 - ip_reader - WARNING - Large network 240e:c2:1800:110::/61 with 147573952589676412928 IPs - sampling first 5000
2025-07-25 17:14:53,200 - ip_reader - WARNING - Large network 240e:c2:1800:118::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,212 - ip_reader - WARNING - Large network 240e:c2:1800:ab::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,223 - ip_reader - WARNING - Large network 240e:c2:1800:ac::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,235 - ip_reader - WARNING - Large network 240e:c3:2800:205::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,246 - ip_reader - WARNING - Large network 240e:cd:ff00:118::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,257 - ip_reader - WARNING - Large network 240e:e9:b00c:33::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,269 - ip_reader - WARNING - Large network 240e:e9:b00c:34::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,280 - ip_reader - WARNING - Large network 240e:e9:b00c:36::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,291 - ip_reader - WARNING - Large network 240e:f7:a070:342::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,303 - ip_reader - WARNING - Large network 240e:f7:a070:344::/62 with 73786976294838206464 IPs - sampling first 5000
2025-07-25 17:14:53,314 - ip_reader - WARNING - Large network 240e:f7:a070:348::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,325 - ip_reader - WARNING - Large network 240e:f7:a070:3c0::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,337 - ip_reader - WARNING - Large network 240e:f7:ef00:10::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,348 - ip_reader - WARNING - Large network 2001:df1:7e00:4::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,359 - ip_reader - WARNING - Large network 2400:adc0:4041::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,371 - ip_reader - WARNING - Large network 2400:de40::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,382 - ip_reader - WARNING - Large network 2403:c280:5:1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,393 - ip_reader - WARNING - Large network 2404:3100:d:5::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,404 - ip_reader - WARNING - Large network 2404:a140:3a:1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,416 - ip_reader - WARNING - Large network 2404:a140:3e:6::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,427 - ip_reader - WARNING - Large network 2405:3200:101:63::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,438 - ip_reader - WARNING - Large network 2405:4800:a601::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,450 - ip_reader - WARNING - Large network 2407:2440:10:255::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,461 - ip_reader - WARNING - Large network 240d:c040:1::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,473 - ip_reader - WARNING - Large network 2602:fa80:10:2::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,484 - ip_reader - WARNING - Large network 2602:ffe4:c02:1001::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,496 - ip_reader - WARNING - Large network 2602:ffe4:c02:100c::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,507 - ip_reader - WARNING - Large network 2602:ffe4:c12:105::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,518 - ip_reader - WARNING - Large network 2602:ffe4:c15:124::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,530 - ip_reader - WARNING - Large network 2602:ffe4:c18:c201::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,541 - ip_reader - WARNING - Large network 2602:ffe4:c18:c202::/63 with 36893488147419103232 IPs - sampling first 5000
2025-07-25 17:14:53,552 - ip_reader - WARNING - Large network 2602:ffe4:c27:1000::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,563 - ip_reader - WARNING - Large network 2604:980:4002:2::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,575 - ip_reader - WARNING - Large network 2604:980:7002:6::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,586 - ip_reader - WARNING - Large network 2803:2540:f:14::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,597 - ip_reader - WARNING - Large network 2a00:12f8:3900:13::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,609 - ip_reader - WARNING - Large network 2a02:b60:2001::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,620 - ip_reader - WARNING - Large network 2a02:ce0:1:70::/64 with 18446744073709551616 IPs - sampling first 5000
2025-07-25 17:14:53,631 - ip_reader - WARNING - Large network 2a05:45c7:1:1018::/64 with 18446744073709551616 IPs - sampling first 5000

View File

@ -0,0 +1,361 @@
2025-07-25 17:16:26,802 - bestcdn - INFO - Logging initialized - Log file: logs/bestcdn_20250725_171626.log
2025-07-25 17:16:26,802 - bestcdn - INFO - Set test domain for cloudflare: example.com
2025-07-25 17:16:26,802 - bestcdn - INFO - Set test domain for fastly: example.com
2025-07-25 17:16:26,802 - bestcdn - INFO - Set test domain for edgeone: example.com
2025-07-25 17:16:26,802 - bestcdn - INFO - Set test domain for esa: example.com
2025-07-25 17:16:26,802 - bestcdn - INFO - Validating setup...
2025-07-25 17:16:26,802 - bestcdn - INFO - Enabled providers: edgeone, esa, fastly, cloudflare
2025-07-25 17:16:26,805 - bestcdn - INFO - edgeone: 1774488 IPs available
2025-07-25 17:16:26,805 - bestcdn - INFO - esa: 3 IPs available
2025-07-25 17:16:26,805 - bestcdn - INFO - fastly: 3 IPs available
2025-07-25 17:16:26,805 - bestcdn - INFO - cloudflare: 3 IPs available
2025-07-25 17:16:26,805 - bestcdn - INFO - Setup validation completed successfully
2025-07-25 17:16:26,805 - bestcdn - INFO - ============================================================
2025-07-25 17:16:26,805 - bestcdn - INFO - STARTING BESTCDN IP ACCESSIBILITY TEST
2025-07-25 17:16:26,805 - bestcdn - INFO - ============================================================
2025-07-25 17:16:26,805 - bestcdn - INFO - Loading IP lists...
2025-07-25 17:16:26,916 - ip_reader - WARNING - Very large IPv4 network 43.174.0.0/15 with 131072 IPs - this may take time
2025-07-25 17:16:27,018 - ip_reader - INFO - IPv6 network 240d:c010::/28 - sampling first 32 IPs
2025-07-25 17:16:27,018 - ip_reader - INFO - IPv6 network 2402:4e00:24:10de::/64 - sampling first 32 IPs
2025-07-25 17:16:27,019 - ip_reader - INFO - IPv6 network 2402:4e00:24:10f0::/64 - sampling first 32 IPs
2025-07-25 17:16:27,019 - ip_reader - INFO - IPv6 network 2402:4e00:37:10dd::/64 - sampling first 32 IPs
2025-07-25 17:16:27,019 - ip_reader - INFO - IPv6 network 2402:4e00:37:10de::/63 - sampling first 32 IPs
2025-07-25 17:16:27,019 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e0::/63 - sampling first 32 IPs
2025-07-25 17:16:27,019 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e2::/64 - sampling first 32 IPs
2025-07-25 17:16:27,019 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e4::/62 - sampling first 32 IPs
2025-07-25 17:16:27,019 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e8::/62 - sampling first 32 IPs
2025-07-25 17:16:27,019 - ip_reader - INFO - IPv6 network 2402:4e00:37:10ec::/63 - sampling first 32 IPs
2025-07-25 17:16:27,019 - ip_reader - INFO - IPv6 network 2402:4e00:37:10ef::/64 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f2::/64 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f4::/62 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:37:10fc::/64 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:37:10fe::/64 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:43:ef::/64 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:43:f0::/64 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:43:fd::/64 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:a2:df::/64 - sampling first 32 IPs
2025-07-25 17:16:27,020 - ip_reader - INFO - IPv6 network 2402:4e00:a2:e4::/63 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:a2:e6::/64 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:a2:eb::/64 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ec::/64 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ef::/64 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f5::/64 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f8::/63 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ff::/64 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:c010:4::/64 - sampling first 32 IPs
2025-07-25 17:16:27,021 - ip_reader - INFO - IPv6 network 2402:4e00:c031:7fc::/63 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c031:7fe::/64 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c042:300::/63 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c042:309::/64 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c042:310::/64 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c050:13::/64 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c050:1a::/63 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c050:1c::/63 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c050:2c::/63 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c050:4c::/64 - sampling first 32 IPs
2025-07-25 17:16:27,022 - ip_reader - INFO - IPv6 network 2402:4e00:c050:8::/64 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c050::/64 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c050:b::/64 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c050:c::/63 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c050:e::/64 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10d1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10d6::/64 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10ef::/64 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f2::/63 - sampling first 32 IPs
2025-07-25 17:16:27,023 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f6::/63 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10fa::/64 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10fd::/64 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10ff::/64 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2408:862a:240:2::/64 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2408:8670:3af0:32::/64 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2408:8706:0:400::/64 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2408:8706:2:300d::/64 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2408:8706:2:300e::/64 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2408:870c:1020:11::/64 - sampling first 32 IPs
2025-07-25 17:16:27,024 - ip_reader - INFO - IPv6 network 2408:8710:20:11a0::/63 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8719:1100:91::/64 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8719:1100:92::/63 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8719:1100:94::/63 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8719:1100:96::/64 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8719:40e:39::/64 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8719:40e:3a::/63 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8719:40e:3c::/64 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8719:40f:18::/64 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:871a:5100:140::/64 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8720:806:300::/64 - sampling first 32 IPs
2025-07-25 17:16:27,025 - ip_reader - INFO - IPv6 network 2408:8726:1001:111::/64 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:8726:1001:112::/63 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:8726:1001:114::/64 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:8726:1001:116::/63 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:872f:20:210::/63 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:8734:4012:1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:8734:4012:2::/64 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:8734:4012:4::/64 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:8738:b000:1c::/64 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:873c:5011::/64 - sampling first 32 IPs
2025-07-25 17:16:27,026 - ip_reader - INFO - IPv6 network 2408:873c:5811:78::/64 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:873c:5811:a3::/64 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:873c:5811:ae::/64 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:873d:2011:41::/64 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:873d:2011:43::/64 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:873d:2011:44::/63 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:873d:2011:47::/64 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:873d:2011:49::/64 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:52::/63 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:54::/62 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:58::/63 - sampling first 32 IPs
2025-07-25 17:16:27,027 - ip_reader - INFO - IPv6 network 2408:8744:d05:11::/64 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:8744:d05:12::/64 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:8748:a100:33::/64 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:8748:a100:34::/63 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:8748:a100:36::/64 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:8748:a102:3041::/64 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:8748:a102:3042::/63 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:8748:a102:3044::/62 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:8748:a102:3048::/63 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:8749:c110:800::/64 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:874c:1ff:80::/64 - sampling first 32 IPs
2025-07-25 17:16:27,028 - ip_reader - INFO - IPv6 network 2408:874c:1ff:82::/63 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:874c:1ff:84::/62 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:874c:1ff:88::/64 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:874d:a00:b::/64 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:874d:a00:c::/64 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:874f:3001:310::/64 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:8752:e00:80::/63 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:8752:e00:b0::/61 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:8752:e00:b8::/64 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e401::/64 - sampling first 32 IPs
2025-07-25 17:16:27,029 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e402::/63 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e404::/64 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d602::/63 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d604::/64 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d606::/63 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d608::/63 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8756:d0fb:16c::/64 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8756:d0fb:170::/64 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:875c:0:80::/63 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8760:119:4::/63 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8764:22:1f::/64 - sampling first 32 IPs
2025-07-25 17:16:27,030 - ip_reader - INFO - IPv6 network 2408:8766:0:101c::/64 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:876a:1000:22::/64 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:876a:1000:24::/64 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:876c:1780:122::/64 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:8770:0:d1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:8770:0:d2::/64 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:8770:0:d6::/63 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:8770:0:d8::/64 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:8776:1:c::/64 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:8779:c001:3::/64 - sampling first 32 IPs
2025-07-25 17:16:27,031 - ip_reader - INFO - IPv6 network 2408:877a:2000:f::/64 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8702:489c::/64 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:875e:5088:c1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8c04:110e:4001::/64 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8c0c:310:21d::/64 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8c0c:310:21e::/63 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8c0c:310:220::/64 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8c0c:310:222::/63 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8c10:c00:1404::/64 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8c10:c00:68::/64 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8c14:f2c:1001::/64 - sampling first 32 IPs
2025-07-25 17:16:27,032 - ip_reader - INFO - IPv6 network 2409:8c1c:300:17::/64 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c1e:68e0:a08::/64 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c1e:8f80:2::/64 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c20:1834:461::/64 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c20:1834:463::/64 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c20:1834:464::/63 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c20:1834:467::/64 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c20:1834:469::/64 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c20:5021:160::/64 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1dd::/64 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1de::/63 - sampling first 32 IPs
2025-07-25 17:16:27,033 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e2::/63 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e4::/64 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e6::/64 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e8::/64 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c20:b281:19::/64 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c28:203:308::/64 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c28:203:34::/64 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c28:2808:11::/64 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c28:2808:12::/63 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c28:2808:14::/63 - sampling first 32 IPs
2025-07-25 17:16:27,034 - ip_reader - INFO - IPv6 network 2409:8c28:2808:d::/64 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c28:2808:e::/63 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c30:1000:20::/64 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c34:2220:30a::/64 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c34:e00:41::/64 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c34:e00:42::/63 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c34:e00:44::/62 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c34:e00:48::/63 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c0::/64 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c2::/63 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c4::/62 - sampling first 32 IPs
2025-07-25 17:16:27,035 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c8::/64 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f2::/63 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f4::/64 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c3c:1300:306::/64 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a2::/63 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a4::/64 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c44:b00:4ec::/64 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2011::/64 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2012::/63 - sampling first 32 IPs
2025-07-25 17:16:27,036 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2014::/64 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2061::/64 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2170::/61 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2178::/64 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2252::/63 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2254::/64 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c54:1801:21::/64 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c54:1801:22::/63 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c54:1801:24::/64 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c54:1821:578::/64 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c54:2030:222::/63 - sampling first 32 IPs
2025-07-25 17:16:27,037 - ip_reader - INFO - IPv6 network 2409:8c54:2030:224::/64 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c54:2030:226::/63 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c54:2030:228::/63 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c5c:110:50::/64 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c5e:5000:c2::/64 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c60:2500:5d::/64 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c62:e10:218::/64 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c6a:b021:74::/64 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c6c:561:8110::/62 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c70:3a10:16::/64 - sampling first 32 IPs
2025-07-25 17:16:27,038 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:51::/64 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:52::/64 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:56::/63 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:58::/64 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 2409:8c74:f100:864::/64 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 2409:8c78:100:24::/64 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 2409:8c7a:2604::/64 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 240e:90d:1101:4508::/64 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 240e:90d:1101:4510::/64 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 240e:910:e000:2504::/64 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 240e:914:5009:1002::/63 - sampling first 32 IPs
2025-07-25 17:16:27,039 - ip_reader - INFO - IPv6 network 240e:914:5009:a::/63 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:925:2:701::/64 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:925:2:702::/63 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:925:2:704::/64 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:925:2:706::/63 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:926:3004:21::/64 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:930:c200:70::/63 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:935:a04:2708::/64 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:93c:1201:2::/63 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:93c:1201:4::/64 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:93c:1201:d::/64 - sampling first 32 IPs
2025-07-25 17:16:27,040 - ip_reader - INFO - IPv6 network 240e:940:20c:308::/64 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:946:3000:8008::/63 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:94a:b01:214::/63 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:94c:0:2701::/64 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:94c:0:2702::/63 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:94c:0:2704::/64 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:950:1:2002::/64 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:958:2300:220::/64 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:958:6003:108::/64 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:95e:4001:1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:95e:4001:2::/63 - sampling first 32 IPs
2025-07-25 17:16:27,041 - ip_reader - INFO - IPv6 network 240e:95e:4001:4::/64 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:960:200:90::/64 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:960:200:92::/63 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:960:200:94::/62 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:960:200:98::/64 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:964:5002:109::/64 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:964:5002:10a::/63 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:964:5002:10c::/64 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:965:802:b01::/64 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:965:802:b02::/63 - sampling first 32 IPs
2025-07-25 17:16:27,042 - ip_reader - INFO - IPv6 network 240e:965:802:b04::/62 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:965:802:b08::/63 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:96c:6400:a00::/64 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:974:e200:4209::/64 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:974:e200:420a::/63 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:974:e200:420c::/63 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:978:2608:800::/64 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:978:2903:50a7::/64 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:978:2903:50a9::/64 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:978:b34:1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:978:d04:2082::/63 - sampling first 32 IPs
2025-07-25 17:16:27,043 - ip_reader - INFO - IPv6 network 240e:978:d04:2085::/64 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:978:d04:2086::/63 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:978:d04:2088::/64 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:978:d04:208b::/64 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:978:d04:208c::/62 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:978:d04:2090::/63 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:979:f07:1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:979:f07:3::/64 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:979:f07:4::/63 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:979:f07:7::/64 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:979:f07:9::/64 - sampling first 32 IPs
2025-07-25 17:16:27,044 - ip_reader - INFO - IPv6 network 240e:97c:4040:200::/63 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:97d:10:25de::/64 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:97d:10:25e7::/64 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:97d:2000:b02::/63 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:97d:2000:b04::/64 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:97d:2000:b06::/63 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:97d:2000:b08::/63 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:980:1200:b14::/63 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:983:705:2::/64 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:b1:c808:9::/64 - sampling first 32 IPs
2025-07-25 17:16:27,045 - ip_reader - INFO - IPv6 network 240e:b1:c808:a::/64 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:b1:c808:c::/63 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:bf:b800:4131::/64 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:bf:b800:4132::/64 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:bf:b800:4136::/63 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:bf:b800:4138::/64 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:bf:c800:2915::/64 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:bf:c800:2916::/64 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:c2:1800:110::/61 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:c2:1800:118::/64 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:c2:1800:ab::/64 - sampling first 32 IPs
2025-07-25 17:16:27,046 - ip_reader - INFO - IPv6 network 240e:c2:1800:ac::/64 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:c3:2800:205::/64 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:cd:ff00:118::/64 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:e9:b00c:33::/64 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:e9:b00c:34::/63 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:e9:b00c:36::/64 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:f7:a070:342::/63 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:f7:a070:344::/62 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:f7:a070:348::/63 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:f7:a070:3c0::/64 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 240e:f7:ef00:10::/64 - sampling first 32 IPs
2025-07-25 17:16:27,047 - ip_reader - INFO - IPv6 network 2001:df1:7e00:4::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 2400:adc0:4041::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 2400:de40::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 2403:c280:5:1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 2404:3100:d:5::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 2404:a140:3a:1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 2404:a140:3e:6::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 2405:3200:101:63::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 2405:4800:a601::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 2407:2440:10:255::/64 - sampling first 32 IPs
2025-07-25 17:16:27,048 - ip_reader - INFO - IPv6 network 240d:c040:1::/64 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2602:fa80:10:2::/63 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2602:ffe4:c02:1001::/64 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2602:ffe4:c02:100c::/63 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2602:ffe4:c12:105::/64 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2602:ffe4:c15:124::/64 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2602:ffe4:c18:c201::/64 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2602:ffe4:c18:c202::/63 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2602:ffe4:c27:1000::/64 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2604:980:4002:2::/64 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2604:980:7002:6::/64 - sampling first 32 IPs
2025-07-25 17:16:27,049 - ip_reader - INFO - IPv6 network 2803:2540:f:14::/64 - sampling first 32 IPs
2025-07-25 17:16:27,050 - ip_reader - INFO - IPv6 network 2a00:12f8:3900:13::/64 - sampling first 32 IPs
2025-07-25 17:16:27,050 - ip_reader - INFO - IPv6 network 2a02:b60:2001::/64 - sampling first 32 IPs
2025-07-25 17:16:27,050 - ip_reader - INFO - IPv6 network 2a02:ce0:1:70::/64 - sampling first 32 IPs
2025-07-25 17:16:27,050 - ip_reader - INFO - IPv6 network 2a05:45c7:1:1018::/64 - sampling first 32 IPs
2025-07-25 17:16:27,050 - ip_reader - INFO - Loaded 286224 IPs for edgeone from ip_lists/edgeone.txt
2025-07-25 17:16:27,050 - ip_reader - INFO - Loaded 3 IPs for esa from ip_lists/esa.txt
2025-07-25 17:16:27,050 - ip_reader - INFO - Loaded 3 IPs for fastly from ip_lists/fastly.txt
2025-07-25 17:16:27,050 - ip_reader - INFO - Loaded 3 IPs for cloudflare from ip_lists/cloudflare.txt
2025-07-25 17:16:27,050 - ip_reader - INFO - Loaded total of 286233 IPs across 4 providers
2025-07-25 17:16:27,050 - bestcdn - INFO - Starting accessibility tests...
2025-07-25 17:16:27,054 - accessibility_tester - INFO - Starting high-performance IP accessibility testing
2025-07-25 17:16:27,113 - accessibility_tester - INFO - Testing 286233 IPs across 4 providers
2025-07-25 17:16:27,113 - accessibility_tester - INFO - Processing batch 1/287 (1000 IPs)
2025-07-25 17:16:32,120 - accessibility_tester - INFO - Batch 1 completed: 8/1000 accessible
2025-07-25 17:16:32,120 - accessibility_tester - INFO - Processing batch 2/287 (1000 IPs)

View File

@ -0,0 +1,365 @@
2025-07-26 12:41:07,439 - bestcdn - INFO - Logging initialized - Log file: logs/bestcdn_20250726_124107.log
2025-07-26 12:41:07,439 - bestcdn - INFO - Set test domain for cloudflare: test10000.fstring.me
2025-07-26 12:41:07,439 - bestcdn - INFO - Set test domain for fastly: test10000.ix.je
2025-07-26 12:41:07,440 - bestcdn - INFO - Set test domain for edgeone: test10000.ix.je
2025-07-26 12:41:07,440 - bestcdn - INFO - Set test domain for esa: test10000.ix.je
2025-07-26 12:41:07,440 - bestcdn - INFO - Validating setup...
2025-07-26 12:41:07,440 - bestcdn - INFO - Enabled providers: edgeone, esa, fastly, cloudflare
2025-07-26 12:41:07,442 - bestcdn - INFO - edgeone: 1774488 IPs available
2025-07-26 12:41:07,442 - bestcdn - INFO - esa: 3 IPs available
2025-07-26 12:41:07,442 - bestcdn - INFO - fastly: 3 IPs available
2025-07-26 12:41:07,442 - bestcdn - INFO - cloudflare: 3 IPs available
2025-07-26 12:41:07,442 - bestcdn - INFO - Setup validation completed successfully
2025-07-26 12:41:07,442 - bestcdn - INFO - ============================================================
2025-07-26 12:41:07,442 - bestcdn - INFO - STARTING BESTCDN IP ACCESSIBILITY TEST
2025-07-26 12:41:07,442 - bestcdn - INFO - ============================================================
2025-07-26 12:41:07,442 - bestcdn - INFO - Loading IP lists...
2025-07-26 12:41:07,535 - ip_reader - WARNING - Very large IPv4 network 43.174.0.0/15 with 131072 IPs - this may take time
2025-07-26 12:41:07,621 - ip_reader - INFO - IPv6 network 240d:c010::/28 - sampling first 32 IPs
2025-07-26 12:41:07,621 - ip_reader - INFO - IPv6 network 2402:4e00:24:10de::/64 - sampling first 32 IPs
2025-07-26 12:41:07,621 - ip_reader - INFO - IPv6 network 2402:4e00:24:10f0::/64 - sampling first 32 IPs
2025-07-26 12:41:07,621 - ip_reader - INFO - IPv6 network 2402:4e00:37:10dd::/64 - sampling first 32 IPs
2025-07-26 12:41:07,621 - ip_reader - INFO - IPv6 network 2402:4e00:37:10de::/63 - sampling first 32 IPs
2025-07-26 12:41:07,621 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e0::/63 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e2::/64 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e4::/62 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e8::/62 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10ec::/63 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10ef::/64 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f2::/64 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f4::/62 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10fc::/64 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:37:10fe::/64 - sampling first 32 IPs
2025-07-26 12:41:07,622 - ip_reader - INFO - IPv6 network 2402:4e00:43:ef::/64 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:43:f0::/64 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:43:fd::/64 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:a2:df::/64 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:a2:e4::/63 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:a2:e6::/64 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:a2:eb::/64 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ec::/64 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ef::/64 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,623 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f5::/64 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f8::/63 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ff::/64 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:c010:4::/64 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:c031:7fc::/63 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:c031:7fe::/64 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:c042:300::/63 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:c042:309::/64 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:c042:310::/64 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:c050:13::/64 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:c050:1a::/63 - sampling first 32 IPs
2025-07-26 12:41:07,624 - ip_reader - INFO - IPv6 network 2402:4e00:c050:1c::/63 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c050:2c::/63 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c050:4c::/64 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c050:8::/64 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c050::/64 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c050:b::/64 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c050:c::/63 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c050:e::/64 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10d1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10d6::/64 - sampling first 32 IPs
2025-07-26 12:41:07,625 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10ef::/64 - sampling first 32 IPs
2025-07-26 12:41:07,626 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,626 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f2::/63 - sampling first 32 IPs
2025-07-26 12:41:07,626 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f6::/63 - sampling first 32 IPs
2025-07-26 12:41:07,626 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10fa::/64 - sampling first 32 IPs
2025-07-26 12:41:07,626 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10fd::/64 - sampling first 32 IPs
2025-07-26 12:41:07,626 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10ff::/64 - sampling first 32 IPs
2025-07-26 12:41:07,626 - ip_reader - INFO - IPv6 network 2408:862a:240:2::/64 - sampling first 32 IPs
2025-07-26 12:41:07,626 - ip_reader - INFO - IPv6 network 2408:8670:3af0:32::/64 - sampling first 32 IPs
2025-07-26 12:41:07,627 - ip_reader - INFO - IPv6 network 2408:8706:0:400::/64 - sampling first 32 IPs
2025-07-26 12:41:07,627 - ip_reader - INFO - IPv6 network 2408:8706:2:300d::/64 - sampling first 32 IPs
2025-07-26 12:41:07,627 - ip_reader - INFO - IPv6 network 2408:8706:2:300e::/64 - sampling first 32 IPs
2025-07-26 12:41:07,627 - ip_reader - INFO - IPv6 network 2408:870c:1020:11::/64 - sampling first 32 IPs
2025-07-26 12:41:07,627 - ip_reader - INFO - IPv6 network 2408:8710:20:11a0::/63 - sampling first 32 IPs
2025-07-26 12:41:07,627 - ip_reader - INFO - IPv6 network 2408:8719:1100:91::/64 - sampling first 32 IPs
2025-07-26 12:41:07,627 - ip_reader - INFO - IPv6 network 2408:8719:1100:92::/63 - sampling first 32 IPs
2025-07-26 12:41:07,627 - ip_reader - INFO - IPv6 network 2408:8719:1100:94::/63 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:8719:1100:96::/64 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:8719:40e:39::/64 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:8719:40e:3a::/63 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:8719:40e:3c::/64 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:8719:40f:18::/64 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:871a:5100:140::/64 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:8720:806:300::/64 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:8726:1001:111::/64 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:8726:1001:112::/63 - sampling first 32 IPs
2025-07-26 12:41:07,628 - ip_reader - INFO - IPv6 network 2408:8726:1001:114::/64 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:8726:1001:116::/63 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:872f:20:210::/63 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:8734:4012:1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:8734:4012:2::/64 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:8734:4012:4::/64 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:8738:b000:1c::/64 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:873c:5011::/64 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:873c:5811:78::/64 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:873c:5811:a3::/64 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:873c:5811:ae::/64 - sampling first 32 IPs
2025-07-26 12:41:07,629 - ip_reader - INFO - IPv6 network 2408:873d:2011:41::/64 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:873d:2011:43::/64 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:873d:2011:44::/63 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:873d:2011:47::/64 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:873d:2011:49::/64 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:52::/63 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:54::/62 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:58::/63 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:8744:d05:11::/64 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:8744:d05:12::/64 - sampling first 32 IPs
2025-07-26 12:41:07,630 - ip_reader - INFO - IPv6 network 2408:8748:a100:33::/64 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:8748:a100:34::/63 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:8748:a100:36::/64 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:8748:a102:3041::/64 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:8748:a102:3042::/63 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:8748:a102:3044::/62 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:8748:a102:3048::/63 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:8749:c110:800::/64 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:874c:1ff:80::/64 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:874c:1ff:82::/63 - sampling first 32 IPs
2025-07-26 12:41:07,631 - ip_reader - INFO - IPv6 network 2408:874c:1ff:84::/62 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:874c:1ff:88::/64 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:874d:a00:b::/64 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:874d:a00:c::/64 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:874f:3001:310::/64 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:8752:e00:80::/63 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:8752:e00:b0::/61 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:8752:e00:b8::/64 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e401::/64 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e402::/63 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e404::/64 - sampling first 32 IPs
2025-07-26 12:41:07,632 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d602::/63 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d604::/64 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d606::/63 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d608::/63 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:8756:d0fb:16c::/64 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:8756:d0fb:170::/64 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:875c:0:80::/63 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:8760:119:4::/63 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:8764:22:1f::/64 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:8766:0:101c::/64 - sampling first 32 IPs
2025-07-26 12:41:07,633 - ip_reader - INFO - IPv6 network 2408:876a:1000:22::/64 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2408:876a:1000:24::/64 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2408:876c:1780:122::/64 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2408:8770:0:d1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2408:8770:0:d2::/64 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2408:8770:0:d6::/63 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2408:8770:0:d8::/64 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2408:8776:1:c::/64 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2408:8779:c001:3::/64 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2408:877a:2000:f::/64 - sampling first 32 IPs
2025-07-26 12:41:07,634 - ip_reader - INFO - IPv6 network 2409:8702:489c::/64 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:875e:5088:c1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:8c04:110e:4001::/64 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:8c0c:310:21d::/64 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:8c0c:310:21e::/63 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:8c0c:310:220::/64 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:8c0c:310:222::/63 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:8c10:c00:1404::/64 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:8c10:c00:68::/64 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:8c14:f2c:1001::/64 - sampling first 32 IPs
2025-07-26 12:41:07,635 - ip_reader - INFO - IPv6 network 2409:8c1c:300:17::/64 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c1e:68e0:a08::/64 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c1e:8f80:2::/64 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c20:1834:461::/64 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c20:1834:463::/64 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c20:1834:464::/63 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c20:1834:467::/64 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c20:1834:469::/64 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c20:5021:160::/64 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1dd::/64 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1de::/63 - sampling first 32 IPs
2025-07-26 12:41:07,636 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e2::/63 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e4::/64 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e6::/64 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e8::/64 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c20:b281:19::/64 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c28:203:308::/64 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c28:203:34::/64 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c28:2808:11::/64 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c28:2808:12::/63 - sampling first 32 IPs
2025-07-26 12:41:07,637 - ip_reader - INFO - IPv6 network 2409:8c28:2808:14::/63 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c28:2808:d::/64 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c28:2808:e::/63 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c30:1000:20::/64 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c34:2220:30a::/64 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c34:e00:41::/64 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c34:e00:42::/63 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c34:e00:44::/62 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c34:e00:48::/63 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c0::/64 - sampling first 32 IPs
2025-07-26 12:41:07,638 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c2::/63 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c4::/62 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c8::/64 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f2::/63 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f4::/64 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c3c:1300:306::/64 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a2::/63 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a4::/64 - sampling first 32 IPs
2025-07-26 12:41:07,639 - ip_reader - INFO - IPv6 network 2409:8c44:b00:4ec::/64 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2011::/64 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2012::/63 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2014::/64 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2061::/64 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2170::/61 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2178::/64 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2252::/63 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2254::/64 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c54:1801:21::/64 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c54:1801:22::/63 - sampling first 32 IPs
2025-07-26 12:41:07,640 - ip_reader - INFO - IPv6 network 2409:8c54:1801:24::/64 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c54:1821:578::/64 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c54:2030:222::/63 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c54:2030:224::/64 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c54:2030:226::/63 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c54:2030:228::/63 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c5c:110:50::/64 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c5e:5000:c2::/64 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c60:2500:5d::/64 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c62:e10:218::/64 - sampling first 32 IPs
2025-07-26 12:41:07,641 - ip_reader - INFO - IPv6 network 2409:8c6a:b021:74::/64 - sampling first 32 IPs
2025-07-26 12:41:07,642 - ip_reader - INFO - IPv6 network 2409:8c6c:561:8110::/62 - sampling first 32 IPs
2025-07-26 12:41:07,642 - ip_reader - INFO - IPv6 network 2409:8c70:3a10:16::/64 - sampling first 32 IPs
2025-07-26 12:41:07,642 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:51::/64 - sampling first 32 IPs
2025-07-26 12:41:07,642 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:52::/64 - sampling first 32 IPs
2025-07-26 12:41:07,642 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:56::/63 - sampling first 32 IPs
2025-07-26 12:41:07,642 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:58::/64 - sampling first 32 IPs
2025-07-26 12:41:07,642 - ip_reader - INFO - IPv6 network 2409:8c74:f100:864::/64 - sampling first 32 IPs
2025-07-26 12:41:07,642 - ip_reader - INFO - IPv6 network 2409:8c78:100:24::/64 - sampling first 32 IPs
2025-07-26 12:41:07,642 - ip_reader - INFO - IPv6 network 2409:8c7a:2604::/64 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:90d:1101:4508::/64 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:90d:1101:4510::/64 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:910:e000:2504::/64 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:914:5009:1002::/63 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:914:5009:a::/63 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:925:2:701::/64 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:925:2:702::/63 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:925:2:704::/64 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:925:2:706::/63 - sampling first 32 IPs
2025-07-26 12:41:07,643 - ip_reader - INFO - IPv6 network 240e:926:3004:21::/64 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:930:c200:70::/63 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:935:a04:2708::/64 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:93c:1201:2::/63 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:93c:1201:4::/64 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:93c:1201:d::/64 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:940:20c:308::/64 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:946:3000:8008::/63 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:94a:b01:214::/63 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:94c:0:2701::/64 - sampling first 32 IPs
2025-07-26 12:41:07,644 - ip_reader - INFO - IPv6 network 240e:94c:0:2702::/63 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:94c:0:2704::/64 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:950:1:2002::/64 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:958:2300:220::/64 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:958:6003:108::/64 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:95e:4001:1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:95e:4001:2::/63 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:95e:4001:4::/64 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:960:200:90::/64 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:960:200:92::/63 - sampling first 32 IPs
2025-07-26 12:41:07,645 - ip_reader - INFO - IPv6 network 240e:960:200:94::/62 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:960:200:98::/64 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:964:5002:109::/64 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:964:5002:10a::/63 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:964:5002:10c::/64 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:965:802:b01::/64 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:965:802:b02::/63 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:965:802:b04::/62 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:965:802:b08::/63 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:96c:6400:a00::/64 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:974:e200:4209::/64 - sampling first 32 IPs
2025-07-26 12:41:07,646 - ip_reader - INFO - IPv6 network 240e:974:e200:420a::/63 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:974:e200:420c::/63 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:978:2608:800::/64 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:978:2903:50a7::/64 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:978:2903:50a9::/64 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:978:b34:1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:978:d04:2082::/63 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:978:d04:2085::/64 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:978:d04:2086::/63 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:978:d04:2088::/64 - sampling first 32 IPs
2025-07-26 12:41:07,647 - ip_reader - INFO - IPv6 network 240e:978:d04:208b::/64 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:978:d04:208c::/62 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:978:d04:2090::/63 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:979:f07:1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:979:f07:3::/64 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:979:f07:4::/63 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:979:f07:7::/64 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:979:f07:9::/64 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:97c:4040:200::/63 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:97d:10:25de::/64 - sampling first 32 IPs
2025-07-26 12:41:07,648 - ip_reader - INFO - IPv6 network 240e:97d:10:25e7::/64 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:97d:2000:b02::/63 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:97d:2000:b04::/64 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:97d:2000:b06::/63 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:97d:2000:b08::/63 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:980:1200:b14::/63 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:983:705:2::/64 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:b1:c808:9::/64 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:b1:c808:a::/64 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:b1:c808:c::/63 - sampling first 32 IPs
2025-07-26 12:41:07,649 - ip_reader - INFO - IPv6 network 240e:bf:b800:4131::/64 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:bf:b800:4132::/64 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:bf:b800:4136::/63 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:bf:b800:4138::/64 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:bf:c800:2915::/64 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:bf:c800:2916::/64 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:c2:1800:110::/61 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:c2:1800:118::/64 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:c2:1800:ab::/64 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:c2:1800:ac::/64 - sampling first 32 IPs
2025-07-26 12:41:07,650 - ip_reader - INFO - IPv6 network 240e:c3:2800:205::/64 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 240e:cd:ff00:118::/64 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 240e:e9:b00c:33::/64 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 240e:e9:b00c:34::/63 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 240e:e9:b00c:36::/64 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 240e:f7:a070:342::/63 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 240e:f7:a070:344::/62 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 240e:f7:a070:348::/63 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 240e:f7:a070:3c0::/64 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 240e:f7:ef00:10::/64 - sampling first 32 IPs
2025-07-26 12:41:07,651 - ip_reader - INFO - IPv6 network 2001:df1:7e00:4::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 2400:adc0:4041::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 2400:de40::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 2403:c280:5:1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 2404:3100:d:5::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 2404:a140:3a:1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 2404:a140:3e:6::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 2405:3200:101:63::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 2405:4800:a601::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 2407:2440:10:255::/64 - sampling first 32 IPs
2025-07-26 12:41:07,652 - ip_reader - INFO - IPv6 network 240d:c040:1::/64 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2602:fa80:10:2::/63 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2602:ffe4:c02:1001::/64 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2602:ffe4:c02:100c::/63 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2602:ffe4:c12:105::/64 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2602:ffe4:c15:124::/64 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2602:ffe4:c18:c201::/64 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2602:ffe4:c18:c202::/63 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2602:ffe4:c27:1000::/64 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2604:980:4002:2::/64 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2604:980:7002:6::/64 - sampling first 32 IPs
2025-07-26 12:41:07,653 - ip_reader - INFO - IPv6 network 2803:2540:f:14::/64 - sampling first 32 IPs
2025-07-26 12:41:07,654 - ip_reader - INFO - IPv6 network 2a00:12f8:3900:13::/64 - sampling first 32 IPs
2025-07-26 12:41:07,654 - ip_reader - INFO - IPv6 network 2a02:b60:2001::/64 - sampling first 32 IPs
2025-07-26 12:41:07,654 - ip_reader - INFO - IPv6 network 2a02:ce0:1:70::/64 - sampling first 32 IPs
2025-07-26 12:41:07,654 - ip_reader - INFO - IPv6 network 2a05:45c7:1:1018::/64 - sampling first 32 IPs
2025-07-26 12:41:07,654 - ip_reader - INFO - Loaded 286224 IPs for edgeone from ip_lists/edgeone.txt
2025-07-26 12:41:07,654 - ip_reader - INFO - Loaded 3 IPs for esa from ip_lists/esa.txt
2025-07-26 12:41:07,654 - ip_reader - INFO - Loaded 3 IPs for fastly from ip_lists/fastly.txt
2025-07-26 12:41:07,654 - ip_reader - INFO - Loaded 3 IPs for cloudflare from ip_lists/cloudflare.txt
2025-07-26 12:41:07,654 - ip_reader - INFO - Loaded total of 286233 IPs across 4 providers
2025-07-26 12:41:07,654 - bestcdn - INFO - Starting accessibility tests...
2025-07-26 12:41:07,658 - accessibility_tester - INFO - Starting high-performance IP accessibility testing
2025-07-26 12:41:07,724 - accessibility_tester - INFO - Testing 286233 IPs across 4 providers
2025-07-26 12:41:07,724 - accessibility_tester - INFO - Processing batch 1/287 (1000 IPs)
2025-07-26 12:41:12,739 - accessibility_tester - INFO - Batch 1 completed: 0/1000 accessible
2025-07-26 12:41:12,739 - accessibility_tester - INFO - Processing batch 2/287 (1000 IPs)
2025-07-26 12:41:17,792 - accessibility_tester - INFO - Batch 2 completed: 0/1000 accessible
2025-07-26 12:41:17,792 - accessibility_tester - INFO - Processing batch 3/287 (1000 IPs)
2025-07-26 12:41:22,843 - accessibility_tester - INFO - Batch 3 completed: 0/1000 accessible
2025-07-26 12:41:22,843 - accessibility_tester - INFO - Processing batch 4/287 (1000 IPs)

View File

@ -0,0 +1,379 @@
2025-07-26 12:41:32,469 - bestcdn - INFO - Logging initialized - Log file: logs/bestcdn_20250726_124132.log
2025-07-26 12:41:32,469 - bestcdn - INFO - Set test domain for cloudflare: test10000.fstring.me
2025-07-26 12:41:32,469 - bestcdn - INFO - Set test domain for fastly: test10000.ix.je
2025-07-26 12:41:32,469 - bestcdn - INFO - Set test domain for edgeone: test10000.ix.je
2025-07-26 12:41:32,469 - bestcdn - INFO - Set test domain for esa: test10000.ix.je
2025-07-26 12:41:32,469 - bestcdn - INFO - Validating setup...
2025-07-26 12:41:32,470 - bestcdn - INFO - Enabled providers: edgeone, esa, fastly, cloudflare
2025-07-26 12:41:32,472 - bestcdn - INFO - edgeone: 1774488 IPs available
2025-07-26 12:41:32,472 - bestcdn - INFO - esa: 3 IPs available
2025-07-26 12:41:32,472 - bestcdn - INFO - fastly: 3 IPs available
2025-07-26 12:41:32,472 - bestcdn - INFO - cloudflare: 3 IPs available
2025-07-26 12:41:32,472 - bestcdn - INFO - Setup validation completed successfully
2025-07-26 12:41:32,472 - bestcdn - INFO - ============================================================
2025-07-26 12:41:32,472 - bestcdn - INFO - STARTING BESTCDN IP ACCESSIBILITY TEST
2025-07-26 12:41:32,472 - bestcdn - INFO - ============================================================
2025-07-26 12:41:32,472 - bestcdn - INFO - Loading IP lists...
2025-07-26 12:41:32,568 - ip_reader - WARNING - Very large IPv4 network 43.174.0.0/15 with 131072 IPs - this may take time
2025-07-26 12:41:32,660 - ip_reader - INFO - IPv6 network 240d:c010::/28 - sampling first 32 IPs
2025-07-26 12:41:32,660 - ip_reader - INFO - IPv6 network 2402:4e00:24:10de::/64 - sampling first 32 IPs
2025-07-26 12:41:32,660 - ip_reader - INFO - IPv6 network 2402:4e00:24:10f0::/64 - sampling first 32 IPs
2025-07-26 12:41:32,660 - ip_reader - INFO - IPv6 network 2402:4e00:37:10dd::/64 - sampling first 32 IPs
2025-07-26 12:41:32,660 - ip_reader - INFO - IPv6 network 2402:4e00:37:10de::/63 - sampling first 32 IPs
2025-07-26 12:41:32,660 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e0::/63 - sampling first 32 IPs
2025-07-26 12:41:32,660 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e2::/64 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e4::/62 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e8::/62 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:37:10ec::/63 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:37:10ef::/64 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f2::/64 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f4::/62 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:37:10fc::/64 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:37:10fe::/64 - sampling first 32 IPs
2025-07-26 12:41:32,661 - ip_reader - INFO - IPv6 network 2402:4e00:43:ef::/64 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:43:f0::/64 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:43:fd::/64 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:a2:df::/64 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:a2:e4::/63 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:a2:e6::/64 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:a2:eb::/64 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ec::/64 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ef::/64 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,662 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f5::/64 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f8::/63 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ff::/64 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:c010:4::/64 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:c031:7fc::/63 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:c031:7fe::/64 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:c042:300::/63 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:c042:309::/64 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:c042:310::/64 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:c050:13::/64 - sampling first 32 IPs
2025-07-26 12:41:32,663 - ip_reader - INFO - IPv6 network 2402:4e00:c050:1a::/63 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c050:1c::/63 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c050:2c::/63 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c050:4c::/64 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c050:8::/64 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c050::/64 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c050:b::/64 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c050:c::/63 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c050:e::/64 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10d1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10d6::/64 - sampling first 32 IPs
2025-07-26 12:41:32,664 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10ef::/64 - sampling first 32 IPs
2025-07-26 12:41:32,665 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,665 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f2::/63 - sampling first 32 IPs
2025-07-26 12:41:32,665 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f6::/63 - sampling first 32 IPs
2025-07-26 12:41:32,665 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10fa::/64 - sampling first 32 IPs
2025-07-26 12:41:32,665 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10fd::/64 - sampling first 32 IPs
2025-07-26 12:41:32,665 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10ff::/64 - sampling first 32 IPs
2025-07-26 12:41:32,665 - ip_reader - INFO - IPv6 network 2408:862a:240:2::/64 - sampling first 32 IPs
2025-07-26 12:41:32,666 - ip_reader - INFO - IPv6 network 2408:8670:3af0:32::/64 - sampling first 32 IPs
2025-07-26 12:41:32,666 - ip_reader - INFO - IPv6 network 2408:8706:0:400::/64 - sampling first 32 IPs
2025-07-26 12:41:32,666 - ip_reader - INFO - IPv6 network 2408:8706:2:300d::/64 - sampling first 32 IPs
2025-07-26 12:41:32,666 - ip_reader - INFO - IPv6 network 2408:8706:2:300e::/64 - sampling first 32 IPs
2025-07-26 12:41:32,666 - ip_reader - INFO - IPv6 network 2408:870c:1020:11::/64 - sampling first 32 IPs
2025-07-26 12:41:32,666 - ip_reader - INFO - IPv6 network 2408:8710:20:11a0::/63 - sampling first 32 IPs
2025-07-26 12:41:32,666 - ip_reader - INFO - IPv6 network 2408:8719:1100:91::/64 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:8719:1100:92::/63 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:8719:1100:94::/63 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:8719:1100:96::/64 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:8719:40e:39::/64 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:8719:40e:3a::/63 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:8719:40e:3c::/64 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:8719:40f:18::/64 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:871a:5100:140::/64 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:8720:806:300::/64 - sampling first 32 IPs
2025-07-26 12:41:32,667 - ip_reader - INFO - IPv6 network 2408:8726:1001:111::/64 - sampling first 32 IPs
2025-07-26 12:41:32,668 - ip_reader - INFO - IPv6 network 2408:8726:1001:112::/63 - sampling first 32 IPs
2025-07-26 12:41:32,668 - ip_reader - INFO - IPv6 network 2408:8726:1001:114::/64 - sampling first 32 IPs
2025-07-26 12:41:32,668 - ip_reader - INFO - IPv6 network 2408:8726:1001:116::/63 - sampling first 32 IPs
2025-07-26 12:41:32,668 - ip_reader - INFO - IPv6 network 2408:872f:20:210::/63 - sampling first 32 IPs
2025-07-26 12:41:32,668 - ip_reader - INFO - IPv6 network 2408:8734:4012:1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,668 - ip_reader - INFO - IPv6 network 2408:8734:4012:2::/64 - sampling first 32 IPs
2025-07-26 12:41:32,668 - ip_reader - INFO - IPv6 network 2408:8734:4012:4::/64 - sampling first 32 IPs
2025-07-26 12:41:32,668 - ip_reader - INFO - IPv6 network 2408:8738:b000:1c::/64 - sampling first 32 IPs
2025-07-26 12:41:32,669 - ip_reader - INFO - IPv6 network 2408:873c:5011::/64 - sampling first 32 IPs
2025-07-26 12:41:32,669 - ip_reader - INFO - IPv6 network 2408:873c:5811:78::/64 - sampling first 32 IPs
2025-07-26 12:41:32,669 - ip_reader - INFO - IPv6 network 2408:873c:5811:a3::/64 - sampling first 32 IPs
2025-07-26 12:41:32,669 - ip_reader - INFO - IPv6 network 2408:873c:5811:ae::/64 - sampling first 32 IPs
2025-07-26 12:41:32,669 - ip_reader - INFO - IPv6 network 2408:873d:2011:41::/64 - sampling first 32 IPs
2025-07-26 12:41:32,669 - ip_reader - INFO - IPv6 network 2408:873d:2011:43::/64 - sampling first 32 IPs
2025-07-26 12:41:32,670 - ip_reader - INFO - IPv6 network 2408:873d:2011:44::/63 - sampling first 32 IPs
2025-07-26 12:41:32,670 - ip_reader - INFO - IPv6 network 2408:873d:2011:47::/64 - sampling first 32 IPs
2025-07-26 12:41:32,670 - ip_reader - INFO - IPv6 network 2408:873d:2011:49::/64 - sampling first 32 IPs
2025-07-26 12:41:32,670 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:52::/63 - sampling first 32 IPs
2025-07-26 12:41:32,670 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:54::/62 - sampling first 32 IPs
2025-07-26 12:41:32,670 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:58::/63 - sampling first 32 IPs
2025-07-26 12:41:32,670 - ip_reader - INFO - IPv6 network 2408:8744:d05:11::/64 - sampling first 32 IPs
2025-07-26 12:41:32,670 - ip_reader - INFO - IPv6 network 2408:8744:d05:12::/64 - sampling first 32 IPs
2025-07-26 12:41:32,671 - ip_reader - INFO - IPv6 network 2408:8748:a100:33::/64 - sampling first 32 IPs
2025-07-26 12:41:32,671 - ip_reader - INFO - IPv6 network 2408:8748:a100:34::/63 - sampling first 32 IPs
2025-07-26 12:41:32,671 - ip_reader - INFO - IPv6 network 2408:8748:a100:36::/64 - sampling first 32 IPs
2025-07-26 12:41:32,671 - ip_reader - INFO - IPv6 network 2408:8748:a102:3041::/64 - sampling first 32 IPs
2025-07-26 12:41:32,671 - ip_reader - INFO - IPv6 network 2408:8748:a102:3042::/63 - sampling first 32 IPs
2025-07-26 12:41:32,671 - ip_reader - INFO - IPv6 network 2408:8748:a102:3044::/62 - sampling first 32 IPs
2025-07-26 12:41:32,671 - ip_reader - INFO - IPv6 network 2408:8748:a102:3048::/63 - sampling first 32 IPs
2025-07-26 12:41:32,672 - ip_reader - INFO - IPv6 network 2408:8749:c110:800::/64 - sampling first 32 IPs
2025-07-26 12:41:32,672 - ip_reader - INFO - IPv6 network 2408:874c:1ff:80::/64 - sampling first 32 IPs
2025-07-26 12:41:32,672 - ip_reader - INFO - IPv6 network 2408:874c:1ff:82::/63 - sampling first 32 IPs
2025-07-26 12:41:32,672 - ip_reader - INFO - IPv6 network 2408:874c:1ff:84::/62 - sampling first 32 IPs
2025-07-26 12:41:32,672 - ip_reader - INFO - IPv6 network 2408:874c:1ff:88::/64 - sampling first 32 IPs
2025-07-26 12:41:32,672 - ip_reader - INFO - IPv6 network 2408:874d:a00:b::/64 - sampling first 32 IPs
2025-07-26 12:41:32,672 - ip_reader - INFO - IPv6 network 2408:874d:a00:c::/64 - sampling first 32 IPs
2025-07-26 12:41:32,672 - ip_reader - INFO - IPv6 network 2408:874f:3001:310::/64 - sampling first 32 IPs
2025-07-26 12:41:32,673 - ip_reader - INFO - IPv6 network 2408:8752:e00:80::/63 - sampling first 32 IPs
2025-07-26 12:41:32,673 - ip_reader - INFO - IPv6 network 2408:8752:e00:b0::/61 - sampling first 32 IPs
2025-07-26 12:41:32,673 - ip_reader - INFO - IPv6 network 2408:8752:e00:b8::/64 - sampling first 32 IPs
2025-07-26 12:41:32,673 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e401::/64 - sampling first 32 IPs
2025-07-26 12:41:32,673 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e402::/63 - sampling first 32 IPs
2025-07-26 12:41:32,673 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e404::/64 - sampling first 32 IPs
2025-07-26 12:41:32,673 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d602::/63 - sampling first 32 IPs
2025-07-26 12:41:32,674 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d604::/64 - sampling first 32 IPs
2025-07-26 12:41:32,674 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d606::/63 - sampling first 32 IPs
2025-07-26 12:41:32,674 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d608::/63 - sampling first 32 IPs
2025-07-26 12:41:32,674 - ip_reader - INFO - IPv6 network 2408:8756:d0fb:16c::/64 - sampling first 32 IPs
2025-07-26 12:41:32,674 - ip_reader - INFO - IPv6 network 2408:8756:d0fb:170::/64 - sampling first 32 IPs
2025-07-26 12:41:32,674 - ip_reader - INFO - IPv6 network 2408:875c:0:80::/63 - sampling first 32 IPs
2025-07-26 12:41:32,674 - ip_reader - INFO - IPv6 network 2408:8760:119:4::/63 - sampling first 32 IPs
2025-07-26 12:41:32,674 - ip_reader - INFO - IPv6 network 2408:8764:22:1f::/64 - sampling first 32 IPs
2025-07-26 12:41:32,674 - ip_reader - INFO - IPv6 network 2408:8766:0:101c::/64 - sampling first 32 IPs
2025-07-26 12:41:32,675 - ip_reader - INFO - IPv6 network 2408:876a:1000:22::/64 - sampling first 32 IPs
2025-07-26 12:41:32,675 - ip_reader - INFO - IPv6 network 2408:876a:1000:24::/64 - sampling first 32 IPs
2025-07-26 12:41:32,675 - ip_reader - INFO - IPv6 network 2408:876c:1780:122::/64 - sampling first 32 IPs
2025-07-26 12:41:32,675 - ip_reader - INFO - IPv6 network 2408:8770:0:d1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,675 - ip_reader - INFO - IPv6 network 2408:8770:0:d2::/64 - sampling first 32 IPs
2025-07-26 12:41:32,675 - ip_reader - INFO - IPv6 network 2408:8770:0:d6::/63 - sampling first 32 IPs
2025-07-26 12:41:32,675 - ip_reader - INFO - IPv6 network 2408:8770:0:d8::/64 - sampling first 32 IPs
2025-07-26 12:41:32,675 - ip_reader - INFO - IPv6 network 2408:8776:1:c::/64 - sampling first 32 IPs
2025-07-26 12:41:32,676 - ip_reader - INFO - IPv6 network 2408:8779:c001:3::/64 - sampling first 32 IPs
2025-07-26 12:41:32,676 - ip_reader - INFO - IPv6 network 2408:877a:2000:f::/64 - sampling first 32 IPs
2025-07-26 12:41:32,676 - ip_reader - INFO - IPv6 network 2409:8702:489c::/64 - sampling first 32 IPs
2025-07-26 12:41:32,676 - ip_reader - INFO - IPv6 network 2409:875e:5088:c1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,676 - ip_reader - INFO - IPv6 network 2409:8c04:110e:4001::/64 - sampling first 32 IPs
2025-07-26 12:41:32,676 - ip_reader - INFO - IPv6 network 2409:8c0c:310:21d::/64 - sampling first 32 IPs
2025-07-26 12:41:32,676 - ip_reader - INFO - IPv6 network 2409:8c0c:310:21e::/63 - sampling first 32 IPs
2025-07-26 12:41:32,676 - ip_reader - INFO - IPv6 network 2409:8c0c:310:220::/64 - sampling first 32 IPs
2025-07-26 12:41:32,677 - ip_reader - INFO - IPv6 network 2409:8c0c:310:222::/63 - sampling first 32 IPs
2025-07-26 12:41:32,677 - ip_reader - INFO - IPv6 network 2409:8c10:c00:1404::/64 - sampling first 32 IPs
2025-07-26 12:41:32,677 - ip_reader - INFO - IPv6 network 2409:8c10:c00:68::/64 - sampling first 32 IPs
2025-07-26 12:41:32,678 - ip_reader - INFO - IPv6 network 2409:8c14:f2c:1001::/64 - sampling first 32 IPs
2025-07-26 12:41:32,678 - ip_reader - INFO - IPv6 network 2409:8c1c:300:17::/64 - sampling first 32 IPs
2025-07-26 12:41:32,678 - ip_reader - INFO - IPv6 network 2409:8c1e:68e0:a08::/64 - sampling first 32 IPs
2025-07-26 12:41:32,678 - ip_reader - INFO - IPv6 network 2409:8c1e:8f80:2::/64 - sampling first 32 IPs
2025-07-26 12:41:32,678 - ip_reader - INFO - IPv6 network 2409:8c20:1834:461::/64 - sampling first 32 IPs
2025-07-26 12:41:32,678 - ip_reader - INFO - IPv6 network 2409:8c20:1834:463::/64 - sampling first 32 IPs
2025-07-26 12:41:32,678 - ip_reader - INFO - IPv6 network 2409:8c20:1834:464::/63 - sampling first 32 IPs
2025-07-26 12:41:32,679 - ip_reader - INFO - IPv6 network 2409:8c20:1834:467::/64 - sampling first 32 IPs
2025-07-26 12:41:32,679 - ip_reader - INFO - IPv6 network 2409:8c20:1834:469::/64 - sampling first 32 IPs
2025-07-26 12:41:32,679 - ip_reader - INFO - IPv6 network 2409:8c20:5021:160::/64 - sampling first 32 IPs
2025-07-26 12:41:32,679 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1dd::/64 - sampling first 32 IPs
2025-07-26 12:41:32,679 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1de::/63 - sampling first 32 IPs
2025-07-26 12:41:32,679 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,679 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e2::/63 - sampling first 32 IPs
2025-07-26 12:41:32,679 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e4::/64 - sampling first 32 IPs
2025-07-26 12:41:32,679 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e6::/64 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e8::/64 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c20:b281:19::/64 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c28:203:308::/64 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c28:203:34::/64 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c28:2808:11::/64 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c28:2808:12::/63 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c28:2808:14::/63 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c28:2808:d::/64 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c28:2808:e::/63 - sampling first 32 IPs
2025-07-26 12:41:32,680 - ip_reader - INFO - IPv6 network 2409:8c30:1000:20::/64 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c34:2220:30a::/64 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c34:e00:41::/64 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c34:e00:42::/63 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c34:e00:44::/62 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c34:e00:48::/63 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c0::/64 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c2::/63 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c4::/62 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c8::/64 - sampling first 32 IPs
2025-07-26 12:41:32,681 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f2::/63 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f4::/64 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c3c:1300:306::/64 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a2::/63 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a4::/64 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c44:b00:4ec::/64 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2011::/64 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2012::/63 - sampling first 32 IPs
2025-07-26 12:41:32,682 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2014::/64 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2061::/64 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2170::/61 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2178::/64 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2252::/63 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2254::/64 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c54:1801:21::/64 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c54:1801:22::/63 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c54:1801:24::/64 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c54:1821:578::/64 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c54:2030:222::/63 - sampling first 32 IPs
2025-07-26 12:41:32,683 - ip_reader - INFO - IPv6 network 2409:8c54:2030:224::/64 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c54:2030:226::/63 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c54:2030:228::/63 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c5c:110:50::/64 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c5e:5000:c2::/64 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c60:2500:5d::/64 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c62:e10:218::/64 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c6a:b021:74::/64 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c6c:561:8110::/62 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c70:3a10:16::/64 - sampling first 32 IPs
2025-07-26 12:41:32,684 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:51::/64 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:52::/64 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:56::/63 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:58::/64 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 2409:8c74:f100:864::/64 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 2409:8c78:100:24::/64 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 2409:8c7a:2604::/64 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 240e:90d:1101:4508::/64 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 240e:90d:1101:4510::/64 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 240e:910:e000:2504::/64 - sampling first 32 IPs
2025-07-26 12:41:32,685 - ip_reader - INFO - IPv6 network 240e:914:5009:1002::/63 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:914:5009:a::/63 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:925:2:701::/64 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:925:2:702::/63 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:925:2:704::/64 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:925:2:706::/63 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:926:3004:21::/64 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:930:c200:70::/63 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:935:a04:2708::/64 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:93c:1201:2::/63 - sampling first 32 IPs
2025-07-26 12:41:32,686 - ip_reader - INFO - IPv6 network 240e:93c:1201:4::/64 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:93c:1201:d::/64 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:940:20c:308::/64 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:946:3000:8008::/63 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:94a:b01:214::/63 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:94c:0:2701::/64 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:94c:0:2702::/63 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:94c:0:2704::/64 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:950:1:2002::/64 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:958:2300:220::/64 - sampling first 32 IPs
2025-07-26 12:41:32,687 - ip_reader - INFO - IPv6 network 240e:958:6003:108::/64 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:95e:4001:1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:95e:4001:2::/63 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:95e:4001:4::/64 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:960:200:90::/64 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:960:200:92::/63 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:960:200:94::/62 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:960:200:98::/64 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:964:5002:109::/64 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:964:5002:10a::/63 - sampling first 32 IPs
2025-07-26 12:41:32,688 - ip_reader - INFO - IPv6 network 240e:964:5002:10c::/64 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:965:802:b01::/64 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:965:802:b02::/63 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:965:802:b04::/62 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:965:802:b08::/63 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:96c:6400:a00::/64 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:974:e200:4209::/64 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:974:e200:420a::/63 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:974:e200:420c::/63 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:978:2608:800::/64 - sampling first 32 IPs
2025-07-26 12:41:32,689 - ip_reader - INFO - IPv6 network 240e:978:2903:50a7::/64 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:978:2903:50a9::/64 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:978:b34:1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:978:d04:2082::/63 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:978:d04:2085::/64 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:978:d04:2086::/63 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:978:d04:2088::/64 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:978:d04:208b::/64 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:978:d04:208c::/62 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:978:d04:2090::/63 - sampling first 32 IPs
2025-07-26 12:41:32,690 - ip_reader - INFO - IPv6 network 240e:979:f07:1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,691 - ip_reader - INFO - IPv6 network 240e:979:f07:3::/64 - sampling first 32 IPs
2025-07-26 12:41:32,691 - ip_reader - INFO - IPv6 network 240e:979:f07:4::/63 - sampling first 32 IPs
2025-07-26 12:41:32,691 - ip_reader - INFO - IPv6 network 240e:979:f07:7::/64 - sampling first 32 IPs
2025-07-26 12:41:32,691 - ip_reader - INFO - IPv6 network 240e:979:f07:9::/64 - sampling first 32 IPs
2025-07-26 12:41:32,691 - ip_reader - INFO - IPv6 network 240e:97c:4040:200::/63 - sampling first 32 IPs
2025-07-26 12:41:32,691 - ip_reader - INFO - IPv6 network 240e:97d:10:25de::/64 - sampling first 32 IPs
2025-07-26 12:41:32,691 - ip_reader - INFO - IPv6 network 240e:97d:10:25e7::/64 - sampling first 32 IPs
2025-07-26 12:41:32,691 - ip_reader - INFO - IPv6 network 240e:97d:2000:b02::/63 - sampling first 32 IPs
2025-07-26 12:41:32,692 - ip_reader - INFO - IPv6 network 240e:97d:2000:b04::/64 - sampling first 32 IPs
2025-07-26 12:41:32,692 - ip_reader - INFO - IPv6 network 240e:97d:2000:b06::/63 - sampling first 32 IPs
2025-07-26 12:41:32,692 - ip_reader - INFO - IPv6 network 240e:97d:2000:b08::/63 - sampling first 32 IPs
2025-07-26 12:41:32,692 - ip_reader - INFO - IPv6 network 240e:980:1200:b14::/63 - sampling first 32 IPs
2025-07-26 12:41:32,692 - ip_reader - INFO - IPv6 network 240e:983:705:2::/64 - sampling first 32 IPs
2025-07-26 12:41:32,692 - ip_reader - INFO - IPv6 network 240e:b1:c808:9::/64 - sampling first 32 IPs
2025-07-26 12:41:32,692 - ip_reader - INFO - IPv6 network 240e:b1:c808:a::/64 - sampling first 32 IPs
2025-07-26 12:41:32,693 - ip_reader - INFO - IPv6 network 240e:b1:c808:c::/63 - sampling first 32 IPs
2025-07-26 12:41:32,693 - ip_reader - INFO - IPv6 network 240e:bf:b800:4131::/64 - sampling first 32 IPs
2025-07-26 12:41:32,693 - ip_reader - INFO - IPv6 network 240e:bf:b800:4132::/64 - sampling first 32 IPs
2025-07-26 12:41:32,693 - ip_reader - INFO - IPv6 network 240e:bf:b800:4136::/63 - sampling first 32 IPs
2025-07-26 12:41:32,693 - ip_reader - INFO - IPv6 network 240e:bf:b800:4138::/64 - sampling first 32 IPs
2025-07-26 12:41:32,693 - ip_reader - INFO - IPv6 network 240e:bf:c800:2915::/64 - sampling first 32 IPs
2025-07-26 12:41:32,694 - ip_reader - INFO - IPv6 network 240e:bf:c800:2916::/64 - sampling first 32 IPs
2025-07-26 12:41:32,694 - ip_reader - INFO - IPv6 network 240e:c2:1800:110::/61 - sampling first 32 IPs
2025-07-26 12:41:32,694 - ip_reader - INFO - IPv6 network 240e:c2:1800:118::/64 - sampling first 32 IPs
2025-07-26 12:41:32,694 - ip_reader - INFO - IPv6 network 240e:c2:1800:ab::/64 - sampling first 32 IPs
2025-07-26 12:41:32,694 - ip_reader - INFO - IPv6 network 240e:c2:1800:ac::/64 - sampling first 32 IPs
2025-07-26 12:41:32,694 - ip_reader - INFO - IPv6 network 240e:c3:2800:205::/64 - sampling first 32 IPs
2025-07-26 12:41:32,694 - ip_reader - INFO - IPv6 network 240e:cd:ff00:118::/64 - sampling first 32 IPs
2025-07-26 12:41:32,695 - ip_reader - INFO - IPv6 network 240e:e9:b00c:33::/64 - sampling first 32 IPs
2025-07-26 12:41:32,695 - ip_reader - INFO - IPv6 network 240e:e9:b00c:34::/63 - sampling first 32 IPs
2025-07-26 12:41:32,695 - ip_reader - INFO - IPv6 network 240e:e9:b00c:36::/64 - sampling first 32 IPs
2025-07-26 12:41:32,695 - ip_reader - INFO - IPv6 network 240e:f7:a070:342::/63 - sampling first 32 IPs
2025-07-26 12:41:32,695 - ip_reader - INFO - IPv6 network 240e:f7:a070:344::/62 - sampling first 32 IPs
2025-07-26 12:41:32,695 - ip_reader - INFO - IPv6 network 240e:f7:a070:348::/63 - sampling first 32 IPs
2025-07-26 12:41:32,695 - ip_reader - INFO - IPv6 network 240e:f7:a070:3c0::/64 - sampling first 32 IPs
2025-07-26 12:41:32,696 - ip_reader - INFO - IPv6 network 240e:f7:ef00:10::/64 - sampling first 32 IPs
2025-07-26 12:41:32,696 - ip_reader - INFO - IPv6 network 2001:df1:7e00:4::/64 - sampling first 32 IPs
2025-07-26 12:41:32,696 - ip_reader - INFO - IPv6 network 2400:adc0:4041::/64 - sampling first 32 IPs
2025-07-26 12:41:32,696 - ip_reader - INFO - IPv6 network 2400:de40::/64 - sampling first 32 IPs
2025-07-26 12:41:32,696 - ip_reader - INFO - IPv6 network 2403:c280:5:1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,696 - ip_reader - INFO - IPv6 network 2404:3100:d:5::/64 - sampling first 32 IPs
2025-07-26 12:41:32,696 - ip_reader - INFO - IPv6 network 2404:a140:3a:1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,697 - ip_reader - INFO - IPv6 network 2404:a140:3e:6::/64 - sampling first 32 IPs
2025-07-26 12:41:32,697 - ip_reader - INFO - IPv6 network 2405:3200:101:63::/64 - sampling first 32 IPs
2025-07-26 12:41:32,697 - ip_reader - INFO - IPv6 network 2405:4800:a601::/64 - sampling first 32 IPs
2025-07-26 12:41:32,697 - ip_reader - INFO - IPv6 network 2407:2440:10:255::/64 - sampling first 32 IPs
2025-07-26 12:41:32,697 - ip_reader - INFO - IPv6 network 240d:c040:1::/64 - sampling first 32 IPs
2025-07-26 12:41:32,697 - ip_reader - INFO - IPv6 network 2602:fa80:10:2::/63 - sampling first 32 IPs
2025-07-26 12:41:32,698 - ip_reader - INFO - IPv6 network 2602:ffe4:c02:1001::/64 - sampling first 32 IPs
2025-07-26 12:41:32,698 - ip_reader - INFO - IPv6 network 2602:ffe4:c02:100c::/63 - sampling first 32 IPs
2025-07-26 12:41:32,698 - ip_reader - INFO - IPv6 network 2602:ffe4:c12:105::/64 - sampling first 32 IPs
2025-07-26 12:41:32,698 - ip_reader - INFO - IPv6 network 2602:ffe4:c15:124::/64 - sampling first 32 IPs
2025-07-26 12:41:32,698 - ip_reader - INFO - IPv6 network 2602:ffe4:c18:c201::/64 - sampling first 32 IPs
2025-07-26 12:41:32,698 - ip_reader - INFO - IPv6 network 2602:ffe4:c18:c202::/63 - sampling first 32 IPs
2025-07-26 12:41:32,698 - ip_reader - INFO - IPv6 network 2602:ffe4:c27:1000::/64 - sampling first 32 IPs
2025-07-26 12:41:32,699 - ip_reader - INFO - IPv6 network 2604:980:4002:2::/64 - sampling first 32 IPs
2025-07-26 12:41:32,699 - ip_reader - INFO - IPv6 network 2604:980:7002:6::/64 - sampling first 32 IPs
2025-07-26 12:41:32,699 - ip_reader - INFO - IPv6 network 2803:2540:f:14::/64 - sampling first 32 IPs
2025-07-26 12:41:32,699 - ip_reader - INFO - IPv6 network 2a00:12f8:3900:13::/64 - sampling first 32 IPs
2025-07-26 12:41:32,699 - ip_reader - INFO - IPv6 network 2a02:b60:2001::/64 - sampling first 32 IPs
2025-07-26 12:41:32,699 - ip_reader - INFO - IPv6 network 2a02:ce0:1:70::/64 - sampling first 32 IPs
2025-07-26 12:41:32,700 - ip_reader - INFO - IPv6 network 2a05:45c7:1:1018::/64 - sampling first 32 IPs
2025-07-26 12:41:32,700 - ip_reader - INFO - Loaded 286224 IPs for edgeone from ip_lists/edgeone.txt
2025-07-26 12:41:32,700 - ip_reader - INFO - Loaded 3 IPs for esa from ip_lists/esa.txt
2025-07-26 12:41:32,700 - ip_reader - INFO - Loaded 3 IPs for fastly from ip_lists/fastly.txt
2025-07-26 12:41:32,700 - ip_reader - INFO - Loaded 3 IPs for cloudflare from ip_lists/cloudflare.txt
2025-07-26 12:41:32,700 - ip_reader - INFO - Loaded total of 286233 IPs across 4 providers
2025-07-26 12:41:32,700 - bestcdn - INFO - Starting accessibility tests...
2025-07-26 12:41:32,705 - accessibility_tester - INFO - Starting high-performance IP accessibility testing
2025-07-26 12:41:32,771 - accessibility_tester - INFO - Testing 286233 IPs across 4 providers
2025-07-26 12:41:32,771 - accessibility_tester - INFO - Processing batch 1/287 (1000 IPs)
2025-07-26 12:41:37,831 - accessibility_tester - INFO - Batch 1 completed: 0/1000 accessible
2025-07-26 12:41:37,831 - accessibility_tester - INFO - Processing batch 2/287 (1000 IPs)
2025-07-26 12:41:42,877 - accessibility_tester - INFO - Batch 2 completed: 0/1000 accessible
2025-07-26 12:41:42,877 - accessibility_tester - INFO - Processing batch 3/287 (1000 IPs)
2025-07-26 12:41:47,938 - accessibility_tester - INFO - Batch 3 completed: 0/1000 accessible
2025-07-26 12:41:47,938 - accessibility_tester - INFO - Processing batch 4/287 (1000 IPs)
2025-07-26 12:41:52,990 - accessibility_tester - INFO - Batch 4 completed: 0/1000 accessible
2025-07-26 12:41:52,990 - accessibility_tester - INFO - Processing batch 5/287 (1000 IPs)
2025-07-26 12:41:58,048 - accessibility_tester - INFO - Batch 5 completed: 0/1000 accessible
2025-07-26 12:41:58,048 - accessibility_tester - INFO - Processing batch 6/287 (1000 IPs)
2025-07-26 12:42:03,096 - accessibility_tester - INFO - Batch 6 completed: 0/1000 accessible
2025-07-26 12:42:03,096 - accessibility_tester - INFO - Processing batch 7/287 (1000 IPs)
2025-07-26 12:42:08,155 - accessibility_tester - INFO - Batch 7 completed: 0/1000 accessible
2025-07-26 12:42:08,155 - accessibility_tester - INFO - Processing batch 8/287 (1000 IPs)
2025-07-26 12:42:13,180 - accessibility_tester - INFO - Batch 8 completed: 0/1000 accessible
2025-07-26 12:42:13,180 - accessibility_tester - INFO - Processing batch 9/287 (1000 IPs)
2025-07-26 12:42:18,237 - accessibility_tester - INFO - Batch 9 completed: 0/1000 accessible
2025-07-26 12:42:18,237 - accessibility_tester - INFO - Processing batch 10/287 (1000 IPs)
2025-07-26 12:42:23,289 - accessibility_tester - INFO - Batch 10 completed: 0/1000 accessible
2025-07-26 12:42:23,289 - accessibility_tester - INFO - Processing batch 11/287 (1000 IPs)

View File

@ -0,0 +1,377 @@
2025-07-26 12:43:31,150 - bestcdn - INFO - Logging initialized - Log file: logs/bestcdn_20250726_124331.log
2025-07-26 12:43:31,150 - bestcdn - INFO - Set test domain for cloudflare: test10000.fstring.me
2025-07-26 12:43:31,150 - bestcdn - INFO - Set test domain for fastly: test10000.ix.je
2025-07-26 12:43:31,150 - bestcdn - INFO - Set test domain for edgeone: test10000.ix.je
2025-07-26 12:43:31,150 - bestcdn - INFO - Set test domain for esa: test10000.ix.je
2025-07-26 12:43:31,150 - bestcdn - INFO - Validating setup...
2025-07-26 12:43:31,150 - bestcdn - INFO - Enabled providers: edgeone, esa, fastly, cloudflare
2025-07-26 12:43:31,153 - bestcdn - INFO - edgeone: 1774488 IPs available
2025-07-26 12:43:31,153 - bestcdn - INFO - esa: 3 IPs available
2025-07-26 12:43:31,153 - bestcdn - INFO - fastly: 3 IPs available
2025-07-26 12:43:31,153 - bestcdn - INFO - cloudflare: 3 IPs available
2025-07-26 12:43:31,153 - bestcdn - INFO - Setup validation completed successfully
2025-07-26 12:43:31,153 - bestcdn - INFO - ============================================================
2025-07-26 12:43:31,153 - bestcdn - INFO - STARTING BESTCDN IP ACCESSIBILITY TEST
2025-07-26 12:43:31,153 - bestcdn - INFO - ============================================================
2025-07-26 12:43:31,153 - bestcdn - INFO - Loading IP lists...
2025-07-26 12:43:31,243 - ip_reader - WARNING - Very large IPv4 network 43.174.0.0/15 with 131072 IPs - this may take time
2025-07-26 12:43:31,328 - ip_reader - INFO - IPv6 network 240d:c010::/28 - sampling first 32 IPs
2025-07-26 12:43:31,328 - ip_reader - INFO - IPv6 network 2402:4e00:24:10de::/64 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:24:10f0::/64 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:37:10dd::/64 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:37:10de::/63 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e0::/63 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e2::/64 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e4::/62 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:37:10e8::/62 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:37:10ec::/63 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:37:10ef::/64 - sampling first 32 IPs
2025-07-26 12:43:31,329 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f2::/64 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:37:10f4::/62 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:37:10fc::/64 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:37:10fe::/64 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:43:ef::/64 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:43:f0::/64 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:43:fd::/64 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:a2:df::/64 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:a2:e4::/63 - sampling first 32 IPs
2025-07-26 12:43:31,330 - ip_reader - INFO - IPv6 network 2402:4e00:a2:e6::/64 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:a2:eb::/64 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ec::/64 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ef::/64 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f5::/64 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:a2:f8::/63 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:a2:ff::/64 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:c010:4::/64 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:c031:7fc::/63 - sampling first 32 IPs
2025-07-26 12:43:31,331 - ip_reader - INFO - IPv6 network 2402:4e00:c031:7fe::/64 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c042:300::/63 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c042:309::/64 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c042:310::/64 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c050:13::/64 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c050:1a::/63 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c050:1c::/63 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c050:2c::/63 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c050:4c::/64 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c050:8::/64 - sampling first 32 IPs
2025-07-26 12:43:31,332 - ip_reader - INFO - IPv6 network 2402:4e00:c050::/64 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c050:b::/64 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c050:c::/63 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c050:e::/64 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10d1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10d6::/64 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10ef::/64 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f2::/63 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10f6::/63 - sampling first 32 IPs
2025-07-26 12:43:31,333 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10fa::/64 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10fd::/64 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2402:4e00:c2:10ff::/64 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2408:862a:240:2::/64 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2408:8670:3af0:32::/64 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2408:8706:0:400::/64 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2408:8706:2:300d::/64 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2408:8706:2:300e::/64 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2408:870c:1020:11::/64 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2408:8710:20:11a0::/63 - sampling first 32 IPs
2025-07-26 12:43:31,334 - ip_reader - INFO - IPv6 network 2408:8719:1100:91::/64 - sampling first 32 IPs
2025-07-26 12:43:31,335 - ip_reader - INFO - IPv6 network 2408:8719:1100:92::/63 - sampling first 32 IPs
2025-07-26 12:43:31,335 - ip_reader - INFO - IPv6 network 2408:8719:1100:94::/63 - sampling first 32 IPs
2025-07-26 12:43:31,335 - ip_reader - INFO - IPv6 network 2408:8719:1100:96::/64 - sampling first 32 IPs
2025-07-26 12:43:31,335 - ip_reader - INFO - IPv6 network 2408:8719:40e:39::/64 - sampling first 32 IPs
2025-07-26 12:43:31,335 - ip_reader - INFO - IPv6 network 2408:8719:40e:3a::/63 - sampling first 32 IPs
2025-07-26 12:43:31,335 - ip_reader - INFO - IPv6 network 2408:8719:40e:3c::/64 - sampling first 32 IPs
2025-07-26 12:43:31,335 - ip_reader - INFO - IPv6 network 2408:8719:40f:18::/64 - sampling first 32 IPs
2025-07-26 12:43:31,335 - ip_reader - INFO - IPv6 network 2408:871a:5100:140::/64 - sampling first 32 IPs
2025-07-26 12:43:31,335 - ip_reader - INFO - IPv6 network 2408:8720:806:300::/64 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:8726:1001:111::/64 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:8726:1001:112::/63 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:8726:1001:114::/64 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:8726:1001:116::/63 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:872f:20:210::/63 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:8734:4012:1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:8734:4012:2::/64 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:8734:4012:4::/64 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:8738:b000:1c::/64 - sampling first 32 IPs
2025-07-26 12:43:31,336 - ip_reader - INFO - IPv6 network 2408:873c:5011::/64 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:873c:5811:78::/64 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:873c:5811:a3::/64 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:873c:5811:ae::/64 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:873d:2011:41::/64 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:873d:2011:43::/64 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:873d:2011:44::/63 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:873d:2011:47::/64 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:873d:2011:49::/64 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:52::/63 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:54::/62 - sampling first 32 IPs
2025-07-26 12:43:31,337 - ip_reader - INFO - IPv6 network 2408:8740:d1fe:58::/63 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8744:d05:11::/64 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8744:d05:12::/64 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8748:a100:33::/64 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8748:a100:34::/63 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8748:a100:36::/64 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8748:a102:3041::/64 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8748:a102:3042::/63 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8748:a102:3044::/62 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8748:a102:3048::/63 - sampling first 32 IPs
2025-07-26 12:43:31,338 - ip_reader - INFO - IPv6 network 2408:8749:c110:800::/64 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:874c:1ff:80::/64 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:874c:1ff:82::/63 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:874c:1ff:84::/62 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:874c:1ff:88::/64 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:874d:a00:b::/64 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:874d:a00:c::/64 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:874f:3001:310::/64 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:8752:e00:80::/63 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:8752:e00:b0::/61 - sampling first 32 IPs
2025-07-26 12:43:31,339 - ip_reader - INFO - IPv6 network 2408:8752:e00:b8::/64 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e401::/64 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e402::/63 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:8756:2cff:e404::/64 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d602::/63 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d604::/64 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d606::/63 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:8756:4cff:d608::/63 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:8756:d0fb:16c::/64 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:8756:d0fb:170::/64 - sampling first 32 IPs
2025-07-26 12:43:31,340 - ip_reader - INFO - IPv6 network 2408:875c:0:80::/63 - sampling first 32 IPs
2025-07-26 12:43:31,341 - ip_reader - INFO - IPv6 network 2408:8760:119:4::/63 - sampling first 32 IPs
2025-07-26 12:43:31,341 - ip_reader - INFO - IPv6 network 2408:8764:22:1f::/64 - sampling first 32 IPs
2025-07-26 12:43:31,341 - ip_reader - INFO - IPv6 network 2408:8766:0:101c::/64 - sampling first 32 IPs
2025-07-26 12:43:31,341 - ip_reader - INFO - IPv6 network 2408:876a:1000:22::/64 - sampling first 32 IPs
2025-07-26 12:43:31,341 - ip_reader - INFO - IPv6 network 2408:876a:1000:24::/64 - sampling first 32 IPs
2025-07-26 12:43:31,341 - ip_reader - INFO - IPv6 network 2408:876c:1780:122::/64 - sampling first 32 IPs
2025-07-26 12:43:31,341 - ip_reader - INFO - IPv6 network 2408:8770:0:d1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,341 - ip_reader - INFO - IPv6 network 2408:8770:0:d2::/64 - sampling first 32 IPs
2025-07-26 12:43:31,342 - ip_reader - INFO - IPv6 network 2408:8770:0:d6::/63 - sampling first 32 IPs
2025-07-26 12:43:31,342 - ip_reader - INFO - IPv6 network 2408:8770:0:d8::/64 - sampling first 32 IPs
2025-07-26 12:43:31,342 - ip_reader - INFO - IPv6 network 2408:8776:1:c::/64 - sampling first 32 IPs
2025-07-26 12:43:31,342 - ip_reader - INFO - IPv6 network 2408:8779:c001:3::/64 - sampling first 32 IPs
2025-07-26 12:43:31,342 - ip_reader - INFO - IPv6 network 2408:877a:2000:f::/64 - sampling first 32 IPs
2025-07-26 12:43:31,342 - ip_reader - INFO - IPv6 network 2409:8702:489c::/64 - sampling first 32 IPs
2025-07-26 12:43:31,342 - ip_reader - INFO - IPv6 network 2409:875e:5088:c1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,342 - ip_reader - INFO - IPv6 network 2409:8c04:110e:4001::/64 - sampling first 32 IPs
2025-07-26 12:43:31,342 - ip_reader - INFO - IPv6 network 2409:8c0c:310:21d::/64 - sampling first 32 IPs
2025-07-26 12:43:31,343 - ip_reader - INFO - IPv6 network 2409:8c0c:310:21e::/63 - sampling first 32 IPs
2025-07-26 12:43:31,343 - ip_reader - INFO - IPv6 network 2409:8c0c:310:220::/64 - sampling first 32 IPs
2025-07-26 12:43:31,343 - ip_reader - INFO - IPv6 network 2409:8c0c:310:222::/63 - sampling first 32 IPs
2025-07-26 12:43:31,343 - ip_reader - INFO - IPv6 network 2409:8c10:c00:1404::/64 - sampling first 32 IPs
2025-07-26 12:43:31,343 - ip_reader - INFO - IPv6 network 2409:8c10:c00:68::/64 - sampling first 32 IPs
2025-07-26 12:43:31,343 - ip_reader - INFO - IPv6 network 2409:8c14:f2c:1001::/64 - sampling first 32 IPs
2025-07-26 12:43:31,343 - ip_reader - INFO - IPv6 network 2409:8c1c:300:17::/64 - sampling first 32 IPs
2025-07-26 12:43:31,343 - ip_reader - INFO - IPv6 network 2409:8c1e:68e0:a08::/64 - sampling first 32 IPs
2025-07-26 12:43:31,343 - ip_reader - INFO - IPv6 network 2409:8c1e:8f80:2::/64 - sampling first 32 IPs
2025-07-26 12:43:31,344 - ip_reader - INFO - IPv6 network 2409:8c20:1834:461::/64 - sampling first 32 IPs
2025-07-26 12:43:31,344 - ip_reader - INFO - IPv6 network 2409:8c20:1834:463::/64 - sampling first 32 IPs
2025-07-26 12:43:31,344 - ip_reader - INFO - IPv6 network 2409:8c20:1834:464::/63 - sampling first 32 IPs
2025-07-26 12:43:31,344 - ip_reader - INFO - IPv6 network 2409:8c20:1834:467::/64 - sampling first 32 IPs
2025-07-26 12:43:31,344 - ip_reader - INFO - IPv6 network 2409:8c20:1834:469::/64 - sampling first 32 IPs
2025-07-26 12:43:31,344 - ip_reader - INFO - IPv6 network 2409:8c20:5021:160::/64 - sampling first 32 IPs
2025-07-26 12:43:31,344 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1dd::/64 - sampling first 32 IPs
2025-07-26 12:43:31,344 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1de::/63 - sampling first 32 IPs
2025-07-26 12:43:31,344 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,345 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e2::/63 - sampling first 32 IPs
2025-07-26 12:43:31,345 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e4::/64 - sampling first 32 IPs
2025-07-26 12:43:31,345 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e6::/64 - sampling first 32 IPs
2025-07-26 12:43:31,345 - ip_reader - INFO - IPv6 network 2409:8c20:9c71:1e8::/64 - sampling first 32 IPs
2025-07-26 12:43:31,345 - ip_reader - INFO - IPv6 network 2409:8c20:b281:19::/64 - sampling first 32 IPs
2025-07-26 12:43:31,345 - ip_reader - INFO - IPv6 network 2409:8c28:203:308::/64 - sampling first 32 IPs
2025-07-26 12:43:31,345 - ip_reader - INFO - IPv6 network 2409:8c28:203:34::/64 - sampling first 32 IPs
2025-07-26 12:43:31,345 - ip_reader - INFO - IPv6 network 2409:8c28:2808:11::/64 - sampling first 32 IPs
2025-07-26 12:43:31,346 - ip_reader - INFO - IPv6 network 2409:8c28:2808:12::/63 - sampling first 32 IPs
2025-07-26 12:43:31,346 - ip_reader - INFO - IPv6 network 2409:8c28:2808:14::/63 - sampling first 32 IPs
2025-07-26 12:43:31,346 - ip_reader - INFO - IPv6 network 2409:8c28:2808:d::/64 - sampling first 32 IPs
2025-07-26 12:43:31,346 - ip_reader - INFO - IPv6 network 2409:8c28:2808:e::/63 - sampling first 32 IPs
2025-07-26 12:43:31,346 - ip_reader - INFO - IPv6 network 2409:8c30:1000:20::/64 - sampling first 32 IPs
2025-07-26 12:43:31,346 - ip_reader - INFO - IPv6 network 2409:8c34:2220:30a::/64 - sampling first 32 IPs
2025-07-26 12:43:31,346 - ip_reader - INFO - IPv6 network 2409:8c34:e00:41::/64 - sampling first 32 IPs
2025-07-26 12:43:31,346 - ip_reader - INFO - IPv6 network 2409:8c34:e00:42::/63 - sampling first 32 IPs
2025-07-26 12:43:31,346 - ip_reader - INFO - IPv6 network 2409:8c34:e00:44::/62 - sampling first 32 IPs
2025-07-26 12:43:31,347 - ip_reader - INFO - IPv6 network 2409:8c34:e00:48::/63 - sampling first 32 IPs
2025-07-26 12:43:31,347 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c0::/64 - sampling first 32 IPs
2025-07-26 12:43:31,347 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c2::/63 - sampling first 32 IPs
2025-07-26 12:43:31,347 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c4::/62 - sampling first 32 IPs
2025-07-26 12:43:31,347 - ip_reader - INFO - IPv6 network 2409:8c38:80:1c8::/64 - sampling first 32 IPs
2025-07-26 12:43:31,347 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,347 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f2::/63 - sampling first 32 IPs
2025-07-26 12:43:31,347 - ip_reader - INFO - IPv6 network 2409:8c38:80:1f4::/64 - sampling first 32 IPs
2025-07-26 12:43:31,347 - ip_reader - INFO - IPv6 network 2409:8c3c:1300:306::/64 - sampling first 32 IPs
2025-07-26 12:43:31,348 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,348 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a2::/63 - sampling first 32 IPs
2025-07-26 12:43:31,348 - ip_reader - INFO - IPv6 network 2409:8c3c:900:1a4::/64 - sampling first 32 IPs
2025-07-26 12:43:31,348 - ip_reader - INFO - IPv6 network 2409:8c44:b00:4ec::/64 - sampling first 32 IPs
2025-07-26 12:43:31,348 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2011::/64 - sampling first 32 IPs
2025-07-26 12:43:31,348 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2012::/63 - sampling first 32 IPs
2025-07-26 12:43:31,348 - ip_reader - INFO - IPv6 network 2409:8c4c:e00:2014::/64 - sampling first 32 IPs
2025-07-26 12:43:31,348 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2061::/64 - sampling first 32 IPs
2025-07-26 12:43:31,348 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2170::/61 - sampling first 32 IPs
2025-07-26 12:43:31,349 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2178::/64 - sampling first 32 IPs
2025-07-26 12:43:31,349 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2252::/63 - sampling first 32 IPs
2025-07-26 12:43:31,349 - ip_reader - INFO - IPv6 network 2409:8c50:a00:2254::/64 - sampling first 32 IPs
2025-07-26 12:43:31,349 - ip_reader - INFO - IPv6 network 2409:8c54:1801:21::/64 - sampling first 32 IPs
2025-07-26 12:43:31,349 - ip_reader - INFO - IPv6 network 2409:8c54:1801:22::/63 - sampling first 32 IPs
2025-07-26 12:43:31,349 - ip_reader - INFO - IPv6 network 2409:8c54:1801:24::/64 - sampling first 32 IPs
2025-07-26 12:43:31,349 - ip_reader - INFO - IPv6 network 2409:8c54:1821:578::/64 - sampling first 32 IPs
2025-07-26 12:43:31,349 - ip_reader - INFO - IPv6 network 2409:8c54:2030:222::/63 - sampling first 32 IPs
2025-07-26 12:43:31,349 - ip_reader - INFO - IPv6 network 2409:8c54:2030:224::/64 - sampling first 32 IPs
2025-07-26 12:43:31,350 - ip_reader - INFO - IPv6 network 2409:8c54:2030:226::/63 - sampling first 32 IPs
2025-07-26 12:43:31,350 - ip_reader - INFO - IPv6 network 2409:8c54:2030:228::/63 - sampling first 32 IPs
2025-07-26 12:43:31,350 - ip_reader - INFO - IPv6 network 2409:8c5c:110:50::/64 - sampling first 32 IPs
2025-07-26 12:43:31,350 - ip_reader - INFO - IPv6 network 2409:8c5e:5000:c2::/64 - sampling first 32 IPs
2025-07-26 12:43:31,350 - ip_reader - INFO - IPv6 network 2409:8c60:2500:5d::/64 - sampling first 32 IPs
2025-07-26 12:43:31,350 - ip_reader - INFO - IPv6 network 2409:8c62:e10:218::/64 - sampling first 32 IPs
2025-07-26 12:43:31,350 - ip_reader - INFO - IPv6 network 2409:8c6a:b021:74::/64 - sampling first 32 IPs
2025-07-26 12:43:31,350 - ip_reader - INFO - IPv6 network 2409:8c6c:561:8110::/62 - sampling first 32 IPs
2025-07-26 12:43:31,351 - ip_reader - INFO - IPv6 network 2409:8c70:3a10:16::/64 - sampling first 32 IPs
2025-07-26 12:43:31,351 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:51::/64 - sampling first 32 IPs
2025-07-26 12:43:31,351 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:52::/64 - sampling first 32 IPs
2025-07-26 12:43:31,351 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:56::/63 - sampling first 32 IPs
2025-07-26 12:43:31,351 - ip_reader - INFO - IPv6 network 2409:8c70:3a91:58::/64 - sampling first 32 IPs
2025-07-26 12:43:31,351 - ip_reader - INFO - IPv6 network 2409:8c74:f100:864::/64 - sampling first 32 IPs
2025-07-26 12:43:31,351 - ip_reader - INFO - IPv6 network 2409:8c78:100:24::/64 - sampling first 32 IPs
2025-07-26 12:43:31,351 - ip_reader - INFO - IPv6 network 2409:8c7a:2604::/64 - sampling first 32 IPs
2025-07-26 12:43:31,351 - ip_reader - INFO - IPv6 network 240e:90d:1101:4508::/64 - sampling first 32 IPs
2025-07-26 12:43:31,352 - ip_reader - INFO - IPv6 network 240e:90d:1101:4510::/64 - sampling first 32 IPs
2025-07-26 12:43:31,352 - ip_reader - INFO - IPv6 network 240e:910:e000:2504::/64 - sampling first 32 IPs
2025-07-26 12:43:31,352 - ip_reader - INFO - IPv6 network 240e:914:5009:1002::/63 - sampling first 32 IPs
2025-07-26 12:43:31,352 - ip_reader - INFO - IPv6 network 240e:914:5009:a::/63 - sampling first 32 IPs
2025-07-26 12:43:31,352 - ip_reader - INFO - IPv6 network 240e:925:2:701::/64 - sampling first 32 IPs
2025-07-26 12:43:31,352 - ip_reader - INFO - IPv6 network 240e:925:2:702::/63 - sampling first 32 IPs
2025-07-26 12:43:31,352 - ip_reader - INFO - IPv6 network 240e:925:2:704::/64 - sampling first 32 IPs
2025-07-26 12:43:31,352 - ip_reader - INFO - IPv6 network 240e:925:2:706::/63 - sampling first 32 IPs
2025-07-26 12:43:31,352 - ip_reader - INFO - IPv6 network 240e:926:3004:21::/64 - sampling first 32 IPs
2025-07-26 12:43:31,353 - ip_reader - INFO - IPv6 network 240e:930:c200:70::/63 - sampling first 32 IPs
2025-07-26 12:43:31,353 - ip_reader - INFO - IPv6 network 240e:935:a04:2708::/64 - sampling first 32 IPs
2025-07-26 12:43:31,353 - ip_reader - INFO - IPv6 network 240e:93c:1201:2::/63 - sampling first 32 IPs
2025-07-26 12:43:31,353 - ip_reader - INFO - IPv6 network 240e:93c:1201:4::/64 - sampling first 32 IPs
2025-07-26 12:43:31,353 - ip_reader - INFO - IPv6 network 240e:93c:1201:d::/64 - sampling first 32 IPs
2025-07-26 12:43:31,353 - ip_reader - INFO - IPv6 network 240e:940:20c:308::/64 - sampling first 32 IPs
2025-07-26 12:43:31,353 - ip_reader - INFO - IPv6 network 240e:946:3000:8008::/63 - sampling first 32 IPs
2025-07-26 12:43:31,353 - ip_reader - INFO - IPv6 network 240e:94a:b01:214::/63 - sampling first 32 IPs
2025-07-26 12:43:31,354 - ip_reader - INFO - IPv6 network 240e:94c:0:2701::/64 - sampling first 32 IPs
2025-07-26 12:43:31,354 - ip_reader - INFO - IPv6 network 240e:94c:0:2702::/63 - sampling first 32 IPs
2025-07-26 12:43:31,354 - ip_reader - INFO - IPv6 network 240e:94c:0:2704::/64 - sampling first 32 IPs
2025-07-26 12:43:31,354 - ip_reader - INFO - IPv6 network 240e:950:1:2002::/64 - sampling first 32 IPs
2025-07-26 12:43:31,354 - ip_reader - INFO - IPv6 network 240e:958:2300:220::/64 - sampling first 32 IPs
2025-07-26 12:43:31,354 - ip_reader - INFO - IPv6 network 240e:958:6003:108::/64 - sampling first 32 IPs
2025-07-26 12:43:31,354 - ip_reader - INFO - IPv6 network 240e:95e:4001:1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,354 - ip_reader - INFO - IPv6 network 240e:95e:4001:2::/63 - sampling first 32 IPs
2025-07-26 12:43:31,354 - ip_reader - INFO - IPv6 network 240e:95e:4001:4::/64 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:960:200:90::/64 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:960:200:92::/63 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:960:200:94::/62 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:960:200:98::/64 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:964:5002:109::/64 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:964:5002:10a::/63 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:964:5002:10c::/64 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:965:802:b01::/64 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:965:802:b02::/63 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:965:802:b04::/62 - sampling first 32 IPs
2025-07-26 12:43:31,355 - ip_reader - INFO - IPv6 network 240e:965:802:b08::/63 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:96c:6400:a00::/64 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:974:e200:4209::/64 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:974:e200:420a::/63 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:974:e200:420c::/63 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:978:2608:800::/64 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:978:2903:50a7::/64 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:978:2903:50a9::/64 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:978:b34:1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:978:d04:2082::/63 - sampling first 32 IPs
2025-07-26 12:43:31,356 - ip_reader - INFO - IPv6 network 240e:978:d04:2085::/64 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:978:d04:2086::/63 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:978:d04:2088::/64 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:978:d04:208b::/64 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:978:d04:208c::/62 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:978:d04:2090::/63 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:979:f07:1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:979:f07:3::/64 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:979:f07:4::/63 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:979:f07:7::/64 - sampling first 32 IPs
2025-07-26 12:43:31,357 - ip_reader - INFO - IPv6 network 240e:979:f07:9::/64 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:97c:4040:200::/63 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:97d:10:25de::/64 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:97d:10:25e7::/64 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:97d:2000:b02::/63 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:97d:2000:b04::/64 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:97d:2000:b06::/63 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:97d:2000:b08::/63 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:980:1200:b14::/63 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:983:705:2::/64 - sampling first 32 IPs
2025-07-26 12:43:31,358 - ip_reader - INFO - IPv6 network 240e:b1:c808:9::/64 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:b1:c808:a::/64 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:b1:c808:c::/63 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:bf:b800:4131::/64 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:bf:b800:4132::/64 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:bf:b800:4136::/63 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:bf:b800:4138::/64 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:bf:c800:2915::/64 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:bf:c800:2916::/64 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:c2:1800:110::/61 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:c2:1800:118::/64 - sampling first 32 IPs
2025-07-26 12:43:31,359 - ip_reader - INFO - IPv6 network 240e:c2:1800:ab::/64 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:c2:1800:ac::/64 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:c3:2800:205::/64 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:cd:ff00:118::/64 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:e9:b00c:33::/64 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:e9:b00c:34::/63 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:e9:b00c:36::/64 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:f7:a070:342::/63 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:f7:a070:344::/62 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:f7:a070:348::/63 - sampling first 32 IPs
2025-07-26 12:43:31,360 - ip_reader - INFO - IPv6 network 240e:f7:a070:3c0::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 240e:f7:ef00:10::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 2001:df1:7e00:4::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 2400:adc0:4041::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 2400:de40::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 2403:c280:5:1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 2404:3100:d:5::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 2404:a140:3a:1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 2404:a140:3e:6::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 2405:3200:101:63::/64 - sampling first 32 IPs
2025-07-26 12:43:31,361 - ip_reader - INFO - IPv6 network 2405:4800:a601::/64 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 2407:2440:10:255::/64 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 240d:c040:1::/64 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 2602:fa80:10:2::/63 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 2602:ffe4:c02:1001::/64 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 2602:ffe4:c02:100c::/63 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 2602:ffe4:c12:105::/64 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 2602:ffe4:c15:124::/64 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 2602:ffe4:c18:c201::/64 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 2602:ffe4:c18:c202::/63 - sampling first 32 IPs
2025-07-26 12:43:31,362 - ip_reader - INFO - IPv6 network 2602:ffe4:c27:1000::/64 - sampling first 32 IPs
2025-07-26 12:43:31,363 - ip_reader - INFO - IPv6 network 2604:980:4002:2::/64 - sampling first 32 IPs
2025-07-26 12:43:31,363 - ip_reader - INFO - IPv6 network 2604:980:7002:6::/64 - sampling first 32 IPs
2025-07-26 12:43:31,363 - ip_reader - INFO - IPv6 network 2803:2540:f:14::/64 - sampling first 32 IPs
2025-07-26 12:43:31,363 - ip_reader - INFO - IPv6 network 2a00:12f8:3900:13::/64 - sampling first 32 IPs
2025-07-26 12:43:31,363 - ip_reader - INFO - IPv6 network 2a02:b60:2001::/64 - sampling first 32 IPs
2025-07-26 12:43:31,363 - ip_reader - INFO - IPv6 network 2a02:ce0:1:70::/64 - sampling first 32 IPs
2025-07-26 12:43:31,363 - ip_reader - INFO - IPv6 network 2a05:45c7:1:1018::/64 - sampling first 32 IPs
2025-07-26 12:43:31,363 - ip_reader - INFO - Loaded 286224 IPs for edgeone from ip_lists/edgeone.txt
2025-07-26 12:43:31,363 - ip_reader - INFO - Loaded 3 IPs for esa from ip_lists/esa.txt
2025-07-26 12:43:31,363 - ip_reader - INFO - Loaded 3 IPs for fastly from ip_lists/fastly.txt
2025-07-26 12:43:31,363 - ip_reader - INFO - Loaded 3 IPs for cloudflare from ip_lists/cloudflare.txt
2025-07-26 12:43:31,363 - ip_reader - INFO - Loaded total of 286233 IPs across 4 providers
2025-07-26 12:43:31,363 - bestcdn - INFO - Starting accessibility tests...
2025-07-26 12:43:31,367 - accessibility_tester - INFO - Starting high-performance IP accessibility testing
2025-07-26 12:43:31,428 - accessibility_tester - INFO - Testing 286233 IPs across 4 providers
2025-07-26 12:43:31,428 - accessibility_tester - INFO - Processing batch 1/287 (1000 IPs)
2025-07-26 12:43:36,472 - accessibility_tester - INFO - Batch 1 completed: 4/1000 accessible
2025-07-26 12:43:36,472 - accessibility_tester - INFO - Processing batch 2/287 (1000 IPs)
2025-07-26 12:43:41,529 - accessibility_tester - INFO - Batch 2 completed: 1/1000 accessible
2025-07-26 12:43:41,529 - accessibility_tester - INFO - Processing batch 3/287 (1000 IPs)
2025-07-26 12:43:46,579 - accessibility_tester - INFO - Batch 3 completed: 2/1000 accessible
2025-07-26 12:43:46,579 - accessibility_tester - INFO - Processing batch 4/287 (1000 IPs)
2025-07-26 12:43:51,642 - accessibility_tester - INFO - Batch 4 completed: 1/1000 accessible
2025-07-26 12:43:51,642 - accessibility_tester - INFO - Processing batch 5/287 (1000 IPs)
2025-07-26 12:43:56,690 - accessibility_tester - INFO - Batch 5 completed: 3/1000 accessible
2025-07-26 12:43:56,690 - accessibility_tester - INFO - Processing batch 6/287 (1000 IPs)
2025-07-26 12:44:01,770 - accessibility_tester - INFO - Batch 6 completed: 0/1000 accessible
2025-07-26 12:44:01,771 - accessibility_tester - INFO - Processing batch 7/287 (1000 IPs)
2025-07-26 12:44:06,832 - accessibility_tester - INFO - Batch 7 completed: 2/1000 accessible
2025-07-26 12:44:06,832 - accessibility_tester - INFO - Processing batch 8/287 (1000 IPs)
2025-07-26 12:44:11,879 - accessibility_tester - INFO - Batch 8 completed: 5/1000 accessible
2025-07-26 12:44:11,880 - accessibility_tester - INFO - Processing batch 9/287 (1000 IPs)
2025-07-26 12:44:16,941 - accessibility_tester - INFO - Batch 9 completed: 4/1000 accessible
2025-07-26 12:44:16,941 - accessibility_tester - INFO - Processing batch 10/287 (1000 IPs)

7
requirements.txt Normal file
View File

@ -0,0 +1,7 @@
aiohttp>=3.9.0
dnspython>=2.4.0
click>=8.1.0
colorama>=0.4.6
tqdm>=4.66.0
pydantic>=2.5.0
ujson>=5.8.0

View File

@ -0,0 +1,7 @@
# Accessible CDN IPs - Generated by BestCDN C++ Tester
# Total accessible IPs: 2
# cloudflare - 2 accessible IPs
104.16.0.1
104.17.0.1

View File

@ -0,0 +1,88 @@
{
"results" :
[
{
"accessible" : true,
"error" : "Connection failed",
"ip" : "104.16.0.1",
"protocol" : "http",
"provider" : "cloudflare",
"response_time" : 0.64228229800000003,
"status_code" : 200
},
{
"accessible" : true,
"error" : "HTTP 403",
"ip" : "104.17.0.1",
"protocol" : "http",
"provider" : "cloudflare",
"response_time" : 1.472197282,
"status_code" : 200
},
{
"accessible" : false,
"error" : "Connection failed",
"ip" : "172.64.0.1",
"protocol" : "http",
"provider" : "cloudflare",
"response_time" : 3.0019763589999999,
"status_code" : 0
},
{
"accessible" : false,
"error" : "Connection failed",
"ip" : "47.88.1.1",
"protocol" : "http",
"provider" : "esa",
"response_time" : 3.0020594599999999,
"status_code" : 0
},
{
"accessible" : false,
"error" : "Connection failed",
"ip" : "47.89.1.1",
"protocol" : "http",
"provider" : "esa",
"response_time" : 3.0025524180000001,
"status_code" : 0
},
{
"accessible" : false,
"error" : "Connection failed",
"ip" : "39.96.1.1",
"protocol" : "http",
"provider" : "esa",
"response_time" : 3.0020609550000001,
"status_code" : 0
},
{
"accessible" : false,
"error" : "Invalid JSON response or wrong test_message",
"ip" : "151.101.1.1",
"protocol" : "http",
"provider" : "fastly",
"response_time" : 0.085645867000000001,
"status_code" : 200
},
{
"accessible" : false,
"error" : "HTTP 404",
"ip" : "151.101.2.1",
"protocol" : "http",
"provider" : "fastly",
"response_time" : 0.086133904999999997,
"status_code" : 404
},
{
"accessible" : false,
"error" : "HTTP 500",
"ip" : "199.232.1.1",
"protocol" : "http",
"provider" : "fastly",
"response_time" : 0.35534177500000003,
"status_code" : 500
}
],
"total_accessible" : 2,
"total_tested" : 9
}

34
run.bat Normal file
View File

@ -0,0 +1,34 @@
@echo off
REM BestCDN Run Script - Automatically activates virtual environment
echo BestCDN Runner
echo ==============
REM Check if virtual environment exists
if not exist "venv" (
echo Error: Virtual environment not found!
echo Please run install.bat first
pause
exit /b 1
)
REM Activate virtual environment
echo Activating virtual environment...
call venv\Scripts\activate.bat
if errorlevel 1 (
echo Error: Failed to activate virtual environment
pause
exit /b 1
)
echo ✓ Virtual environment activated
REM Run the example
echo Running BestCDN example...
python example_usage.py
REM Deactivate virtual environment
call venv\Scripts\deactivate.bat
pause

32
run.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/bash
# BestCDN Run Script - Automatically activates virtual environment
echo "BestCDN Runner"
echo "=============="
# Check if virtual environment exists
if [ ! -d "venv" ]; then
echo "Error: Virtual environment not found!"
echo "Please run ./install.sh first"
exit 1
fi
# Activate virtual environment
echo "Activating virtual environment..."
source venv/bin/activate
# Check if activation was successful
if [ $? -ne 0 ]; then
echo "Error: Failed to activate virtual environment"
exit 1
fi
echo "✓ Virtual environment activated"
# Run the example
echo "Running BestCDN example..."
python3 example_usage.py
# Deactivate virtual environment
deactivate

56
run_cpp.sh Executable file
View File

@ -0,0 +1,56 @@
#!/bin/bash
# BestCDN C++ Runner Script
echo "BestCDN C++ High-Performance Tester"
echo "==================================="
# Check if C++ tester is built
if [ ! -f "src/cpp/bestcdn_tester" ]; then
echo "C++ tester not found. Building..."
chmod +x build_cpp.sh
./build_cpp.sh
if [ $? -ne 0 ]; then
echo "Build failed. Exiting."
exit 1
fi
fi
# Check if IP lists exist
missing_files=()
for provider in cloudflare fastly edgeone esa; do
if [ ! -f "ip_lists/${provider}.txt" ]; then
missing_files+=("ip_lists/${provider}.txt")
fi
done
if [ ${#missing_files[@]} -gt 0 ]; then
echo "Warning: Missing IP list files:"
for file in "${missing_files[@]}"; do
echo " - $file"
done
echo ""
echo "Please add your IP lists to the ip_lists/ directory before running."
echo "Each file should contain one IP per line."
echo ""
read -p "Continue anyway? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
fi
# Create results directory
mkdir -p results
# Run the C++ tester
echo "Starting high-performance C++ tester..."
echo ""
cd src/cpp
./bestcdn_tester
echo ""
echo "C++ testing completed!"
echo "Check the results/ directory for output files."

7
src/__init__.py Normal file
View File

@ -0,0 +1,7 @@
"""
BestCDN - High-performance CDN IP accessibility tester
"""
__version__ = "1.0.0"
__author__ = "BestCDN Team"
__description__ = "High-performance tool to find accessible CDN IP addresses"

Binary file not shown.

Binary file not shown.

42
src/cpp/Makefile Normal file
View File

@ -0,0 +1,42 @@
# BestCDN C++ High-Performance Tester Makefile
CXX = g++
CXXFLAGS = -std=c++17 -O3 -Wall -Wextra -pthread
LIBS = -lcurl -ljsoncpp
# Target executable
TARGET = bestcdn_tester
SOURCE = bestcdn_tester.cpp
# Default target
all: $(TARGET)
$(TARGET): $(SOURCE)
$(CXX) $(CXXFLAGS) -o $(TARGET) $(SOURCE) $(LIBS)
# Install dependencies (Ubuntu/Debian)
install-deps:
sudo apt-get update
sudo apt-get install -y libcurl4-openssl-dev libjsoncpp-dev build-essential
# Install dependencies (CentOS/RHEL)
install-deps-centos:
sudo yum install -y libcurl-devel jsoncpp-devel gcc-c++ make
# Install dependencies (macOS)
install-deps-macos:
brew install curl jsoncpp
# Clean build files
clean:
rm -f $(TARGET)
# Run the tester
run: $(TARGET)
./$(TARGET)
# Create results directory
setup:
mkdir -p ../../results
.PHONY: all clean run install-deps install-deps-centos install-deps-macos setup

BIN
src/cpp/bestcdn_tester Executable file

Binary file not shown.

509
src/cpp/bestcdn_tester.cpp Normal file
View File

@ -0,0 +1,509 @@
/*
* BestCDN High-Performance IP Accessibility Tester
* C++ implementation for maximum performance
*/
#include <iostream>
#include <vector>
#include <string>
#include <thread>
#include <mutex>
#include <atomic>
#include <chrono>
#include <fstream>
#include <sstream>
#include <queue>
#include <condition_variable>
#include <curl/curl.h>
#include <json/json.h>
#include <future>
#include <algorithm>
#include <cstdint>
#include <map>
struct TestResult {
std::string ip;
std::string provider;
bool accessible;
double response_time;
int status_code;
std::string error;
std::vector<std::string> successful_protocols; // Store all working protocols
TestResult() : accessible(false), response_time(0.0), status_code(0) {}
};
struct HTTPResponse {
std::string data;
long status_code;
double response_time;
HTTPResponse() : status_code(0), response_time(0.0) {}
};
class BestCDNTester {
private:
std::mutex results_mutex;
std::vector<TestResult> results;
std::atomic<int> completed_tests{0};
std::atomic<int> successful_tests{0};
// Configuration
int concurrent_requests = 100;
double request_timeout = 3.0;
int max_retries = 2;
// Test domains
std::map<std::string, std::string> test_domains = {
{"edgeone", "test10000.ix.je"},
{"esa", "test10000.ix.je"},
{"fastly", "test10000.ix.je"},
{"cloudflare", "test10000.fstring.me"}
};
static size_t WriteCallback(void* contents, size_t size, size_t nmemb, HTTPResponse* response) {
size_t total_size = size * nmemb;
response->data.append((char*)contents, total_size);
return total_size;
}
HTTPResponse performHTTPRequest(const std::string& url, const std::string& host_header) {
HTTPResponse response;
CURL* curl = curl_easy_init();
if (!curl) {
return response;
}
// Set URL
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
// Set Host header
struct curl_slist* headers = nullptr;
if (!host_header.empty()) {
std::string host_line = "Host: " + host_header;
headers = curl_slist_append(headers, host_line.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
}
// Set User-Agent
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Safari/605.1.15/1.0");
// Set callback for response data
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
// Set timeout
curl_easy_setopt(curl, CURLOPT_TIMEOUT, (long)request_timeout);
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 2L);
// Disable SSL verification for speed
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
// Don't follow redirects
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 0L);
// Perform request
auto start_time = std::chrono::high_resolution_clock::now();
CURLcode res = curl_easy_perform(curl);
auto end_time = std::chrono::high_resolution_clock::now();
response.response_time = std::chrono::duration<double>(end_time - start_time).count();
if (res == CURLE_OK) {
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response.status_code);
}
// Cleanup
if (headers) {
curl_slist_free_all(headers);
}
curl_easy_cleanup(curl);
return response;
}
bool verifyJSONResponse(const std::string& json_data) {
Json::Value root;
Json::Reader reader;
if (!reader.parse(json_data, root)) {
return false;
}
if (!root.isMember("test_message")) {
return false;
}
return root["test_message"].asString() == "testpagegalaxy123";
}
TestResult testSingleIP(const std::string& ip, const std::string& provider) {
TestResult result;
result.ip = ip;
result.provider = provider;
std::string test_domain = test_domains[provider];
std::vector<std::string> protocols = {"https", "http"};
double total_response_time = 0.0;
int successful_tests = 0;
std::string last_error;
// Test both protocols and record all successful ones
for (const auto& protocol : protocols) {
std::string url = protocol + "://" + ip + "/testpage.php";
HTTPResponse response = performHTTPRequest(url, test_domain);
if (response.status_code == 200) {
if (verifyJSONResponse(response.data)) {
// This protocol works!
result.successful_protocols.push_back(protocol);
total_response_time += response.response_time;
successful_tests++;
result.accessible = true;
} else {
last_error = "Invalid JSON response or wrong test_message";
}
} else if (response.status_code > 0) {
last_error = "HTTP " + std::to_string(response.status_code);
} else {
last_error = "Connection failed";
}
}
// Set final result properties
if (successful_tests > 0) {
result.response_time = total_response_time / successful_tests; // Average response time
result.status_code = 200; // At least one protocol succeeded
} else {
result.accessible = false;
result.error = last_error;
result.response_time = 0.0;
result.status_code = 0;
}
return result;
}
public:
BestCDNTester(int concurrent = 100, double timeout = 3.0)
: concurrent_requests(concurrent), request_timeout(timeout) {
curl_global_init(CURL_GLOBAL_DEFAULT);
}
~BestCDNTester() {
curl_global_cleanup();
}
void testIPBatch(const std::vector<std::pair<std::string, std::string>>& ip_provider_pairs) {
std::vector<std::future<TestResult>> futures;
// Create thread pool
for (const auto& pair : ip_provider_pairs) {
futures.push_back(std::async(std::launch::async, [this, pair]() {
return testSingleIP(pair.first, pair.second);
}));
// Limit concurrent requests
if (futures.size() >= concurrent_requests) {
// Wait for some to complete
for (auto& future : futures) {
TestResult result = future.get();
{
std::lock_guard<std::mutex> lock(results_mutex);
results.push_back(result);
}
completed_tests++;
if (result.accessible) {
successful_tests++;
}
}
futures.clear();
}
}
// Wait for remaining futures
for (auto& future : futures) {
TestResult result = future.get();
{
std::lock_guard<std::mutex> lock(results_mutex);
results.push_back(result);
}
completed_tests++;
if (result.accessible) {
successful_tests++;
}
}
}
void testAllIPs(const std::map<std::string, std::vector<std::string>>& provider_ips) {
std::vector<std::pair<std::string, std::string>> all_pairs;
// Flatten all IPs with their providers
for (const auto& provider_pair : provider_ips) {
const std::string& provider = provider_pair.first;
const std::vector<std::string>& ips = provider_pair.second;
for (const std::string& ip : ips) {
all_pairs.emplace_back(ip, provider);
}
}
std::cout << "Testing " << all_pairs.size() << " IPs across "
<< provider_ips.size() << " providers..." << std::endl;
auto start_time = std::chrono::high_resolution_clock::now();
// Process in batches
const size_t batch_size = 1000;
for (size_t i = 0; i < all_pairs.size(); i += batch_size) {
size_t end = std::min(i + batch_size, all_pairs.size());
std::vector<std::pair<std::string, std::string>> batch(
all_pairs.begin() + i, all_pairs.begin() + end);
std::cout << "Processing batch " << (i / batch_size + 1)
<< " (" << batch.size() << " IPs)..." << std::endl;
testIPBatch(batch);
std::cout << "Completed: " << completed_tests.load()
<< "/" << all_pairs.size()
<< " (Accessible: " << successful_tests.load() << ")" << std::endl;
}
auto end_time = std::chrono::high_resolution_clock::now();
double total_time = std::chrono::duration<double>(end_time - start_time).count();
std::cout << "\nTesting completed in " << total_time << " seconds" << std::endl;
std::cout << "Total accessible: " << successful_tests.load()
<< "/" << completed_tests.load() << std::endl;
}
void saveResults(const std::string& filename) {
std::ofstream file(filename);
Json::Value root;
Json::Value results_array(Json::arrayValue);
for (const auto& result : results) {
Json::Value result_obj;
result_obj["ip"] = result.ip;
result_obj["provider"] = result.provider;
result_obj["accessible"] = result.accessible;
result_obj["response_time"] = result.response_time;
result_obj["status_code"] = result.status_code;
result_obj["error"] = result.error;
// Add successful protocols array
Json::Value protocols_array(Json::arrayValue);
for (const auto& protocol : result.successful_protocols) {
protocols_array.append(protocol);
}
result_obj["successful_protocols"] = protocols_array;
results_array.append(result_obj);
}
root["results"] = results_array;
root["total_tested"] = (int)results.size();
root["total_accessible"] = successful_tests.load();
file << root;
file.close();
std::cout << "Results saved to " << filename << std::endl;
}
void saveAccessibleIPs(const std::string& filename) {
std::ofstream file(filename);
std::map<std::string, std::vector<TestResult>> accessible_by_provider;
for (const auto& result : results) {
if (result.accessible) {
accessible_by_provider[result.provider].push_back(result);
}
}
file << "# Accessible CDN IPs with Protocols - Generated by BestCDN C++ Tester\n";
file << "# Format: IP protocol1 protocol2 ...\n";
file << "# Total accessible IPs: " << successful_tests.load() << "\n\n";
for (const auto& provider_pair : accessible_by_provider) {
file << "# " << provider_pair.first << " - "
<< provider_pair.second.size() << " accessible IPs\n";
for (const auto& result : provider_pair.second) {
file << result.ip;
for (const auto& protocol : result.successful_protocols) {
file << " " << protocol;
}
file << "\n";
}
file << "\n";
}
file.close();
std::cout << "Accessible IPs saved to " << filename << std::endl;
}
};
// Function to convert IP string to 32-bit integer
uint32_t ipToInt(const std::string& ip) {
uint32_t result = 0;
std::istringstream iss(ip);
std::string octet;
int shift = 24;
while (std::getline(iss, octet, '.') && shift >= 0) {
result |= (std::stoi(octet) << shift);
shift -= 8;
}
return result;
}
// Function to convert 32-bit integer to IP string
std::string intToIp(uint32_t ip) {
return std::to_string((ip >> 24) & 0xFF) + "." +
std::to_string((ip >> 16) & 0xFF) + "." +
std::to_string((ip >> 8) & 0xFF) + "." +
std::to_string(ip & 0xFF);
}
// Function to expand CIDR notation to individual IPs
std::vector<std::string> expandCIDR(const std::string& cidr) {
std::vector<std::string> ips;
size_t slash_pos = cidr.find('/');
if (slash_pos == std::string::npos) {
// Not CIDR, just return the single IP
ips.push_back(cidr);
return ips;
}
std::string network_ip = cidr.substr(0, slash_pos);
int prefix_length = std::stoi(cidr.substr(slash_pos + 1));
// Validate prefix length
if (prefix_length < 0 || prefix_length > 32) {
std::cerr << "Invalid CIDR prefix length: " << prefix_length << std::endl;
return ips;
}
uint32_t network = ipToInt(network_ip);
uint32_t mask = (0xFFFFFFFF << (32 - prefix_length)) & 0xFFFFFFFF;
uint32_t network_addr = network & mask;
uint32_t broadcast_addr = network_addr | (~mask & 0xFFFFFFFF);
// Calculate number of host addresses
uint32_t num_hosts = broadcast_addr - network_addr + 1;
// For IPv4, sample differently based on network size
if (prefix_length >= 24) {
// /24 or smaller - include all IPs (skip network and broadcast for /24 and larger)
uint32_t start = (prefix_length == 32) ? network_addr : network_addr + 1;
uint32_t end = (prefix_length == 32) ? network_addr : broadcast_addr - 1;
for (uint32_t ip = start; ip <= end; ++ip) {
ips.push_back(intToIp(ip));
}
} else {
// Larger networks - sample to avoid memory issues
uint32_t sample_size = std::min(num_hosts, (uint32_t)1000);
std::cout << "Large CIDR " << cidr << " with " << num_hosts
<< " IPs - sampling " << sample_size << " IPs" << std::endl;
for (uint32_t i = 0; i < sample_size; ++i) {
uint32_t ip = network_addr + (i * num_hosts / sample_size);
ips.push_back(intToIp(ip));
}
}
return ips;
}
std::vector<std::string> readIPList(const std::string& filename) {
std::vector<std::string> ips;
std::ifstream file(filename);
std::string line;
if (!file.is_open()) {
std::cerr << "Error: Cannot open file " << filename << std::endl;
return ips;
}
while (std::getline(file, line)) {
// Remove whitespace
line.erase(0, line.find_first_not_of(" \t\r\n"));
line.erase(line.find_last_not_of(" \t\r\n") + 1);
// Skip empty lines and comments
if (line.empty() || line[0] == '#') {
continue;
}
// Handle both single IPs and CIDR notation
try {
std::vector<std::string> expanded = expandCIDR(line);
ips.insert(ips.end(), expanded.begin(), expanded.end());
} catch (const std::exception& e) {
std::cerr << "Error processing line '" << line << "': " << e.what() << std::endl;
}
}
return ips;
}
int main(int argc, char* argv[]) {
std::cout << "BestCDN High-Performance C++ Tester" << std::endl;
std::cout << "====================================" << std::endl;
// Read IP lists
std::map<std::string, std::vector<std::string>> provider_ips;
std::vector<std::string> providers = {"cloudflare", "fastly", "edgeone", "esa"};
for (const std::string& provider : providers) {
std::string filename = "ip_lists/" + provider + ".txt";
std::vector<std::string> ips = readIPList(filename);
if (!ips.empty()) {
provider_ips[provider] = ips;
std::cout << "Loaded " << ips.size() << " IPs for " << provider << std::endl;
} else {
std::cout << "Warning: No IPs found for " << provider << std::endl;
}
}
if (provider_ips.empty()) {
std::cerr << "Error: No IP lists found. Please add IP files to ip_lists/ directory." << std::endl;
return 1;
}
// Create tester with high concurrency
BestCDNTester tester(200, 3.0); // 200 concurrent requests, 3s timeout
// Run tests
tester.testAllIPs(provider_ips);
// Save results
auto now = std::chrono::system_clock::now();
auto time_t = std::chrono::system_clock::to_time_t(now);
auto tm = *std::localtime(&time_t);
char timestamp[20];
std::strftime(timestamp, sizeof(timestamp), "%Y%m%d_%H%M%S", &tm);
std::string results_file = "results/cpp_results_" + std::string(timestamp) + ".json";
std::string accessible_file = "results/cpp_accessible_" + std::string(timestamp) + ".txt";
tester.saveResults(results_file);
tester.saveAccessibleIPs(accessible_file);
return 0;
}

248
src/main.py Normal file
View File

@ -0,0 +1,248 @@
"""
BestCDN - High-performance CDN IP accessibility tester
Main orchestration script
"""
import asyncio
import logging
import sys
import os
from datetime import datetime
from typing import Dict
# Add src to path for imports
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
from config import Config
from src.utils.ip_reader import IPListReader
from src.testers.accessibility_tester import AccessibilityTester
from src.utils.results_manager import ResultsManager
class BestCDN:
"""Main BestCDN application class"""
def __init__(self, config_file: str = "config.json"):
self.config = Config(config_file)
self.logger = self._setup_logging()
self.ip_reader = IPListReader()
self.results_manager = ResultsManager(self.config)
def _setup_logging(self) -> logging.Logger:
"""Setup logging configuration"""
# Create logs directory if it doesn't exist
os.makedirs("logs", exist_ok=True)
# Configure logging
log_level = getattr(logging, self.config.output.log_level.upper(), logging.INFO)
# Create formatter
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
# Setup file handler
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
log_file = os.path.join("logs", f"bestcdn_{timestamp}.log")
file_handler = logging.FileHandler(log_file, encoding='utf-8')
file_handler.setLevel(log_level)
file_handler.setFormatter(formatter)
# Setup console handler
console_handler = logging.StreamHandler()
console_handler.setLevel(log_level)
console_handler.setFormatter(formatter)
# Configure root logger
root_logger = logging.getLogger()
root_logger.setLevel(log_level)
root_logger.addHandler(file_handler)
root_logger.addHandler(console_handler)
# Return main logger
logger = logging.getLogger("bestcdn")
logger.info(f"Logging initialized - Log file: {log_file}")
return logger
def validate_setup(self) -> bool:
"""Validate that everything is set up correctly"""
self.logger.info("Validating setup...")
# Check enabled providers
enabled_providers = list(self.config.get_enabled_providers().keys())
if not enabled_providers:
self.logger.error("No CDN providers are enabled in configuration")
return False
self.logger.info(f"Enabled providers: {', '.join(enabled_providers)}")
# Validate IP list files
validation_results = self.ip_reader.validate_ip_lists(enabled_providers)
missing_files = []
for provider, result in validation_results.items():
if not result['exists']:
missing_files.append(provider)
elif not result['readable']:
self.logger.error(f"IP list file for {provider} is not readable")
return False
elif result['ip_count'] == 0:
self.logger.warning(f"No valid IPs found in {provider} IP list")
else:
self.logger.info(f"{provider}: {result['ip_count']} IPs available")
if missing_files:
self.logger.error(f"Missing IP list files for: {', '.join(missing_files)}")
self.logger.error("Please create the following files in the 'ip_lists' directory:")
for provider in missing_files:
self.logger.error(f" - ip_lists/{provider}.txt")
return False
# Check test domains
missing_domains = []
for provider in enabled_providers:
if not self.config.cdn_providers[provider].test_domain:
missing_domains.append(provider)
if missing_domains:
self.logger.error(f"Missing test domains for: {', '.join(missing_domains)}")
self.logger.error("Please set test domains using set_test_domain() or configuration")
return False
self.logger.info("Setup validation completed successfully")
return True
def set_test_domains(self, domains: Dict[str, str]):
"""Set test domains for providers"""
for provider, domain in domains.items():
if provider in self.config.cdn_providers:
self.config.set_test_domain(provider, domain)
self.logger.info(f"Set test domain for {provider}: {domain}")
else:
self.logger.warning(f"Unknown provider: {provider}")
async def run_accessibility_test(self) -> bool:
"""Run the main accessibility test"""
try:
self.logger.info("=" * 60)
self.logger.info("STARTING BESTCDN IP ACCESSIBILITY TEST")
self.logger.info("=" * 60)
# Load IP lists
self.logger.info("Loading IP lists...")
enabled_providers = list(self.config.get_enabled_providers().keys())
provider_ips = self.ip_reader.read_all_ip_lists(enabled_providers)
if not provider_ips:
self.logger.error("No IP lists loaded successfully")
return False
# Prepare test domains
test_domains = {}
for provider in enabled_providers:
test_domains[provider] = self.config.cdn_providers[provider].test_domain
# Run accessibility tests
self.logger.info("Starting accessibility tests...")
async with AccessibilityTester(self.config) as tester:
results = await tester.test_all_ips(provider_ips, test_domains)
stats = tester.get_statistics()
# Save results
self.logger.info("Saving results...")
# Save main results file
main_results_file = self.results_manager.save_results(results, stats)
if main_results_file:
self.logger.info(f"Main results saved to: {main_results_file}")
# Save accessible IPs only
accessible_file = self.results_manager.save_accessible_ips_only(results)
if accessible_file:
self.logger.info(f"Accessible IPs saved to: {accessible_file}")
# Save provider-specific results
provider_files = self.results_manager.save_provider_specific_results(results)
for provider, filepath in provider_files.items():
self.logger.info(f"{provider} results saved to: {filepath}")
# Generate summary report
summary_file = self.results_manager.generate_summary_report(results, stats)
if summary_file:
self.logger.info(f"Summary report saved to: {summary_file}")
# Log final statistics
self.logger.info("=" * 60)
self.logger.info("TEST COMPLETED SUCCESSFULLY")
self.logger.info("=" * 60)
self.logger.info(f"Total IPs tested: {stats['total_tested']}")
self.logger.info(f"Total accessible: {stats['total_accessible']}")
self.logger.info(f"Overall success rate: {stats['total_accessible']/stats['total_tested']*100:.2f}%")
self.logger.info(f"Average response time: {stats['avg_response_time']:.3f}s")
for provider, provider_stats in stats['by_provider'].items():
self.logger.info(f"{provider}: {provider_stats['accessible']}/{provider_stats['tested']} "
f"({provider_stats['success_rate']*100:.2f}%)")
return True
except Exception as e:
self.logger.error(f"Error during accessibility test: {e}", exc_info=True)
return False
def print_usage_info(self):
"""Print usage information"""
print("\n" + "=" * 60)
print("BestCDN - High-Performance CDN IP Accessibility Tester")
print("=" * 60)
print("\nBefore running, please ensure:")
print("1. Create 'ip_lists' directory")
print("2. Add IP list files for each provider:")
enabled_providers = list(self.config.get_enabled_providers().keys())
for provider in enabled_providers:
print(f" - ip_lists/{provider}.txt")
print("3. Set test domains for each provider")
print("\nExample usage:")
print("```python")
print("from src.main import BestCDN")
print("")
print("# Create BestCDN instance")
print("app = BestCDN()")
print("")
print("# Set test domains")
print("app.set_test_domains({")
for provider in enabled_providers:
print(f" '{provider}': 'your-test-domain.com',")
print("})")
print("")
print("# Run the test")
print("import asyncio")
print("asyncio.run(app.run_accessibility_test())")
print("```")
print("\n" + "=" * 60)
async def main():
"""Main entry point"""
app = BestCDN()
# Print usage info if setup is not valid
if not app.validate_setup():
app.print_usage_info()
return False
# Run the accessibility test
success = await app.run_accessibility_test()
return success
if __name__ == "__main__":
try:
success = asyncio.run(main())
sys.exit(0 if success else 1)
except KeyboardInterrupt:
print("\nTest interrupted by user")
sys.exit(1)
except Exception as e:
print(f"Unexpected error: {e}")
sys.exit(1)

7
src/testers/__init__.py Normal file
View File

@ -0,0 +1,7 @@
"""
Testers package for BestCDN
"""
from .accessibility_tester import AccessibilityTester, TestResult
__all__ = ['AccessibilityTester', 'TestResult']

Binary file not shown.

View File

@ -0,0 +1,292 @@
"""
High-performance IP accessibility tester
"""
import asyncio
import aiohttp
import time
import logging
from typing import Set, Dict, List, Tuple, Optional
from dataclasses import dataclass
from concurrent.futures import ThreadPoolExecutor
import ssl
@dataclass
class TestResult:
"""Result of an IP accessibility test"""
ip: str
provider: str
accessible: bool
response_time: float
status_code: Optional[int] = None
error: Optional[str] = None
protocol: str = "http"
class AccessibilityTester:
"""High-performance IP accessibility tester"""
def __init__(self, config):
self.config = config
self.logger = logging.getLogger("accessibility_tester")
self.session: Optional[aiohttp.ClientSession] = None
self.results: List[TestResult] = []
async def __aenter__(self):
"""Async context manager entry"""
# Create SSL context that doesn't verify certificates for speed
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
# Configure connector for high performance
connector = aiohttp.TCPConnector(
limit=self.config.performance.concurrent_requests,
limit_per_host=50,
ttl_dns_cache=300,
use_dns_cache=True,
ssl=ssl_context if not self.config.testing.validate_ssl else None,
enable_cleanup_closed=True
)
# Configure timeout
timeout = aiohttp.ClientTimeout(
total=self.config.performance.request_timeout,
connect=2.0,
sock_read=1.0
)
# Create session
self.session = aiohttp.ClientSession(
connector=connector,
timeout=timeout,
headers={'User-Agent': self.config.testing.user_agent},
skip_auto_headers=['Accept-Encoding'] # Disable compression for speed
)
return self
async def __aexit__(self, exc_type, exc_val, exc_tb):
"""Async context manager exit"""
if self.session:
await self.session.close()
async def test_ip_accessibility(self, ip: str, provider: str, test_domain: str) -> TestResult:
"""Test accessibility of a single IP"""
protocols = self.config.testing.protocols
# Try each protocol until one succeeds
for protocol in protocols:
result = await self._test_single_protocol(ip, provider, test_domain, protocol)
if result.accessible:
return result
# If all protocols failed, return the last result
return result
async def _test_single_protocol(self, ip: str, provider: str, test_domain: str, protocol: str) -> TestResult:
"""Test a single IP with a specific protocol"""
start_time = time.time()
try:
# Construct URL with IP but use Host header for the domain
url = f"{protocol}://{ip}/testpage.php"
headers = {'Host': test_domain} if test_domain else {}
async with self.session.get(
url,
headers=headers,
allow_redirects=self.config.testing.follow_redirects
) as response:
response_time = time.time() - start_time
# Check if response status is OK
if response.status != 200:
return TestResult(
ip=ip,
provider=provider,
accessible=False,
response_time=response_time,
status_code=response.status,
error=f"HTTP {response.status}",
protocol=protocol
)
# Try to parse JSON response
try:
json_data = await response.json()
# Check if the JSON contains the expected test message
if json_data.get("test_message") == "testpagegalaxy123":
return TestResult(
ip=ip,
provider=provider,
accessible=True,
response_time=response_time,
status_code=response.status,
protocol=protocol
)
else:
return TestResult(
ip=ip,
provider=provider,
accessible=False,
response_time=response_time,
status_code=response.status,
error=f"Invalid test_message: {json_data.get('test_message', 'missing')}",
protocol=protocol
)
except Exception as json_error:
return TestResult(
ip=ip,
provider=provider,
accessible=False,
response_time=response_time,
status_code=response.status,
error=f"JSON parse error: {str(json_error)}",
protocol=protocol
)
except asyncio.TimeoutError:
response_time = time.time() - start_time
return TestResult(
ip=ip,
provider=provider,
accessible=False,
response_time=response_time,
error="Timeout",
protocol=protocol
)
except Exception as e:
response_time = time.time() - start_time
return TestResult(
ip=ip,
provider=provider,
accessible=False,
response_time=response_time,
error=str(e),
protocol=protocol
)
async def test_ip_batch(self, ip_batch: List[Tuple[str, str]], test_domains: Dict[str, str]) -> List[TestResult]:
"""Test a batch of IPs concurrently"""
tasks = []
for ip, provider in ip_batch:
test_domain = test_domains.get(provider, "")
if not test_domain:
self.logger.warning(f"No test domain configured for provider {provider}")
continue
task = self.test_ip_accessibility(ip, provider, test_domain)
tasks.append(task)
# Execute all tests concurrently
results = await asyncio.gather(*tasks, return_exceptions=True)
# Filter out exceptions and return valid results
valid_results = []
for result in results:
if isinstance(result, TestResult):
valid_results.append(result)
elif isinstance(result, Exception):
self.logger.error(f"Test error: {result}")
return valid_results
async def test_all_ips(self, provider_ips: Dict[str, Set[str]], test_domains: Dict[str, str]) -> List[TestResult]:
"""Test accessibility of all IPs across all providers"""
self.logger.info("Starting high-performance IP accessibility testing")
# Flatten all IPs with their providers
all_ip_provider_pairs = []
for provider, ips in provider_ips.items():
for ip in ips:
all_ip_provider_pairs.append((ip, provider))
total_ips = len(all_ip_provider_pairs)
self.logger.info(f"Testing {total_ips} IPs across {len(provider_ips)} providers")
# Process IPs in batches for memory efficiency
batch_size = self.config.performance.batch_size
all_results = []
for i in range(0, total_ips, batch_size):
batch = all_ip_provider_pairs[i:i + batch_size]
batch_num = i // batch_size + 1
total_batches = (total_ips + batch_size - 1) // batch_size
self.logger.info(f"Processing batch {batch_num}/{total_batches} ({len(batch)} IPs)")
try:
batch_results = await self.test_ip_batch(batch, test_domains)
all_results.extend(batch_results)
# Log progress
accessible_count = sum(1 for r in batch_results if r.accessible)
self.logger.info(f"Batch {batch_num} completed: {accessible_count}/{len(batch_results)} accessible")
except Exception as e:
self.logger.error(f"Error processing batch {batch_num}: {e}")
self.results = all_results
# Log final statistics
total_accessible = sum(1 for r in all_results if r.accessible)
self.logger.info(f"Testing completed: {total_accessible}/{len(all_results)} IPs accessible")
return all_results
def get_accessible_ips(self) -> Dict[str, List[str]]:
"""Get accessible IPs grouped by provider"""
accessible_ips = {}
for result in self.results:
if result.accessible:
if result.provider not in accessible_ips:
accessible_ips[result.provider] = []
accessible_ips[result.provider].append(result.ip)
return accessible_ips
def get_statistics(self) -> Dict:
"""Get testing statistics"""
if not self.results:
return {}
stats = {
'total_tested': len(self.results),
'total_accessible': sum(1 for r in self.results if r.accessible),
'by_provider': {},
'avg_response_time': sum(r.response_time for r in self.results) / len(self.results),
'protocols_used': {}
}
# Statistics by provider
for result in self.results:
provider = result.provider
if provider not in stats['by_provider']:
stats['by_provider'][provider] = {
'tested': 0,
'accessible': 0,
'success_rate': 0.0
}
stats['by_provider'][provider]['tested'] += 1
if result.accessible:
stats['by_provider'][provider]['accessible'] += 1
# Calculate success rates
for provider_stats in stats['by_provider'].values():
if provider_stats['tested'] > 0:
provider_stats['success_rate'] = provider_stats['accessible'] / provider_stats['tested']
# Protocol statistics
for result in self.results:
if result.accessible:
protocol = result.protocol
if protocol not in stats['protocols_used']:
stats['protocols_used'][protocol] = 0
stats['protocols_used'][protocol] += 1
return stats

8
src/utils/__init__.py Normal file
View File

@ -0,0 +1,8 @@
"""
Utilities package for BestCDN
"""
from .ip_reader import IPListReader
from .results_manager import ResultsManager
__all__ = ['IPListReader', 'ResultsManager']

Binary file not shown.

Binary file not shown.

Binary file not shown.

139
src/utils/ip_reader.py Normal file
View File

@ -0,0 +1,139 @@
"""
IP list file reader utility
"""
import os
import logging
from typing import Set, List
import ipaddress
class IPListReader:
"""Utility class for reading IP lists from files"""
def __init__(self, ip_lists_dir: str = "ip_lists"):
self.ip_lists_dir = ip_lists_dir
self.logger = logging.getLogger("ip_reader")
# Create directory if it doesn't exist
os.makedirs(ip_lists_dir, exist_ok=True)
def read_ip_list(self, provider: str) -> Set[str]:
"""Read IP list for a specific CDN provider"""
filename = f"{provider}.txt"
filepath = os.path.join(self.ip_lists_dir, filename)
if not os.path.exists(filepath):
self.logger.warning(f"IP list file not found: {filepath}")
return set()
ips = set()
try:
with open(filepath, 'r', encoding='utf-8') as f:
for line_num, line in enumerate(f, 1):
line = line.strip()
# Skip empty lines and comments
if not line or line.startswith('#'):
continue
# Handle CIDR notation
if '/' in line:
try:
network = ipaddress.ip_network(line, strict=False)
# Different sampling strategy for IPv4 vs IPv6
if network.version == 6: # IPv6
# For IPv6, sample only first 32 IPs
self.logger.info(f"IPv6 network {line} - sampling first 32 IPs")
count = 0
for ip in network.hosts():
if count >= 32:
break
ips.add(str(ip))
count += 1
else: # IPv4
# For IPv4, include all IPs
if network.num_addresses > 65536: # /16 or larger
self.logger.warning(f"Very large IPv4 network {line} with {network.num_addresses} IPs - this may take time")
for ip in network.hosts():
ips.add(str(ip))
except ValueError as e:
self.logger.warning(f"Invalid CIDR at line {line_num}: {line} - {e}")
else:
# Single IP address
try:
ip = ipaddress.ip_address(line)
ips.add(str(ip))
except ValueError as e:
self.logger.warning(f"Invalid IP at line {line_num}: {line} - {e}")
except Exception as e:
self.logger.error(f"Error reading IP list file {filepath}: {e}")
return set()
self.logger.info(f"Loaded {len(ips)} IPs for {provider} from {filepath}")
return ips
def read_all_ip_lists(self, providers: List[str]) -> dict:
"""Read IP lists for multiple providers"""
all_ips = {}
for provider in providers:
ips = self.read_ip_list(provider)
if ips:
all_ips[provider] = ips
else:
self.logger.warning(f"No IPs loaded for provider: {provider}")
total_ips = sum(len(ips) for ips in all_ips.values())
self.logger.info(f"Loaded total of {total_ips} IPs across {len(all_ips)} providers")
return all_ips
def get_expected_files(self, providers: List[str]) -> List[str]:
"""Get list of expected IP list files"""
return [os.path.join(self.ip_lists_dir, f"{provider}.txt") for provider in providers]
def validate_ip_lists(self, providers: List[str]) -> dict:
"""Validate that IP list files exist and are readable"""
validation_results = {}
for provider in providers:
filename = f"{provider}.txt"
filepath = os.path.join(self.ip_lists_dir, filename)
result = {
'exists': os.path.exists(filepath),
'readable': False,
'ip_count': 0,
'errors': []
}
if result['exists']:
try:
with open(filepath, 'r', encoding='utf-8') as f:
result['readable'] = True
# Quick count of valid IPs
for line in f:
line = line.strip()
if line and not line.startswith('#'):
try:
if '/' in line:
network = ipaddress.ip_network(line, strict=False)
result['ip_count'] += min(network.num_addresses, 5000)
else:
ipaddress.ip_address(line)
result['ip_count'] += 1
except ValueError:
pass # Skip invalid entries for quick validation
except Exception as e:
result['errors'].append(str(e))
validation_results[provider] = result
return validation_results

View File

@ -0,0 +1,297 @@
"""
Results collection and management system
"""
import json
import csv
import os
import logging
from datetime import datetime
from typing import List, Dict, Any
from src.testers.accessibility_tester import TestResult
class ResultsManager:
"""Manager for collecting and saving test results"""
def __init__(self, config):
self.config = config
self.logger = logging.getLogger("results_manager")
# Ensure results directory exists
os.makedirs("results", exist_ok=True)
os.makedirs("logs", exist_ok=True)
def save_results(self, results: List[TestResult], stats: Dict[str, Any]) -> str:
"""Save test results to file"""
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
if self.config.output.format.lower() == "json":
return self._save_json_results(results, stats, timestamp)
elif self.config.output.format.lower() == "csv":
return self._save_csv_results(results, stats, timestamp)
else:
# Default to JSON
return self._save_json_results(results, stats, timestamp)
def _save_json_results(self, results: List[TestResult], stats: Dict[str, Any], timestamp: str) -> str:
"""Save results in JSON format"""
# Convert results to dictionaries
results_data = []
for result in results:
results_data.append({
'ip': result.ip,
'provider': result.provider,
'accessible': result.accessible,
'response_time': result.response_time,
'status_code': result.status_code,
'error': result.error,
'protocol': result.protocol
})
# Prepare complete data structure
output_data = {
'metadata': {
'timestamp': timestamp,
'total_tested': len(results),
'total_accessible': sum(1 for r in results if r.accessible),
'test_config': {
'concurrent_requests': self.config.performance.concurrent_requests,
'request_timeout': self.config.performance.request_timeout,
'batch_size': self.config.performance.batch_size,
'protocols': self.config.testing.protocols
}
},
'statistics': stats,
'results': results_data
}
# Save to file
filename = f"accessibility_results_{timestamp}.json"
filepath = os.path.join("results", filename)
try:
with open(filepath, 'w', encoding='utf-8') as f:
json.dump(output_data, f, indent=2, ensure_ascii=False)
self.logger.info(f"Results saved to {filepath}")
return filepath
except Exception as e:
self.logger.error(f"Error saving JSON results: {e}")
return ""
def _save_csv_results(self, results: List[TestResult], stats: Dict[str, Any], timestamp: str) -> str:
"""Save results in CSV format"""
filename = f"accessibility_results_{timestamp}.csv"
filepath = os.path.join("results", filename)
try:
with open(filepath, 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
# Write header
writer.writerow([
'IP', 'Provider', 'Accessible', 'Response_Time',
'Status_Code', 'Error', 'Protocol'
])
# Write data
for result in results:
writer.writerow([
result.ip,
result.provider,
result.accessible,
result.response_time,
result.status_code or '',
result.error or '',
result.protocol
])
# Also save statistics as separate JSON file
stats_filename = f"statistics_{timestamp}.json"
stats_filepath = os.path.join("results", stats_filename)
with open(stats_filepath, 'w', encoding='utf-8') as f:
json.dump(stats, f, indent=2, ensure_ascii=False)
self.logger.info(f"Results saved to {filepath}")
self.logger.info(f"Statistics saved to {stats_filepath}")
return filepath
except Exception as e:
self.logger.error(f"Error saving CSV results: {e}")
return ""
def save_accessible_ips_only(self, results: List[TestResult]) -> str:
"""Save only accessible IPs in a simple format"""
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"accessible_ips_{timestamp}.txt"
filepath = os.path.join("results", filename)
try:
# Group accessible IPs by provider
accessible_by_provider = {}
for result in results:
if result.accessible:
if result.provider not in accessible_by_provider:
accessible_by_provider[result.provider] = []
accessible_by_provider[result.provider].append(result.ip)
with open(filepath, 'w', encoding='utf-8') as f:
f.write(f"# Accessible CDN IPs - Generated on {datetime.now().isoformat()}\n")
f.write(f"# Total accessible IPs: {sum(len(ips) for ips in accessible_by_provider.values())}\n\n")
for provider, ips in accessible_by_provider.items():
f.write(f"# {provider.upper()} - {len(ips)} accessible IPs\n")
for ip in sorted(ips):
f.write(f"{ip}\n")
f.write("\n")
self.logger.info(f"Accessible IPs saved to {filepath}")
return filepath
except Exception as e:
self.logger.error(f"Error saving accessible IPs: {e}")
return ""
def save_provider_specific_results(self, results: List[TestResult]) -> Dict[str, str]:
"""Save results separated by provider"""
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
saved_files = {}
# Group results by provider
results_by_provider = {}
for result in results:
if result.provider not in results_by_provider:
results_by_provider[result.provider] = []
results_by_provider[result.provider].append(result)
# Save each provider's results
for provider, provider_results in results_by_provider.items():
filename = f"{provider}_results_{timestamp}.json"
filepath = os.path.join("results", filename)
try:
# Calculate provider-specific stats
accessible_count = sum(1 for r in provider_results if r.accessible)
avg_response_time = sum(r.response_time for r in provider_results) / len(provider_results)
provider_data = {
'provider': provider,
'timestamp': timestamp,
'total_tested': len(provider_results),
'total_accessible': accessible_count,
'success_rate': accessible_count / len(provider_results),
'avg_response_time': avg_response_time,
'accessible_ips': [r.ip for r in provider_results if r.accessible],
'detailed_results': [
{
'ip': r.ip,
'accessible': r.accessible,
'response_time': r.response_time,
'status_code': r.status_code,
'error': r.error,
'protocol': r.protocol
} for r in provider_results
]
}
with open(filepath, 'w', encoding='utf-8') as f:
json.dump(provider_data, f, indent=2, ensure_ascii=False)
saved_files[provider] = filepath
self.logger.info(f"{provider} results saved to {filepath}")
except Exception as e:
self.logger.error(f"Error saving {provider} results: {e}")
return saved_files
def load_previous_results(self, filepath: str) -> List[TestResult]:
"""Load previous test results from file"""
try:
with open(filepath, 'r', encoding='utf-8') as f:
data = json.load(f)
results = []
for result_data in data.get('results', []):
result = TestResult(
ip=result_data['ip'],
provider=result_data['provider'],
accessible=result_data['accessible'],
response_time=result_data['response_time'],
status_code=result_data.get('status_code'),
error=result_data.get('error'),
protocol=result_data.get('protocol', 'http')
)
results.append(result)
self.logger.info(f"Loaded {len(results)} previous results from {filepath}")
return results
except Exception as e:
self.logger.error(f"Error loading previous results: {e}")
return []
def generate_summary_report(self, results: List[TestResult], stats: Dict[str, Any]) -> str:
"""Generate a human-readable summary report"""
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"summary_report_{timestamp}.txt"
filepath = os.path.join("results", filename)
try:
with open(filepath, 'w', encoding='utf-8') as f:
f.write("=" * 60 + "\n")
f.write("CDN IP ACCESSIBILITY TEST SUMMARY REPORT\n")
f.write("=" * 60 + "\n")
f.write(f"Generated: {datetime.now().isoformat()}\n\n")
# Overall statistics
f.write("OVERALL STATISTICS:\n")
f.write("-" * 20 + "\n")
f.write(f"Total IPs Tested: {stats['total_tested']}\n")
f.write(f"Total Accessible: {stats['total_accessible']}\n")
f.write(f"Overall Success Rate: {stats['total_accessible']/stats['total_tested']*100:.2f}%\n")
f.write(f"Average Response Time: {stats['avg_response_time']:.3f}s\n\n")
# Provider breakdown
f.write("PROVIDER BREAKDOWN:\n")
f.write("-" * 20 + "\n")
for provider, provider_stats in stats['by_provider'].items():
f.write(f"{provider.upper()}:\n")
f.write(f" Tested: {provider_stats['tested']}\n")
f.write(f" Accessible: {provider_stats['accessible']}\n")
f.write(f" Success Rate: {provider_stats['success_rate']*100:.2f}%\n\n")
# Protocol usage
if stats.get('protocols_used'):
f.write("PROTOCOL USAGE:\n")
f.write("-" * 15 + "\n")
for protocol, count in stats['protocols_used'].items():
f.write(f"{protocol.upper()}: {count} successful connections\n")
f.write("\n")
# Top accessible IPs per provider (first 10)
accessible_by_provider = {}
for result in results:
if result.accessible:
if result.provider not in accessible_by_provider:
accessible_by_provider[result.provider] = []
accessible_by_provider[result.provider].append(result.ip)
f.write("SAMPLE ACCESSIBLE IPs (First 10 per provider):\n")
f.write("-" * 45 + "\n")
for provider, ips in accessible_by_provider.items():
f.write(f"{provider.upper()}:\n")
for ip in sorted(ips)[:10]:
f.write(f" {ip}\n")
if len(ips) > 10:
f.write(f" ... and {len(ips) - 10} more\n")
f.write("\n")
self.logger.info(f"Summary report saved to {filepath}")
return filepath
except Exception as e:
self.logger.error(f"Error generating summary report: {e}")
return ""