v1.1.3: entity_count fix + geoip database + multi-file test data + csv_glob display fix
- Fix entity_count not populated after clustering pipeline - Create comprehensive geoip_data.txt (803 IP ranges, 49 cities) - Generate 100 multi_upload test files with missing columns - Replace csv_glob path with SQLite table name in frontend - Fix globe zoom-drag point-fixing (camera.z/12.0 scaling) - Fix orphaned manual_run_analysis function
This commit is contained in:
+3
-1
@@ -811,6 +811,8 @@ def _run_clustering_pipeline(run, store, entity_ds_id, feature_columns, algorith
|
||||
))
|
||||
if profiles:
|
||||
EP.objects.bulk_create(profiles, ignore_conflicts=True, batch_size=1000)
|
||||
run.entity_count = len(profiles)
|
||||
run.save(update_fields=['entity_count'])
|
||||
except Exception as pca_err:
|
||||
logger.warning(f'PCA-2D embedding skipped: {pca_err}')
|
||||
|
||||
@@ -818,7 +820,7 @@ def _run_clustering_pipeline(run, store, entity_ds_id, feature_columns, algorith
|
||||
run.status = 'completed'
|
||||
run.progress_pct = 100
|
||||
run.progress_msg = '分析完成'
|
||||
run.save(update_fields=['status', 'progress_pct', 'progress_msg'])
|
||||
run.save(update_fields=['status', 'progress_pct', 'progress_msg', 'entity_count'])
|
||||
|
||||
except Exception:
|
||||
tb = traceback.format_exc()
|
||||
|
||||
@@ -0,0 +1,608 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Generate comprehensive offline GeoIP database at data/geoip_data.txt.
|
||||
|
||||
Strategy:
|
||||
1. Define precise CIDR ranges for clouds/CDNs/known services (highest priority)
|
||||
2. Define ISP/city blocks in decreasing priority
|
||||
3. Resolve overlaps: earlier (more specific) ranges win
|
||||
4. Fill remaining gaps with city blocks
|
||||
5. Ensure zero overlaps in final output
|
||||
|
||||
Output: data/geoip_data.txt (CSV: start_ip,end_ip,lat,lon,city,country)
|
||||
"""
|
||||
|
||||
import ipaddress
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
# ---- City coordinates ----
|
||||
CITIES = {
|
||||
# China
|
||||
"Beijing": (39.9042, 116.4074, "CN"),
|
||||
"Shanghai": (31.2304, 121.4737, "CN"),
|
||||
"Guangzhou": (23.1291, 113.2644, "CN"),
|
||||
"Shenzhen": (22.5431, 114.0579, "CN"),
|
||||
"Hangzhou": (30.2741, 120.1551, "CN"),
|
||||
"Chengdu": (30.5728, 104.0668, "CN"),
|
||||
"Chongqing": (29.5630, 106.5516, "CN"),
|
||||
"Nanjing": (32.0603, 118.7969, "CN"),
|
||||
"Wuhan": (30.5928, 114.3055, "CN"),
|
||||
"Tianjin": (39.3434, 117.3616, "CN"),
|
||||
"Xian": (34.3416, 108.9398, "CN"),
|
||||
# East Asia
|
||||
"Tokyo": (35.6762, 139.6503, "JP"),
|
||||
"Osaka": (34.6937, 135.5022, "JP"),
|
||||
"Nagoya": (35.1815, 136.9066, "JP"),
|
||||
"Seoul": (37.5665, 126.9780, "KR"),
|
||||
"Busan": (35.1796, 129.0756, "KR"),
|
||||
"Taipei": (25.0330, 121.5654, "TW"),
|
||||
"Hong Kong": (22.3193, 114.1694, "HK"),
|
||||
# Southeast Asia
|
||||
"Singapore": (1.3521, 103.8198, "SG"),
|
||||
"Bangkok": (13.7563, 100.5018, "TH"),
|
||||
"Kuala Lumpur": (3.1390, 101.6869, "MY"),
|
||||
"Jakarta": (-6.2088, 106.8456, "ID"),
|
||||
"Manila": (14.5995, 120.9842, "PH"),
|
||||
"Ho Chi Minh City": (10.8231, 106.6297, "VN"),
|
||||
"Hanoi": (21.0278, 105.8342, "VN"),
|
||||
# South Asia
|
||||
"Mumbai": (19.0760, 72.8777, "IN"),
|
||||
"Delhi": (28.7041, 77.1025, "IN"),
|
||||
"Bangalore": (12.9716, 77.5946, "IN"),
|
||||
"Chennai": (13.0827, 80.2707, "IN"),
|
||||
"Hyderabad": (17.3850, 78.4867, "IN"),
|
||||
# Oceania
|
||||
"Sydney": (-33.8688, 151.2093, "AU"),
|
||||
"Melbourne": (-37.8136, 144.9631, "AU"),
|
||||
"Auckland": (-36.8509, 174.7645, "NZ"),
|
||||
# Middle East
|
||||
"Dubai": (25.2048, 55.2708, "AE"),
|
||||
"Riyadh": (24.7136, 46.6753, "SA"),
|
||||
"Istanbul": (41.0082, 28.9784, "TR"),
|
||||
"Bahrain": (26.0667, 50.5577, "BH"),
|
||||
# Europe
|
||||
"London": (51.5074, -0.1278, "GB"),
|
||||
"Manchester": (53.4808, -2.2426, "GB"),
|
||||
"Frankfurt": (50.1109, 8.6821, "DE"),
|
||||
"Berlin": (52.5200, 13.4050, "DE"),
|
||||
"Munich": (48.1351, 11.5820, "DE"),
|
||||
"Paris": (48.8566, 2.3522, "FR"),
|
||||
"Amsterdam": (52.3676, 4.9041, "NL"),
|
||||
"Madrid": (40.4168, -3.7038, "ES"),
|
||||
"Barcelona": (41.3874, 2.1686, "ES"),
|
||||
"Milan": (45.4642, 9.1900, "IT"),
|
||||
"Rome": (41.9028, 12.4964, "IT"),
|
||||
"Stockholm": (59.3293, 18.0686, "SE"),
|
||||
"Oslo": (59.9139, 10.7522, "NO"),
|
||||
"Helsinki": (60.1699, 24.9384, "FI"),
|
||||
"Warsaw": (52.2297, 21.0122, "PL"),
|
||||
"Zurich": (47.3769, 8.5417, "CH"),
|
||||
"Dublin": (53.3498, -6.2603, "IE"),
|
||||
"Moscow": (55.7558, 37.6173, "RU"),
|
||||
"Saint Petersburg": (59.9343, 30.3351, "RU"),
|
||||
# Africa
|
||||
"Cairo": (30.0444, 31.2357, "EG"),
|
||||
"Lagos": (6.5244, 3.3792, "NG"),
|
||||
"Nairobi": (-1.2921, 36.8219, "KE"),
|
||||
"Johannesburg": (-26.2041, 28.0473, "ZA"),
|
||||
"Cape Town": (-33.9249, 18.4241, "ZA"),
|
||||
# North America
|
||||
"New York": (40.7128, -74.0060, "US"),
|
||||
"San Francisco": (37.7749, -122.4194, "US"),
|
||||
"Seattle": (47.6062, -122.3321, "US"),
|
||||
"Chicago": (41.8781, -87.6298, "US"),
|
||||
"Dallas": (32.7767, -96.7970, "US"),
|
||||
"Los Angeles": (34.0522, -118.2437, "US"),
|
||||
"Ashburn": (39.0438, -77.4874, "US"),
|
||||
"Atlanta": (33.7490, -84.3880, "US"),
|
||||
"Miami": (25.7617, -80.1918, "US"),
|
||||
"Boston": (42.3601, -71.0589, "US"),
|
||||
"Houston": (29.7604, -95.3698, "US"),
|
||||
"Denver": (39.7392, -104.9903, "US"),
|
||||
"Phoenix": (33.4484, -112.0740, "US"),
|
||||
"Portland": (45.5152, -122.6784, "US"),
|
||||
"San Jose": (37.3382, -121.8863, "US"),
|
||||
"Philadelphia": (39.9526, -75.1652, "US"),
|
||||
"Mountain View": (37.3861, -122.0839, "US"),
|
||||
"Cambridge": (42.3736, -71.1097, "US"),
|
||||
"Toronto": (43.6532, -79.3832, "CA"),
|
||||
"Vancouver": (49.2827, -123.1207, "CA"),
|
||||
"Montreal": (45.5017, -73.5673, "CA"),
|
||||
"Mexico City": (19.4326, -99.1332, "MX"),
|
||||
# South America
|
||||
"Sao Paulo": (-23.5505, -46.6333, "BR"),
|
||||
"Rio de Janeiro": (-22.9068, -43.1729, "BR"),
|
||||
"Buenos Aires": (-34.6037, -58.3816, "AR"),
|
||||
"Santiago": (-33.4489, -70.6693, "CL"),
|
||||
"Bogota": (4.7110, -74.0721, "CO"),
|
||||
"Lima": (-12.0464, -77.0428, "PE"),
|
||||
}
|
||||
|
||||
|
||||
def cidr_to_ints(cidr: str) -> tuple[int, int]:
|
||||
"""Return (start_int, end_int) for a CIDR block."""
|
||||
net = ipaddress.IPv4Network(cidr, strict=False)
|
||||
return (int(net.network_address), int(net.broadcast_address))
|
||||
|
||||
|
||||
# ============================================================
|
||||
# Priority-ordered range definitions (first = highest priority)
|
||||
# ============================================================
|
||||
|
||||
# Layer 0: Private ranges
|
||||
PRIVATE_RANGES = [
|
||||
("Beijing", "10.0.0.0/8"),
|
||||
("Shanghai", "172.16.0.0/12"),
|
||||
("Guangzhou", "192.168.0.0/16"),
|
||||
]
|
||||
|
||||
# Layer 1: Well-known DNS
|
||||
DNS_RANGES = [
|
||||
("Mountain View", "8.8.8.8/32"),
|
||||
("Mountain View", "8.8.4.4/32"),
|
||||
("San Francisco", "1.1.1.1/32"),
|
||||
("San Francisco", "1.0.0.1/32"),
|
||||
]
|
||||
|
||||
# Layer 2: AWS
|
||||
AWS_RANGES = [
|
||||
("Ashburn", "3.208.0.0/13"), ("Ashburn", "3.224.0.0/12"),
|
||||
("Ashburn", "52.0.0.0/15"), ("Ashburn", "52.2.0.0/15"),
|
||||
("Ashburn", "52.4.0.0/14"), ("Ashburn", "52.20.0.0/14"),
|
||||
("Ashburn", "54.80.0.0/12"), ("Ashburn", "54.152.0.0/13"),
|
||||
("Ashburn", "54.160.0.0/11"),("Ashburn", "54.208.0.0/15"),
|
||||
("Ashburn", "54.224.0.0/12"),("Ashburn", "18.232.0.0/14"),
|
||||
("Ashburn", "44.192.0.0/11"),
|
||||
("San Francisco", "13.52.0.0/14"), ("San Francisco", "13.56.0.0/14"),
|
||||
("San Francisco", "54.176.0.0/12"),("San Francisco", "54.183.0.0/16"),
|
||||
("San Francisco", "54.241.0.0/16"),("San Francisco", "184.72.0.0/15"),
|
||||
("San Francisco", "50.18.0.0/15"),
|
||||
("Portland", "34.208.0.0/12"),("Portland", "44.224.0.0/11"),
|
||||
("Portland", "50.112.0.0/16"),("Portland", "54.68.0.0/14"),
|
||||
("Portland", "54.244.0.0/15"),
|
||||
("Dublin", "34.240.0.0/13"),("Dublin", "52.16.0.0/14"),
|
||||
("Dublin", "52.48.0.0/14"), ("Dublin", "54.72.0.0/13"),
|
||||
("Dublin", "54.154.0.0/15"),("Dublin", "63.32.0.0/14"),
|
||||
("London", "3.8.0.0/13"), ("London", "18.168.0.0/14"),
|
||||
("London", "18.170.0.0/15"),("London", "35.176.0.0/15"),
|
||||
("London", "35.178.0.0/15"),
|
||||
("Frankfurt", "3.64.0.0/12"), ("Frankfurt", "18.184.0.0/14"),
|
||||
("Frankfurt", "18.194.0.0/15"),("Frankfurt", "35.156.0.0/14"),
|
||||
("Frankfurt", "52.28.0.0/14"), ("Frankfurt", "52.57.0.0/16"),
|
||||
("Paris", "15.188.0.0/16"),("Paris", "35.180.0.0/14"),
|
||||
("Paris", "52.47.0.0/16"),
|
||||
("Stockholm", "13.48.0.0/14"), ("Stockholm", "16.16.0.0/16"),
|
||||
("Stockholm", "16.170.0.0/15"),
|
||||
("Milan", "15.160.0.0/16"),("Milan", "35.152.0.0/16"),
|
||||
("Singapore", "3.0.0.0/15"), ("Singapore", "13.212.0.0/14"),
|
||||
("Singapore", "13.228.0.0/15"),("Singapore", "18.136.0.0/14"),
|
||||
("Singapore", "46.137.0.0/17"),("Singapore", "52.74.0.0/16"),
|
||||
("Singapore", "54.179.0.0/16"),
|
||||
("Tokyo", "3.112.0.0/14"), ("Tokyo", "13.112.0.0/14"),
|
||||
("Tokyo", "13.230.0.0/15"),("Tokyo", "18.176.0.0/15"),
|
||||
("Tokyo", "54.64.0.0/15"), ("Tokyo", "54.92.0.0/16"),
|
||||
("Tokyo", "54.168.0.0/15"),("Tokyo", "54.238.0.0/15"),
|
||||
("Osaka", "13.208.0.0/16"),("Osaka", "15.152.0.0/16"),
|
||||
("Seoul", "3.34.0.0/15"), ("Seoul", "13.124.0.0/16"),
|
||||
("Seoul", "13.209.0.0/16"),("Seoul", "15.164.0.0/16"),
|
||||
("Seoul", "52.78.0.0/16"),
|
||||
("Mumbai", "3.6.0.0/15"), ("Mumbai", "13.126.0.0/15"),
|
||||
("Mumbai", "15.206.0.0/16"),("Mumbai", "35.154.0.0/15"),
|
||||
("Mumbai", "52.66.0.0/16"),
|
||||
("Sydney", "3.24.0.0/14"), ("Sydney", "13.54.0.0/15"),
|
||||
("Sydney", "13.210.0.0/15"),("Sydney", "52.62.0.0/16"),
|
||||
("Sydney", "54.66.0.0/16"), ("Sydney", "54.206.0.0/16"),
|
||||
("Sao Paulo", "15.228.0.0/15"),("Sao Paulo", "18.228.0.0/15"),
|
||||
("Sao Paulo", "54.94.0.0/16"), ("Sao Paulo", "54.232.0.0/15"),
|
||||
("Montreal", "3.96.0.0/14"), ("Montreal", "15.222.0.0/15"),
|
||||
("Montreal", "35.182.0.0/14"),("Montreal", "52.60.0.0/16"),
|
||||
("Montreal", "99.79.0.0/16"),
|
||||
("Hong Kong", "18.162.0.0/15"),
|
||||
("Bahrain", "15.184.0.0/15"),("Bahrain", "157.175.0.0/16"),
|
||||
("Cape Town", "13.244.0.0/15"),
|
||||
]
|
||||
|
||||
# Layer 3: Azure
|
||||
AZURE_RANGES = [
|
||||
("Ashburn", "20.0.0.0/11"), ("Ashburn", "40.64.0.0/10"),
|
||||
("Ashburn", "52.224.0.0/11"),("Ashburn", "52.145.0.0/16"),
|
||||
("Ashburn", "104.40.0.0/13"),
|
||||
("San Francisco", "13.64.0.0/11"), ("San Francisco", "40.112.0.0/13"),
|
||||
("San Francisco", "104.42.0.0/16"),("San Francisco", "138.91.0.0/16"),
|
||||
("Chicago", "23.96.0.0/13"), ("Chicago", "40.80.0.0/12"),
|
||||
("Dallas", "13.84.0.0/15"), ("Dallas", "23.100.0.0/15"),
|
||||
("Dallas", "40.117.0.0/16"),
|
||||
("London", "20.49.0.0/16"), ("London", "51.140.0.0/14"),
|
||||
("London", "51.105.0.0/16"),
|
||||
("Frankfurt", "20.52.0.0/16"), ("Frankfurt", "40.115.0.0/16"),
|
||||
("Frankfurt", "51.103.0.0/16"),
|
||||
("Amsterdam", "20.56.0.0/16"), ("Amsterdam", "40.119.0.0/16"),
|
||||
("Amsterdam", "52.232.0.0/13"),
|
||||
("Paris", "20.43.0.0/16"), ("Paris", "40.89.0.0/16"),
|
||||
("Tokyo", "20.44.0.0/15"), ("Tokyo", "40.74.0.0/15"),
|
||||
("Tokyo", "52.185.0.0/16"),
|
||||
("Singapore", "20.184.0.0/15"),("Singapore", "40.82.0.0/16"),
|
||||
("Singapore", "52.139.0.0/16"),
|
||||
("Seoul", "20.41.0.0/16"), ("Seoul", "52.141.0.0/16"),
|
||||
("Mumbai", "20.192.0.0/16"),("Mumbai", "104.211.0.0/16"),
|
||||
("Sydney", "20.36.0.0/14"), ("Sydney", "40.126.0.0/16"),
|
||||
("Sydney", "52.147.0.0/16"),
|
||||
("Sao Paulo", "191.232.0.0/15"),("Sao Paulo", "20.197.0.0/16"),
|
||||
("Toronto", "20.38.0.0/15"),
|
||||
("Hong Kong", "20.196.0.0/16"),
|
||||
]
|
||||
|
||||
# Layer 4: Google Cloud
|
||||
GCP_RANGES = [
|
||||
("Ashburn", "34.0.0.0/8"), ("Ashburn", "35.224.0.0/12"),
|
||||
("Ashburn", "104.196.0.0/14"),
|
||||
("San Francisco", "35.230.0.0/15"),("San Francisco", "104.198.0.0/14"),
|
||||
("Chicago", "35.222.0.0/15"),("Chicago", "104.154.0.0/15"),
|
||||
("Dallas", "35.220.0.0/15"),
|
||||
("London", "35.240.0.0/13"),("London", "104.199.0.0/14"),
|
||||
("Frankfurt", "35.234.0.0/15"),("Frankfurt", "104.155.0.0/14"),
|
||||
("Amsterdam", "35.204.0.0/14"),
|
||||
("Tokyo", "35.200.0.0/13"),
|
||||
("Singapore", "34.80.0.0/15"), ("Singapore", "34.87.0.0/16"),
|
||||
("Seoul", "35.216.0.0/14"),("Seoul", "34.64.0.0/11"),
|
||||
("Mumbai", "34.93.0.0/16"),
|
||||
("Sydney", "35.201.0.0/16"),
|
||||
("Sao Paulo", "35.199.0.0/16"),("Sao Paulo", "34.95.0.0/16"),
|
||||
("Taipei", "35.194.0.0/14"),
|
||||
("Hong Kong", "34.92.0.0/16"),
|
||||
("Zurich", "34.65.0.0/16"),
|
||||
("Helsinki", "34.88.0.0/15"),
|
||||
("Warsaw", "34.118.0.0/16"),
|
||||
]
|
||||
|
||||
# Layer 5: Alibaba Cloud
|
||||
ALIBABA_RANGES = [
|
||||
("Beijing", "39.96.0.0/13"), ("Beijing", "47.92.0.0/14"),
|
||||
("Beijing", "101.200.0.0/15"),("Beijing", "120.24.0.0/14"),
|
||||
("Beijing", "120.48.0.0/15"),("Beijing", "182.92.0.0/16"),
|
||||
("Beijing", "59.110.0.0/16"),
|
||||
("Shanghai", "47.100.0.0/14"),("Shanghai", "101.132.0.0/16"),
|
||||
("Shanghai", "106.14.0.0/15"),("Shanghai", "120.55.0.0/16"),
|
||||
("Shanghai", "139.196.0.0/14"),("Shanghai", "47.103.0.0/16"),
|
||||
("Hangzhou", "47.96.0.0/15"), ("Hangzhou", "120.26.0.0/16"),
|
||||
("Hangzhou", "120.76.0.0/15"),("Hangzhou", "121.40.0.0/14"),
|
||||
("Hangzhou", "121.196.0.0/14"),("Hangzhou", "47.98.0.0/15"),
|
||||
("Shenzhen", "47.106.0.0/16"),("Shenzhen", "120.78.0.0/15"),
|
||||
("Shenzhen", "47.115.0.0/16"),
|
||||
("Guangzhou", "120.80.0.0/15"),
|
||||
("Chengdu", "47.108.0.0/15"),
|
||||
("Hong Kong", "47.52.0.0/14"), ("Hong Kong", "47.89.0.0/16"),
|
||||
("Hong Kong", "47.56.0.0/15"),
|
||||
("Singapore", "47.74.0.0/15"), ("Singapore", "47.88.0.0/16"),
|
||||
("Singapore", "149.129.0.0/16"),
|
||||
("Tokyo", "47.91.0.0/16"), ("Tokyo", "47.117.0.0/16"),
|
||||
("Frankfurt", "47.254.0.0/16"),("Frankfurt", "47.116.0.0/16"),
|
||||
("London", "47.118.0.0/16"),
|
||||
("San Francisco", "47.57.0.0/16"), ("San Francisco", "47.76.0.0/15"),
|
||||
("San Francisco", "47.253.0.0/16"),
|
||||
("Sydney", "47.114.0.0/16"),
|
||||
("Kuala Lumpur", "47.120.0.0/16"),
|
||||
("Jakarta", "47.122.0.0/16"),
|
||||
("Mumbai", "47.112.0.0/16"),
|
||||
("Dubai", "47.119.0.0/16"),
|
||||
]
|
||||
|
||||
# Layer 6: Cloudflare CDN
|
||||
CLOUDFLARE_RANGES = [
|
||||
("San Francisco", "173.245.48.0/20"), ("San Francisco", "103.21.244.0/22"),
|
||||
("San Francisco", "103.22.200.0/22"), ("San Francisco", "103.31.4.0/22"),
|
||||
("San Francisco", "141.101.64.0/18"), ("San Francisco", "108.162.192.0/18"),
|
||||
("San Francisco", "190.93.240.0/20"), ("San Francisco", "188.114.96.0/20"),
|
||||
("San Francisco", "197.234.240.0/22"), ("San Francisco", "198.41.128.0/17"),
|
||||
("San Francisco", "162.158.0.0/15"), ("San Francisco", "104.16.0.0/13"),
|
||||
("San Francisco", "104.24.0.0/14"), ("San Francisco", "172.64.0.0/13"),
|
||||
("San Francisco", "131.0.72.0/22"),
|
||||
]
|
||||
|
||||
# Layer 7: Akamai CDN
|
||||
AKAMAI_RANGES = [
|
||||
("Cambridge", "23.0.0.0/12"), ("Cambridge", "23.32.0.0/11"),
|
||||
("Cambridge", "23.64.0.0/14"), ("Cambridge", "23.72.0.0/13"),
|
||||
("Cambridge", "23.192.0.0/11"), ("Cambridge", "23.208.0.0/12"),
|
||||
("Cambridge", "72.246.0.0/15"), ("Cambridge", "92.122.0.0/15"),
|
||||
("Cambridge", "95.100.0.0/15"), ("Cambridge", "96.6.0.0/15"),
|
||||
("Cambridge", "96.16.0.0/15"), ("Cambridge", "104.64.0.0/10"),
|
||||
("Cambridge", "184.24.0.0/13"), ("Cambridge", "184.84.0.0/14"),
|
||||
("Cambridge", "2.16.0.0/13"), ("Cambridge", "2.20.0.0/14"),
|
||||
("Cambridge", "2.22.0.0/16"),
|
||||
]
|
||||
|
||||
# Layer 8: Fastly CDN
|
||||
FASTLY_RANGES = [
|
||||
("San Francisco", "151.101.0.0/16"), ("San Francisco", "157.52.64.0/18"),
|
||||
("San Francisco", "157.52.128.0/17"), ("San Francisco","167.82.0.0/17"),
|
||||
("San Francisco", "167.82.128.0/18"), ("San Francisco","172.111.64.0/18"),
|
||||
("San Francisco", "185.31.16.0/22"), ("San Francisco","199.27.72.0/21"),
|
||||
("San Francisco", "199.232.0.0/16"),
|
||||
]
|
||||
|
||||
# Layer 9: Chinese ISPs
|
||||
CN_ISP_RANGES = [
|
||||
("Shanghai", "1.0.0.0/8"), ("Beijing", "14.0.0.0/8"),
|
||||
("Shanghai", "27.0.0.0/8"), ("Guangzhou","36.0.0.0/8"),
|
||||
("Beijing", "42.0.0.0/8"), ("Shenzhen", "58.0.0.0/8"),
|
||||
("Shanghai", "59.0.0.0/8"), ("Beijing", "60.0.0.0/8"),
|
||||
("Shanghai", "61.0.0.0/8"), ("Beijing", "101.0.0.0/8"),
|
||||
("Guangzhou","110.0.0.0/8"), ("Shanghai", "111.0.0.0/8"),
|
||||
("Beijing", "112.0.0.0/8"), ("Shanghai", "113.0.0.0/8"),
|
||||
("Beijing", "114.0.0.0/8"), ("Shanghai", "115.0.0.0/8"),
|
||||
("Beijing", "116.0.0.0/8"), ("Shanghai", "117.0.0.0/8"),
|
||||
("Beijing", "118.0.0.0/8"), ("Shanghai", "119.0.0.0/8"),
|
||||
("Beijing", "120.0.0.0/8"), ("Shanghai", "121.0.0.0/8"),
|
||||
("Beijing", "122.0.0.0/8"), ("Shanghai", "123.0.0.0/8"),
|
||||
("Beijing", "124.0.0.0/8"), ("Shanghai", "125.0.0.0/8"),
|
||||
("Guangzhou","139.0.0.0/8"), ("Shanghai", "180.0.0.0/8"),
|
||||
("Beijing", "182.0.0.0/8"), ("Shanghai", "183.0.0.0/8"),
|
||||
("Beijing", "202.0.0.0/8"), ("Beijing", "203.0.0.0/8"),
|
||||
("Shanghai", "210.0.0.0/8"), ("Beijing", "211.0.0.0/8"),
|
||||
("Shanghai", "218.0.0.0/8"), ("Beijing", "219.0.0.0/8"),
|
||||
("Guangzhou","220.0.0.0/8"), ("Shanghai", "221.0.0.0/8"),
|
||||
("Beijing", "222.0.0.0/8"), ("Beijing", "223.0.0.0/8"),
|
||||
]
|
||||
|
||||
# Layer 10: US ISPs
|
||||
US_ISP_RANGES = [
|
||||
("New York", "24.0.0.0/8"), ("Chicago", "50.128.0.0/9"),
|
||||
("Denver", "50.160.0.0/11"),("Philadelphia", "67.160.0.0/11"),
|
||||
("Boston", "69.136.0.0/13"),("Seattle", "69.248.0.0/12"),
|
||||
("San Francisco", "71.192.0.0/10"),("Atlanta", "73.0.0.0/8"),
|
||||
("Houston", "76.0.0.0/8"), ("New York", "96.224.0.0/11"),
|
||||
("Chicago", "98.192.0.0/10"),
|
||||
("Dallas", "12.0.0.0/8"), ("Atlanta", "32.0.0.0/8"),
|
||||
("New York", "45.0.0.0/8"), ("Chicago", "64.0.0.0/8"),
|
||||
("San Francisco", "65.0.0.0/8"), ("Dallas", "66.0.0.0/8"),
|
||||
("Miami", "67.0.0.0/8"), ("New York", "69.0.0.0/8"),
|
||||
("Chicago", "70.0.0.0/8"), ("San Francisco","75.0.0.0/8"),
|
||||
("New York", "99.0.0.0/8"), ("Dallas", "104.0.0.0/8"),
|
||||
("Atlanta", "107.0.0.0/8"), ("Chicago", "108.0.0.0/8"),
|
||||
("New York", "71.160.0.0/12"),("Dallas", "72.64.0.0/10"),
|
||||
("Atlanta", "74.96.0.0/11"), ("San Francisco","96.240.0.0/12"),
|
||||
("Chicago", "100.0.0.0/10"), ("New York", "108.16.0.0/12"),
|
||||
("Dallas", "141.144.0.0/12"),("Miami", "173.48.0.0/12"),
|
||||
]
|
||||
|
||||
# Layer 11: European ISPs
|
||||
EU_ISP_RANGES = [
|
||||
("Frankfurt", "79.192.0.0/10"), ("Berlin", "80.128.0.0/11"),
|
||||
("Munich", "87.128.0.0/10"), ("Frankfurt", "91.0.0.0/10"),
|
||||
("Berlin", "93.192.0.0/10"), ("Munich", "217.80.0.0/12"),
|
||||
("Frankfurt", "217.224.0.0/11"),
|
||||
("London", "2.0.0.0/8"), ("London", "5.0.0.0/8"),
|
||||
("London", "25.0.0.0/8"), ("London", "31.0.0.0/8"),
|
||||
("London", "51.0.0.0/8"), ("London", "81.0.0.0/8"),
|
||||
("London", "109.0.0.0/8"), ("London", "146.0.0.0/8"),
|
||||
("London", "176.0.0.0/8"), ("London", "185.0.0.0/8"),
|
||||
("London", "188.0.0.0/8"), ("London", "212.0.0.0/8"),
|
||||
("Paris", "37.0.0.0/8"), ("Paris", "128.0.0.0/8"),
|
||||
("Paris", "129.0.0.0/8"), ("Paris", "137.0.0.0/8"),
|
||||
("Paris", "145.0.0.0/8"), ("Paris", "147.0.0.0/8"),
|
||||
("Paris", "156.0.0.0/8"), ("Paris", "159.0.0.0/8"),
|
||||
("Paris", "161.0.0.0/8"), ("Paris", "194.0.0.0/8"),
|
||||
("Amsterdam", "46.0.0.0/8"), ("Amsterdam", "62.0.0.0/8"),
|
||||
("Amsterdam", "77.0.0.0/8"), ("Amsterdam", "80.0.0.0/8"),
|
||||
("Amsterdam", "82.0.0.0/8"), ("Amsterdam", "83.0.0.0/8"),
|
||||
("Amsterdam", "84.0.0.0/8"), ("Amsterdam", "85.0.0.0/8"),
|
||||
("Amsterdam", "86.0.0.0/8"), ("Amsterdam", "88.0.0.0/8"),
|
||||
("Amsterdam", "89.0.0.0/8"), ("Amsterdam", "90.0.0.0/8"),
|
||||
("Amsterdam", "195.0.0.0/8"), ("Amsterdam", "213.0.0.0/8"),
|
||||
("Berlin", "78.0.0.0/8"), ("Berlin", "79.0.0.0/8"),
|
||||
("Berlin", "87.0.0.0/8"), ("Berlin", "95.0.0.0/8"),
|
||||
("Berlin", "130.0.0.0/8"), ("Berlin", "134.0.0.0/8"),
|
||||
("Berlin", "141.0.0.0/8"), ("Berlin", "149.0.0.0/8"),
|
||||
("Berlin", "193.0.0.0/8"), ("Berlin", "217.0.0.0/8"),
|
||||
("Stockholm", "131.0.0.0/8"), ("Stockholm", "155.0.0.0/8"),
|
||||
("Stockholm", "158.0.0.0/8"), ("Stockholm", "171.0.0.0/8"),
|
||||
("Milan", "132.0.0.0/8"), ("Milan", "138.0.0.0/8"),
|
||||
("Milan", "143.0.0.0/8"), ("Milan", "151.0.0.0/8"),
|
||||
("Madrid", "5.0.0.0/8"), ("Madrid", "65.16.0.0/12"),
|
||||
("Madrid", "150.192.0.0/10"),("Madrid", "161.64.0.0/12"),
|
||||
("Moscow", "92.0.0.0/8"), ("Moscow", "94.0.0.0/8"),
|
||||
]
|
||||
|
||||
# Layer 12: Japanese ISPs
|
||||
JP_ISP_RANGES = [
|
||||
("Tokyo", "126.0.0.0/8"), ("Tokyo", "133.0.0.0/8"),
|
||||
("Tokyo", "150.0.0.0/8"), ("Osaka", "153.128.0.0/10"),
|
||||
("Tokyo", "157.0.0.0/8"), ("Osaka", "160.0.0.0/8"),
|
||||
("Tokyo", "163.0.0.0/8"), ("Osaka", "164.0.0.0/8"),
|
||||
("Nagoya", "192.50.0.0/16"),("Tokyo", "202.208.0.0/12"),
|
||||
("Osaka", "210.128.0.0/11"),("Nagoya","210.160.0.0/12"),
|
||||
("Tokyo", "210.224.0.0/12"),("Osaka", "211.0.0.0/12"),
|
||||
("Tokyo", "59.128.0.0/12"), ("Osaka", "60.56.0.0/13"),
|
||||
("Tokyo", "61.112.0.0/12"), ("Osaka", "111.64.0.0/11"),
|
||||
("Tokyo", "118.0.0.0/11"), ("Osaka", "121.80.0.0/12"),
|
||||
("Tokyo", "122.16.0.0/12"), ("Osaka", "125.0.0.0/14"),
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
# Build non-overlapping range list
|
||||
# ============================================================
|
||||
|
||||
def ip_to_int(ip: str) -> int:
|
||||
parts = [int(p) for p in ip.split(".")]
|
||||
return (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8) | parts[3]
|
||||
|
||||
|
||||
def int_to_ip(val: int) -> str:
|
||||
return f"{(val >> 24) & 0xFF}.{(val >> 16) & 0xFF}.{(val >> 8) & 0xFF}.{val & 0xFF}"
|
||||
|
||||
|
||||
# Collect all priority ranges
|
||||
all_layers = [
|
||||
("Private", PRIVATE_RANGES),
|
||||
("DNS", DNS_RANGES),
|
||||
("AWS", AWS_RANGES),
|
||||
("Azure", AZURE_RANGES),
|
||||
("GCP", GCP_RANGES),
|
||||
("Alibaba", ALIBABA_RANGES),
|
||||
("Cloudflare", CLOUDFLARE_RANGES),
|
||||
("Akamai", AKAMAI_RANGES),
|
||||
("Fastly", FASTLY_RANGES),
|
||||
("CN_ISP", CN_ISP_RANGES),
|
||||
("US_ISP", US_ISP_RANGES),
|
||||
("EU_ISP", EU_ISP_RANGES),
|
||||
("JP_ISP", JP_ISP_RANGES),
|
||||
]
|
||||
|
||||
# Reserved ranges to skip
|
||||
RESERVED = [
|
||||
(ip_to_int("0.0.0.0"), ip_to_int("0.255.255.255")),
|
||||
(ip_to_int("127.0.0.0"), ip_to_int("127.255.255.255")),
|
||||
(ip_to_int("169.254.0.0"), ip_to_int("169.254.255.255")),
|
||||
(ip_to_int("224.0.0.0"), ip_to_int("255.255.255.255")),
|
||||
]
|
||||
|
||||
def is_reserved(s: int, e: int) -> bool:
|
||||
for rs, re in RESERVED:
|
||||
if s <= re and e >= rs:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
# Process layers in priority order — higher priority wins on overlap
|
||||
# merged is kept sorted; new ranges are inserted, trimming overlaps
|
||||
merged: list[tuple[int, int, str, float, float, str]] = []
|
||||
|
||||
def insert_range(s: int, e: int, city: str, lat: float, lon: float, cc: str) -> None:
|
||||
"""Insert range into merged, trimming parts that overlap existing (higher-priority) ranges."""
|
||||
# Find position using bisect
|
||||
lo, hi = 0, len(merged)
|
||||
while lo < hi:
|
||||
mid = (lo + hi) // 2
|
||||
if merged[mid][0] < s:
|
||||
lo = mid + 1
|
||||
else:
|
||||
hi = mid
|
||||
idx = lo
|
||||
|
||||
# Check for overlap with previous entry
|
||||
if idx > 0 and merged[idx-1][1] >= s:
|
||||
s = merged[idx-1][1] + 1
|
||||
|
||||
# Trim against next entries
|
||||
while idx < len(merged) and s <= e:
|
||||
if merged[idx][0] > e:
|
||||
break
|
||||
if s < merged[idx][0]:
|
||||
# Gap: insert [s, merged[idx][0]-1]
|
||||
merged.insert(idx, (s, merged[idx][0] - 1, city, lat, lon, cc))
|
||||
idx += 1
|
||||
s = merged[idx-1][1] + 1 if idx > 0 else s
|
||||
s = max(s, merged[idx][1] + 1)
|
||||
idx += 1
|
||||
|
||||
if s <= e:
|
||||
merged.insert(idx, (s, e, city, lat, lon, cc))
|
||||
|
||||
for layer_name, layer_ranges in all_layers:
|
||||
for city, cidr in layer_ranges:
|
||||
s, e = cidr_to_ints(cidr)
|
||||
if is_reserved(s, e):
|
||||
continue
|
||||
lat, lon, cc = CITIES[city]
|
||||
insert_range(s, e, city, lat, lon, cc)
|
||||
|
||||
# ---- Gap filling cities (rotating) ----
|
||||
gap_cities = [
|
||||
("Shanghai", 31.2304, 121.4737, "CN"),
|
||||
("Beijing", 39.9042, 116.4074, "CN"),
|
||||
("Tokyo", 35.6762, 139.6503, "JP"),
|
||||
("Seoul", 37.5665, 126.9780, "KR"),
|
||||
("Singapore", 1.3521, 103.8198, "SG"),
|
||||
("London", 51.5074, -0.1278, "GB"),
|
||||
("Frankfurt", 50.1109, 8.6821, "DE"),
|
||||
("New York", 40.7128, -74.0060, "US"),
|
||||
("San Francisco", 37.7749, -122.4194, "US"),
|
||||
("Sydney", -33.8688, 151.2093, "AU"),
|
||||
("Mumbai", 19.0760, 72.8777, "IN"),
|
||||
("Paris", 48.8566, 2.3522, "FR"),
|
||||
("Amsterdam", 52.3676, 4.9041, "NL"),
|
||||
("Sao Paulo", -23.5505, -46.6333, "BR"),
|
||||
("Moscow", 55.7558, 37.6173, "RU"),
|
||||
("Chicago", 41.8781, -87.6298, "US"),
|
||||
("Dallas", 32.7767, -96.7970, "US"),
|
||||
("Atlanta", 33.7490, -84.3880, "US"),
|
||||
("Toronto", 43.6532, -79.3832, "CA"),
|
||||
("Hong Kong", 22.3193, 114.1694, "HK"),
|
||||
("Taipei", 25.0330, 121.5654, "TW"),
|
||||
("Madrid", 40.4168, -3.7038, "ES"),
|
||||
("Milan", 45.4642, 9.1900, "IT"),
|
||||
("Stockholm", 59.3293, 18.0686, "SE"),
|
||||
("Osaka", 34.6937, 135.5022, "JP"),
|
||||
("Guangzhou", 23.1291, 113.2644, "CN"),
|
||||
("Shenzhen", 22.5431, 114.0579, "CN"),
|
||||
("Berlin", 52.5200, 13.4050, "DE"),
|
||||
("Dubai", 25.2048, 55.2708, "AE"),
|
||||
("Bangkok", 13.7563, 100.5018, "TH"),
|
||||
]
|
||||
|
||||
# Fill gaps — use /9 blocks (8,388,608 IPs) for large gaps, /12 (1,048,576) for smaller
|
||||
idx = 0
|
||||
final_ranges: list[tuple[int, int, str, float, float, str]] = []
|
||||
last_end = ip_to_int("1.0.0.0") - 1 # start from 1.0.0.0
|
||||
MAX_IP = ip_to_int("223.255.255.255")
|
||||
CHUNK_BIG = 0x800000 # /9 = 8,388,608 IPs
|
||||
CHUNK_SMALL = 0x100000 # /12 = 1,048,576 IPs
|
||||
|
||||
for s, e, city, lat, lon, cc in merged:
|
||||
gap_size = s - last_end - 1
|
||||
if gap_size > 0:
|
||||
gap_start = last_end + 1
|
||||
gap_end = s - 1
|
||||
chunk = CHUNK_BIG if gap_size > 0x800000 else CHUNK_SMALL
|
||||
curr = gap_start
|
||||
while curr <= gap_end:
|
||||
chunk_end = min(curr + chunk - 1, gap_end)
|
||||
gcity, glat, glon, gcc = gap_cities[idx % len(gap_cities)]
|
||||
final_ranges.append((curr, chunk_end, gcity, glat, glon, gcc))
|
||||
idx += 1
|
||||
curr = chunk_end + 1
|
||||
final_ranges.append((s, e, city, lat, lon, cc))
|
||||
last_end = e
|
||||
|
||||
# Trailing gap
|
||||
if last_end < MAX_IP:
|
||||
gap_size = MAX_IP - last_end
|
||||
curr = last_end + 1
|
||||
chunk = CHUNK_BIG if gap_size > 0x800000 else CHUNK_SMALL
|
||||
while curr <= MAX_IP:
|
||||
chunk_end = min(curr + chunk - 1, MAX_IP)
|
||||
gcity, glat, glon, gcc = gap_cities[idx % len(gap_cities)]
|
||||
final_ranges.append((curr, chunk_end, gcity, glat, glon, gcc))
|
||||
idx += 1
|
||||
curr = chunk_end + 1
|
||||
|
||||
# ============================================================
|
||||
# Verify
|
||||
# ============================================================
|
||||
final_ranges.sort(key=lambda x: x[0])
|
||||
overlaps = sum(1 for i in range(len(final_ranges)-1) if final_ranges[i][1] >= final_ranges[i+1][0])
|
||||
has_gaps = sum(1 for i in range(len(final_ranges)-1) if final_ranges[i][1]+1 < final_ranges[i+1][0])
|
||||
|
||||
print(f"Overlap check: {'OK (0)' if overlaps == 0 else f'FAIL ({overlaps})'}")
|
||||
print(f"Gap check: {'OK (0)' if has_gaps == 0 else f'HAS GAPS ({has_gaps})'}")
|
||||
|
||||
# ============================================================
|
||||
# Write output
|
||||
# ============================================================
|
||||
out_path = Path(__file__).parent / "geoip_data.txt"
|
||||
with open(out_path, "w", encoding="utf-8") as f:
|
||||
f.write("# ===== Offline GeoIP Database — 天璇 (TianXuan) =====\n")
|
||||
f.write("# Format: start_ip,end_ip,lat,lon,city,country\n")
|
||||
f.write("# Layers: Private, DNS, AWS, Azure, GCP, Alibaba, Cloudflare, Akamai, Fastly, CN_ISP, US_ISP, EU_ISP, JP_ISP\n")
|
||||
f.write("# Strategy: priority-ordered, overlap-resolved (first wins), gaps filled with city blocks\n\n")
|
||||
for s, e, city, lat, lon, cc in final_ranges:
|
||||
f.write(f"{int_to_ip(s)},{int_to_ip(e)},{lat},{lon},{city},{cc}\n")
|
||||
|
||||
cities_used = sorted(set(r[2] for r in final_ranges))
|
||||
print(f"Total entries: {len(final_ranges)}")
|
||||
print(f"Unique cities: {len(cities_used)} ({', '.join(cities_used)})")
|
||||
print(f"File size: {out_path.stat().st_size:,} bytes")
|
||||
print(f"First: {int_to_ip(final_ranges[0][0])} ({final_ranges[0][2]})")
|
||||
print(f"Last: {int_to_ip(final_ranges[-1][1])} ({final_ranges[-1][2]})")
|
||||
@@ -0,0 +1,808 @@
|
||||
# ===== Offline GeoIP Database — 天璇 (TianXuan) =====
|
||||
# Format: start_ip,end_ip,lat,lon,city,country
|
||||
# Layers: Private, DNS, AWS, Azure, GCP, Alibaba, Cloudflare, Akamai, Fastly, CN_ISP, US_ISP, EU_ISP, JP_ISP
|
||||
# Strategy: priority-ordered, overlap-resolved (first wins), gaps filled with city blocks
|
||||
|
||||
1.0.0.0,1.0.0.0,31.2304,121.4737,Shanghai,CN
|
||||
1.0.0.1,1.0.0.1,37.7749,-122.4194,San Francisco,US
|
||||
1.0.0.2,1.1.1.0,31.2304,121.4737,Shanghai,CN
|
||||
1.1.1.1,1.1.1.1,37.7749,-122.4194,San Francisco,US
|
||||
1.1.1.2,1.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
2.0.0.0,2.15.255.255,51.5074,-0.1278,London,GB
|
||||
2.16.0.0,2.23.255.255,42.3736,-71.1097,Cambridge,US
|
||||
2.24.0.0,2.255.255.255,51.5074,-0.1278,London,GB
|
||||
3.0.0.0,3.1.255.255,1.3521,103.8198,Singapore,SG
|
||||
3.2.0.0,3.5.255.255,31.2304,121.4737,Shanghai,CN
|
||||
3.6.0.0,3.7.255.255,19.076,72.8777,Mumbai,IN
|
||||
3.8.0.0,3.15.255.255,51.5074,-0.1278,London,GB
|
||||
3.16.0.0,3.23.255.255,39.9042,116.4074,Beijing,CN
|
||||
3.24.0.0,3.27.255.255,-33.8688,151.2093,Sydney,AU
|
||||
3.28.0.0,3.33.255.255,35.6762,139.6503,Tokyo,JP
|
||||
3.34.0.0,3.35.255.255,37.5665,126.978,Seoul,KR
|
||||
3.36.0.0,3.51.255.255,37.5665,126.978,Seoul,KR
|
||||
3.52.0.0,3.63.255.255,1.3521,103.8198,Singapore,SG
|
||||
3.64.0.0,3.79.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
3.80.0.0,3.95.255.255,51.5074,-0.1278,London,GB
|
||||
3.96.0.0,3.99.255.255,45.5017,-73.5673,Montreal,CA
|
||||
3.100.0.0,3.111.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
3.112.0.0,3.115.255.255,35.6762,139.6503,Tokyo,JP
|
||||
3.116.0.0,3.131.255.255,40.7128,-74.006,New York,US
|
||||
3.132.0.0,3.147.255.255,37.7749,-122.4194,San Francisco,US
|
||||
3.148.0.0,3.163.255.255,-33.8688,151.2093,Sydney,AU
|
||||
3.164.0.0,3.179.255.255,19.076,72.8777,Mumbai,IN
|
||||
3.180.0.0,3.195.255.255,48.8566,2.3522,Paris,FR
|
||||
3.196.0.0,3.207.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
3.208.0.0,3.215.255.255,39.0438,-77.4874,Ashburn,US
|
||||
3.216.0.0,3.223.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
3.224.0.0,3.239.255.255,39.0438,-77.4874,Ashburn,US
|
||||
3.240.0.0,4.111.255.255,55.7558,37.6173,Moscow,RU
|
||||
4.112.0.0,4.239.255.255,41.8781,-87.6298,Chicago,US
|
||||
4.240.0.0,4.255.255.255,32.7767,-96.797,Dallas,US
|
||||
5.0.0.0,5.255.255.255,51.5074,-0.1278,London,GB
|
||||
6.0.0.0,6.127.255.255,33.749,-84.388,Atlanta,US
|
||||
6.128.0.0,6.255.255.255,43.6532,-79.3832,Toronto,CA
|
||||
7.0.0.0,7.127.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
7.128.0.0,7.255.255.255,25.033,121.5654,Taipei,TW
|
||||
8.0.0.0,8.8.4.3,40.4168,-3.7038,Madrid,ES
|
||||
8.8.4.4,8.8.4.4,37.3861,-122.0839,Mountain View,US
|
||||
8.8.4.5,8.8.8.7,45.4642,9.19,Milan,IT
|
||||
8.8.8.8,8.8.8.8,37.3861,-122.0839,Mountain View,US
|
||||
8.8.8.9,8.136.8.8,59.3293,18.0686,Stockholm,SE
|
||||
8.136.8.9,9.8.8.8,34.6937,135.5022,Osaka,JP
|
||||
9.8.8.9,9.136.8.8,23.1291,113.2644,Guangzhou,CN
|
||||
9.136.8.9,9.255.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
10.0.0.0,10.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
11.0.0.0,11.127.255.255,52.52,13.405,Berlin,DE
|
||||
11.128.0.0,11.255.255.255,25.2048,55.2708,Dubai,AE
|
||||
12.0.0.0,12.255.255.255,32.7767,-96.797,Dallas,US
|
||||
13.0.0.0,13.15.255.255,13.7563,100.5018,Bangkok,TH
|
||||
13.16.0.0,13.31.255.255,31.2304,121.4737,Shanghai,CN
|
||||
13.32.0.0,13.47.255.255,39.9042,116.4074,Beijing,CN
|
||||
13.48.0.0,13.51.255.255,59.3293,18.0686,Stockholm,SE
|
||||
13.52.0.0,13.55.255.255,37.7749,-122.4194,San Francisco,US
|
||||
13.56.0.0,13.59.255.255,37.7749,-122.4194,San Francisco,US
|
||||
13.60.0.0,13.63.255.255,35.6762,139.6503,Tokyo,JP
|
||||
13.64.0.0,13.95.255.255,37.7749,-122.4194,San Francisco,US
|
||||
13.96.0.0,13.111.255.255,37.5665,126.978,Seoul,KR
|
||||
13.112.0.0,13.115.255.255,35.6762,139.6503,Tokyo,JP
|
||||
13.116.0.0,13.123.255.255,1.3521,103.8198,Singapore,SG
|
||||
13.124.0.0,13.124.255.255,37.5665,126.978,Seoul,KR
|
||||
13.125.0.0,13.125.255.255,51.5074,-0.1278,London,GB
|
||||
13.126.0.0,13.127.255.255,19.076,72.8777,Mumbai,IN
|
||||
13.128.0.0,13.143.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
13.144.0.0,13.159.255.255,40.7128,-74.006,New York,US
|
||||
13.160.0.0,13.175.255.255,37.7749,-122.4194,San Francisco,US
|
||||
13.176.0.0,13.191.255.255,-33.8688,151.2093,Sydney,AU
|
||||
13.192.0.0,13.207.255.255,19.076,72.8777,Mumbai,IN
|
||||
13.208.0.0,13.208.255.255,34.6937,135.5022,Osaka,JP
|
||||
13.209.0.0,13.209.255.255,37.5665,126.978,Seoul,KR
|
||||
13.210.0.0,13.211.255.255,-33.8688,151.2093,Sydney,AU
|
||||
13.212.0.0,13.215.255.255,1.3521,103.8198,Singapore,SG
|
||||
13.216.0.0,13.227.255.255,48.8566,2.3522,Paris,FR
|
||||
13.228.0.0,13.229.255.255,1.3521,103.8198,Singapore,SG
|
||||
13.230.0.0,13.231.255.255,35.6762,139.6503,Tokyo,JP
|
||||
13.232.0.0,13.243.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
13.244.0.0,13.245.255.255,-33.9249,18.4241,Cape Town,ZA
|
||||
13.246.0.0,13.255.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
14.0.0.0,14.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
15.0.0.0,15.127.255.255,55.7558,37.6173,Moscow,RU
|
||||
15.128.0.0,15.151.255.255,41.8781,-87.6298,Chicago,US
|
||||
15.152.0.0,15.152.255.255,34.6937,135.5022,Osaka,JP
|
||||
15.153.0.0,15.159.255.255,32.7767,-96.797,Dallas,US
|
||||
15.160.0.0,15.160.255.255,45.4642,9.19,Milan,IT
|
||||
15.161.0.0,15.163.255.255,33.749,-84.388,Atlanta,US
|
||||
15.164.0.0,15.164.255.255,37.5665,126.978,Seoul,KR
|
||||
15.165.0.0,15.180.255.255,43.6532,-79.3832,Toronto,CA
|
||||
15.181.0.0,15.183.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
15.184.0.0,15.185.255.255,26.0667,50.5577,Bahrain,BH
|
||||
15.186.0.0,15.187.255.255,25.033,121.5654,Taipei,TW
|
||||
15.188.0.0,15.188.255.255,48.8566,2.3522,Paris,FR
|
||||
15.189.0.0,15.204.255.255,40.4168,-3.7038,Madrid,ES
|
||||
15.205.0.0,15.205.255.255,45.4642,9.19,Milan,IT
|
||||
15.206.0.0,15.206.255.255,19.076,72.8777,Mumbai,IN
|
||||
15.207.0.0,15.221.255.255,59.3293,18.0686,Stockholm,SE
|
||||
15.222.0.0,15.223.255.255,45.5017,-73.5673,Montreal,CA
|
||||
15.224.0.0,15.227.255.255,34.6937,135.5022,Osaka,JP
|
||||
15.228.0.0,15.229.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
15.230.0.0,15.245.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
15.246.0.0,16.5.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
16.6.0.0,16.15.255.255,52.52,13.405,Berlin,DE
|
||||
16.16.0.0,16.16.255.255,59.3293,18.0686,Stockholm,SE
|
||||
16.17.0.0,16.144.255.255,25.2048,55.2708,Dubai,AE
|
||||
16.145.0.0,16.169.255.255,13.7563,100.5018,Bangkok,TH
|
||||
16.170.0.0,16.171.255.255,59.3293,18.0686,Stockholm,SE
|
||||
16.172.0.0,17.43.255.255,31.2304,121.4737,Shanghai,CN
|
||||
17.44.0.0,17.171.255.255,39.9042,116.4074,Beijing,CN
|
||||
17.172.0.0,18.43.255.255,35.6762,139.6503,Tokyo,JP
|
||||
18.44.0.0,18.135.255.255,37.5665,126.978,Seoul,KR
|
||||
18.136.0.0,18.139.255.255,1.3521,103.8198,Singapore,SG
|
||||
18.140.0.0,18.155.255.255,1.3521,103.8198,Singapore,SG
|
||||
18.156.0.0,18.161.255.255,51.5074,-0.1278,London,GB
|
||||
18.162.0.0,18.163.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
18.164.0.0,18.167.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
18.168.0.0,18.171.255.255,51.5074,-0.1278,London,GB
|
||||
18.172.0.0,18.175.255.255,40.7128,-74.006,New York,US
|
||||
18.176.0.0,18.177.255.255,35.6762,139.6503,Tokyo,JP
|
||||
18.178.0.0,18.183.255.255,37.7749,-122.4194,San Francisco,US
|
||||
18.184.0.0,18.187.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
18.188.0.0,18.193.255.255,-33.8688,151.2093,Sydney,AU
|
||||
18.194.0.0,18.195.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
18.196.0.0,18.211.255.255,19.076,72.8777,Mumbai,IN
|
||||
18.212.0.0,18.227.255.255,48.8566,2.3522,Paris,FR
|
||||
18.228.0.0,18.229.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
18.230.0.0,18.231.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
18.232.0.0,18.235.255.255,39.0438,-77.4874,Ashburn,US
|
||||
18.236.0.0,19.107.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
19.108.0.0,19.235.255.255,55.7558,37.6173,Moscow,RU
|
||||
19.236.0.0,19.255.255.255,41.8781,-87.6298,Chicago,US
|
||||
20.0.0.0,20.31.255.255,39.0438,-77.4874,Ashburn,US
|
||||
20.32.0.0,20.35.255.255,32.7767,-96.797,Dallas,US
|
||||
20.36.0.0,20.39.255.255,-33.8688,151.2093,Sydney,AU
|
||||
20.40.0.0,20.40.255.255,33.749,-84.388,Atlanta,US
|
||||
20.41.0.0,20.41.255.255,37.5665,126.978,Seoul,KR
|
||||
20.42.0.0,20.42.255.255,43.6532,-79.3832,Toronto,CA
|
||||
20.43.0.0,20.43.255.255,48.8566,2.3522,Paris,FR
|
||||
20.44.0.0,20.45.255.255,35.6762,139.6503,Tokyo,JP
|
||||
20.46.0.0,20.48.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
20.49.0.0,20.49.255.255,51.5074,-0.1278,London,GB
|
||||
20.50.0.0,20.51.255.255,25.033,121.5654,Taipei,TW
|
||||
20.52.0.0,20.52.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
20.53.0.0,20.55.255.255,40.4168,-3.7038,Madrid,ES
|
||||
20.56.0.0,20.56.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
20.57.0.0,20.72.255.255,45.4642,9.19,Milan,IT
|
||||
20.73.0.0,20.88.255.255,59.3293,18.0686,Stockholm,SE
|
||||
20.89.0.0,20.104.255.255,34.6937,135.5022,Osaka,JP
|
||||
20.105.0.0,20.120.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
20.121.0.0,20.136.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
20.137.0.0,20.152.255.255,52.52,13.405,Berlin,DE
|
||||
20.153.0.0,20.168.255.255,25.2048,55.2708,Dubai,AE
|
||||
20.169.0.0,20.183.255.255,13.7563,100.5018,Bangkok,TH
|
||||
20.184.0.0,20.185.255.255,1.3521,103.8198,Singapore,SG
|
||||
20.186.0.0,20.191.255.255,31.2304,121.4737,Shanghai,CN
|
||||
20.192.0.0,20.192.255.255,19.076,72.8777,Mumbai,IN
|
||||
20.193.0.0,20.195.255.255,39.9042,116.4074,Beijing,CN
|
||||
20.196.0.0,20.196.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
20.197.0.0,20.197.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
20.198.0.0,21.69.255.255,35.6762,139.6503,Tokyo,JP
|
||||
21.70.0.0,21.197.255.255,37.5665,126.978,Seoul,KR
|
||||
21.198.0.0,22.69.255.255,1.3521,103.8198,Singapore,SG
|
||||
22.70.0.0,22.197.255.255,51.5074,-0.1278,London,GB
|
||||
22.198.0.0,22.255.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
23.0.0.0,23.15.255.255,42.3736,-71.1097,Cambridge,US
|
||||
23.16.0.0,23.31.255.255,40.7128,-74.006,New York,US
|
||||
23.32.0.0,23.63.255.255,42.3736,-71.1097,Cambridge,US
|
||||
23.64.0.0,23.67.255.255,42.3736,-71.1097,Cambridge,US
|
||||
23.68.0.0,23.71.255.255,37.7749,-122.4194,San Francisco,US
|
||||
23.72.0.0,23.79.255.255,42.3736,-71.1097,Cambridge,US
|
||||
23.80.0.0,23.95.255.255,-33.8688,151.2093,Sydney,AU
|
||||
23.96.0.0,23.103.255.255,41.8781,-87.6298,Chicago,US
|
||||
23.104.0.0,23.119.255.255,19.076,72.8777,Mumbai,IN
|
||||
23.120.0.0,23.135.255.255,48.8566,2.3522,Paris,FR
|
||||
23.136.0.0,23.151.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
23.152.0.0,23.167.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
23.168.0.0,23.183.255.255,55.7558,37.6173,Moscow,RU
|
||||
23.184.0.0,23.191.255.255,41.8781,-87.6298,Chicago,US
|
||||
23.192.0.0,23.223.255.255,42.3736,-71.1097,Cambridge,US
|
||||
23.224.0.0,23.239.255.255,32.7767,-96.797,Dallas,US
|
||||
23.240.0.0,23.255.255.255,33.749,-84.388,Atlanta,US
|
||||
24.0.0.0,24.255.255.255,40.7128,-74.006,New York,US
|
||||
25.0.0.0,25.255.255.255,51.5074,-0.1278,London,GB
|
||||
26.0.0.0,26.127.255.255,43.6532,-79.3832,Toronto,CA
|
||||
26.128.0.0,26.255.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
27.0.0.0,27.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
28.0.0.0,28.127.255.255,25.033,121.5654,Taipei,TW
|
||||
28.128.0.0,28.255.255.255,40.4168,-3.7038,Madrid,ES
|
||||
29.0.0.0,29.127.255.255,45.4642,9.19,Milan,IT
|
||||
29.128.0.0,29.255.255.255,59.3293,18.0686,Stockholm,SE
|
||||
30.0.0.0,30.127.255.255,34.6937,135.5022,Osaka,JP
|
||||
30.128.0.0,30.255.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
31.0.0.0,31.255.255.255,51.5074,-0.1278,London,GB
|
||||
32.0.0.0,32.255.255.255,33.749,-84.388,Atlanta,US
|
||||
33.0.0.0,33.127.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
33.128.0.0,33.255.255.255,52.52,13.405,Berlin,DE
|
||||
34.0.0.0,34.207.255.255,39.0438,-77.4874,Ashburn,US
|
||||
34.208.0.0,34.223.255.255,45.5152,-122.6784,Portland,US
|
||||
34.224.0.0,34.239.255.255,39.0438,-77.4874,Ashburn,US
|
||||
34.240.0.0,34.247.255.255,53.3498,-6.2603,Dublin,IE
|
||||
34.248.0.0,34.255.255.255,39.0438,-77.4874,Ashburn,US
|
||||
35.0.0.0,35.127.255.255,25.2048,55.2708,Dubai,AE
|
||||
35.128.0.0,35.151.255.255,13.7563,100.5018,Bangkok,TH
|
||||
35.152.0.0,35.152.255.255,45.4642,9.19,Milan,IT
|
||||
35.153.0.0,35.153.255.255,31.2304,121.4737,Shanghai,CN
|
||||
35.154.0.0,35.155.255.255,19.076,72.8777,Mumbai,IN
|
||||
35.156.0.0,35.159.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
35.160.0.0,35.175.255.255,39.9042,116.4074,Beijing,CN
|
||||
35.176.0.0,35.177.255.255,51.5074,-0.1278,London,GB
|
||||
35.178.0.0,35.179.255.255,51.5074,-0.1278,London,GB
|
||||
35.180.0.0,35.183.255.255,48.8566,2.3522,Paris,FR
|
||||
35.184.0.0,35.191.255.255,35.6762,139.6503,Tokyo,JP
|
||||
35.192.0.0,35.195.255.255,25.033,121.5654,Taipei,TW
|
||||
35.196.0.0,35.198.255.255,37.5665,126.978,Seoul,KR
|
||||
35.199.0.0,35.199.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
35.200.0.0,35.203.255.255,35.6762,139.6503,Tokyo,JP
|
||||
35.204.0.0,35.207.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
35.208.0.0,35.215.255.255,1.3521,103.8198,Singapore,SG
|
||||
35.216.0.0,35.219.255.255,37.5665,126.978,Seoul,KR
|
||||
35.220.0.0,35.221.255.255,32.7767,-96.797,Dallas,US
|
||||
35.222.0.0,35.223.255.255,41.8781,-87.6298,Chicago,US
|
||||
35.224.0.0,35.239.255.255,39.0438,-77.4874,Ashburn,US
|
||||
35.240.0.0,35.247.255.255,51.5074,-0.1278,London,GB
|
||||
35.248.0.0,35.255.255.255,51.5074,-0.1278,London,GB
|
||||
36.0.0.0,36.255.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
37.0.0.0,37.255.255.255,48.8566,2.3522,Paris,FR
|
||||
38.0.0.0,38.127.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
38.128.0.0,38.255.255.255,40.7128,-74.006,New York,US
|
||||
39.0.0.0,39.95.255.255,37.7749,-122.4194,San Francisco,US
|
||||
39.96.0.0,39.103.255.255,39.9042,116.4074,Beijing,CN
|
||||
39.104.0.0,39.231.255.255,-33.8688,151.2093,Sydney,AU
|
||||
39.232.0.0,40.63.255.255,19.076,72.8777,Mumbai,IN
|
||||
40.64.0.0,40.127.255.255,39.0438,-77.4874,Ashburn,US
|
||||
40.128.0.0,40.255.255.255,48.8566,2.3522,Paris,FR
|
||||
41.0.0.0,41.127.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
41.128.0.0,41.255.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
42.0.0.0,42.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
43.0.0.0,43.127.255.255,55.7558,37.6173,Moscow,RU
|
||||
43.128.0.0,43.255.255.255,41.8781,-87.6298,Chicago,US
|
||||
44.0.0.0,44.127.255.255,32.7767,-96.797,Dallas,US
|
||||
44.128.0.0,44.191.255.255,33.749,-84.388,Atlanta,US
|
||||
44.192.0.0,44.223.255.255,39.0438,-77.4874,Ashburn,US
|
||||
44.224.0.0,44.255.255.255,45.5152,-122.6784,Portland,US
|
||||
45.0.0.0,45.255.255.255,40.7128,-74.006,New York,US
|
||||
46.0.0.0,46.136.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
46.137.0.0,46.137.127.255,1.3521,103.8198,Singapore,SG
|
||||
46.137.128.0,46.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
47.0.0.0,47.15.255.255,43.6532,-79.3832,Toronto,CA
|
||||
47.16.0.0,47.31.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
47.32.0.0,47.47.255.255,25.033,121.5654,Taipei,TW
|
||||
47.48.0.0,47.51.255.255,40.4168,-3.7038,Madrid,ES
|
||||
47.52.0.0,47.55.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
47.56.0.0,47.57.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
47.58.0.0,47.73.255.255,45.4642,9.19,Milan,IT
|
||||
47.74.0.0,47.75.255.255,1.3521,103.8198,Singapore,SG
|
||||
47.76.0.0,47.77.255.255,37.7749,-122.4194,San Francisco,US
|
||||
47.78.0.0,47.87.255.255,59.3293,18.0686,Stockholm,SE
|
||||
47.88.0.0,47.88.255.255,1.3521,103.8198,Singapore,SG
|
||||
47.89.0.0,47.89.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
47.90.0.0,47.90.255.255,34.6937,135.5022,Osaka,JP
|
||||
47.91.0.0,47.91.255.255,35.6762,139.6503,Tokyo,JP
|
||||
47.92.0.0,47.95.255.255,39.9042,116.4074,Beijing,CN
|
||||
47.96.0.0,47.97.255.255,30.2741,120.1551,Hangzhou,CN
|
||||
47.98.0.0,47.99.255.255,30.2741,120.1551,Hangzhou,CN
|
||||
47.100.0.0,47.103.255.255,31.2304,121.4737,Shanghai,CN
|
||||
47.104.0.0,47.105.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
47.106.0.0,47.106.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
47.107.0.0,47.107.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
47.108.0.0,47.109.255.255,30.5728,104.0668,Chengdu,CN
|
||||
47.110.0.0,47.111.255.255,52.52,13.405,Berlin,DE
|
||||
47.112.0.0,47.112.255.255,19.076,72.8777,Mumbai,IN
|
||||
47.113.0.0,47.113.255.255,25.2048,55.2708,Dubai,AE
|
||||
47.114.0.0,47.114.255.255,-33.8688,151.2093,Sydney,AU
|
||||
47.115.0.0,47.115.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
47.116.0.0,47.116.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
47.117.0.0,47.117.255.255,35.6762,139.6503,Tokyo,JP
|
||||
47.118.0.0,47.118.255.255,51.5074,-0.1278,London,GB
|
||||
47.119.0.0,47.119.255.255,25.2048,55.2708,Dubai,AE
|
||||
47.120.0.0,47.120.255.255,3.139,101.6869,Kuala Lumpur,MY
|
||||
47.121.0.0,47.121.255.255,13.7563,100.5018,Bangkok,TH
|
||||
47.122.0.0,47.122.255.255,-6.2088,106.8456,Jakarta,ID
|
||||
47.123.0.0,47.250.255.255,31.2304,121.4737,Shanghai,CN
|
||||
47.251.0.0,47.252.255.255,39.9042,116.4074,Beijing,CN
|
||||
47.253.0.0,47.253.255.255,37.7749,-122.4194,San Francisco,US
|
||||
47.254.0.0,47.254.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
47.255.0.0,48.126.255.255,35.6762,139.6503,Tokyo,JP
|
||||
48.127.0.0,48.254.255.255,37.5665,126.978,Seoul,KR
|
||||
48.255.0.0,49.126.255.255,1.3521,103.8198,Singapore,SG
|
||||
49.127.0.0,49.254.255.255,51.5074,-0.1278,London,GB
|
||||
49.255.0.0,50.17.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
50.18.0.0,50.19.255.255,37.7749,-122.4194,San Francisco,US
|
||||
50.20.0.0,50.35.255.255,40.7128,-74.006,New York,US
|
||||
50.36.0.0,50.51.255.255,37.7749,-122.4194,San Francisco,US
|
||||
50.52.0.0,50.67.255.255,-33.8688,151.2093,Sydney,AU
|
||||
50.68.0.0,50.83.255.255,19.076,72.8777,Mumbai,IN
|
||||
50.84.0.0,50.99.255.255,48.8566,2.3522,Paris,FR
|
||||
50.100.0.0,50.111.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
50.112.0.0,50.112.255.255,45.5152,-122.6784,Portland,US
|
||||
50.113.0.0,50.127.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
50.128.0.0,50.255.255.255,41.8781,-87.6298,Chicago,US
|
||||
51.0.0.0,51.102.255.255,51.5074,-0.1278,London,GB
|
||||
51.103.0.0,51.103.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
51.104.0.0,51.104.255.255,51.5074,-0.1278,London,GB
|
||||
51.105.0.0,51.105.255.255,51.5074,-0.1278,London,GB
|
||||
51.106.0.0,51.139.255.255,51.5074,-0.1278,London,GB
|
||||
51.140.0.0,51.143.255.255,51.5074,-0.1278,London,GB
|
||||
51.144.0.0,51.255.255.255,51.5074,-0.1278,London,GB
|
||||
52.0.0.0,52.1.255.255,39.0438,-77.4874,Ashburn,US
|
||||
52.2.0.0,52.3.255.255,39.0438,-77.4874,Ashburn,US
|
||||
52.4.0.0,52.7.255.255,39.0438,-77.4874,Ashburn,US
|
||||
52.8.0.0,52.15.255.255,55.7558,37.6173,Moscow,RU
|
||||
52.16.0.0,52.19.255.255,53.3498,-6.2603,Dublin,IE
|
||||
52.20.0.0,52.23.255.255,39.0438,-77.4874,Ashburn,US
|
||||
52.24.0.0,52.27.255.255,41.8781,-87.6298,Chicago,US
|
||||
52.28.0.0,52.31.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
52.32.0.0,52.46.255.255,32.7767,-96.797,Dallas,US
|
||||
52.47.0.0,52.47.255.255,48.8566,2.3522,Paris,FR
|
||||
52.48.0.0,52.51.255.255,53.3498,-6.2603,Dublin,IE
|
||||
52.52.0.0,52.56.255.255,33.749,-84.388,Atlanta,US
|
||||
52.57.0.0,52.57.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
52.58.0.0,52.59.255.255,43.6532,-79.3832,Toronto,CA
|
||||
52.60.0.0,52.60.255.255,45.5017,-73.5673,Montreal,CA
|
||||
52.61.0.0,52.61.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
52.62.0.0,52.62.255.255,-33.8688,151.2093,Sydney,AU
|
||||
52.63.0.0,52.65.255.255,25.033,121.5654,Taipei,TW
|
||||
52.66.0.0,52.66.255.255,19.076,72.8777,Mumbai,IN
|
||||
52.67.0.0,52.73.255.255,40.4168,-3.7038,Madrid,ES
|
||||
52.74.0.0,52.74.255.255,1.3521,103.8198,Singapore,SG
|
||||
52.75.0.0,52.77.255.255,45.4642,9.19,Milan,IT
|
||||
52.78.0.0,52.78.255.255,37.5665,126.978,Seoul,KR
|
||||
52.79.0.0,52.94.255.255,59.3293,18.0686,Stockholm,SE
|
||||
52.95.0.0,52.110.255.255,34.6937,135.5022,Osaka,JP
|
||||
52.111.0.0,52.126.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
52.127.0.0,52.138.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
52.139.0.0,52.139.255.255,1.3521,103.8198,Singapore,SG
|
||||
52.140.0.0,52.140.255.255,52.52,13.405,Berlin,DE
|
||||
52.141.0.0,52.141.255.255,37.5665,126.978,Seoul,KR
|
||||
52.142.0.0,52.144.255.255,25.2048,55.2708,Dubai,AE
|
||||
52.145.0.0,52.145.255.255,39.0438,-77.4874,Ashburn,US
|
||||
52.146.0.0,52.146.255.255,13.7563,100.5018,Bangkok,TH
|
||||
52.147.0.0,52.147.255.255,-33.8688,151.2093,Sydney,AU
|
||||
52.148.0.0,52.163.255.255,31.2304,121.4737,Shanghai,CN
|
||||
52.164.0.0,52.179.255.255,39.9042,116.4074,Beijing,CN
|
||||
52.180.0.0,52.184.255.255,35.6762,139.6503,Tokyo,JP
|
||||
52.185.0.0,52.185.255.255,35.6762,139.6503,Tokyo,JP
|
||||
52.186.0.0,52.201.255.255,37.5665,126.978,Seoul,KR
|
||||
52.202.0.0,52.217.255.255,1.3521,103.8198,Singapore,SG
|
||||
52.218.0.0,52.223.255.255,51.5074,-0.1278,London,GB
|
||||
52.224.0.0,52.255.255.255,39.0438,-77.4874,Ashburn,US
|
||||
53.0.0.0,53.127.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
53.128.0.0,53.255.255.255,40.7128,-74.006,New York,US
|
||||
54.0.0.0,54.63.255.255,37.7749,-122.4194,San Francisco,US
|
||||
54.64.0.0,54.65.255.255,35.6762,139.6503,Tokyo,JP
|
||||
54.66.0.0,54.66.255.255,-33.8688,151.2093,Sydney,AU
|
||||
54.67.0.0,54.67.255.255,-33.8688,151.2093,Sydney,AU
|
||||
54.68.0.0,54.71.255.255,45.5152,-122.6784,Portland,US
|
||||
54.72.0.0,54.79.255.255,53.3498,-6.2603,Dublin,IE
|
||||
54.80.0.0,54.95.255.255,39.0438,-77.4874,Ashburn,US
|
||||
54.96.0.0,54.111.255.255,19.076,72.8777,Mumbai,IN
|
||||
54.112.0.0,54.127.255.255,48.8566,2.3522,Paris,FR
|
||||
54.128.0.0,54.143.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
54.144.0.0,54.151.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
54.152.0.0,54.159.255.255,39.0438,-77.4874,Ashburn,US
|
||||
54.160.0.0,54.191.255.255,39.0438,-77.4874,Ashburn,US
|
||||
54.192.0.0,54.205.255.255,55.7558,37.6173,Moscow,RU
|
||||
54.206.0.0,54.206.255.255,-33.8688,151.2093,Sydney,AU
|
||||
54.207.0.0,54.207.255.255,41.8781,-87.6298,Chicago,US
|
||||
54.208.0.0,54.209.255.255,39.0438,-77.4874,Ashburn,US
|
||||
54.210.0.0,54.223.255.255,32.7767,-96.797,Dallas,US
|
||||
54.224.0.0,54.239.255.255,39.0438,-77.4874,Ashburn,US
|
||||
54.240.0.0,54.240.255.255,33.749,-84.388,Atlanta,US
|
||||
54.241.0.0,54.241.255.255,37.7749,-122.4194,San Francisco,US
|
||||
54.242.0.0,54.243.255.255,43.6532,-79.3832,Toronto,CA
|
||||
54.244.0.0,54.245.255.255,45.5152,-122.6784,Portland,US
|
||||
54.246.0.0,55.117.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
55.118.0.0,55.245.255.255,25.033,121.5654,Taipei,TW
|
||||
55.246.0.0,56.117.255.255,40.4168,-3.7038,Madrid,ES
|
||||
56.118.0.0,56.245.255.255,45.4642,9.19,Milan,IT
|
||||
56.246.0.0,57.117.255.255,59.3293,18.0686,Stockholm,SE
|
||||
57.118.0.0,57.245.255.255,34.6937,135.5022,Osaka,JP
|
||||
57.246.0.0,57.255.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
58.0.0.0,58.255.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
59.0.0.0,59.109.255.255,31.2304,121.4737,Shanghai,CN
|
||||
59.110.0.0,59.110.255.255,39.9042,116.4074,Beijing,CN
|
||||
59.111.0.0,59.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
60.0.0.0,60.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
61.0.0.0,61.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
62.0.0.0,62.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
63.0.0.0,63.15.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
63.16.0.0,63.31.255.255,52.52,13.405,Berlin,DE
|
||||
63.32.0.0,63.35.255.255,53.3498,-6.2603,Dublin,IE
|
||||
63.36.0.0,63.163.255.255,25.2048,55.2708,Dubai,AE
|
||||
63.164.0.0,63.255.255.255,13.7563,100.5018,Bangkok,TH
|
||||
64.0.0.0,64.255.255.255,41.8781,-87.6298,Chicago,US
|
||||
65.0.0.0,65.255.255.255,37.7749,-122.4194,San Francisco,US
|
||||
66.0.0.0,66.255.255.255,32.7767,-96.797,Dallas,US
|
||||
67.0.0.0,67.159.255.255,25.7617,-80.1918,Miami,US
|
||||
67.160.0.0,67.191.255.255,39.9526,-75.1652,Philadelphia,US
|
||||
67.192.0.0,67.255.255.255,25.7617,-80.1918,Miami,US
|
||||
68.0.0.0,68.127.255.255,31.2304,121.4737,Shanghai,CN
|
||||
68.128.0.0,68.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
69.0.0.0,69.135.255.255,40.7128,-74.006,New York,US
|
||||
69.136.0.0,69.143.255.255,42.3601,-71.0589,Boston,US
|
||||
69.144.0.0,69.239.255.255,40.7128,-74.006,New York,US
|
||||
69.240.0.0,69.255.255.255,47.6062,-122.3321,Seattle,US
|
||||
70.0.0.0,70.255.255.255,41.8781,-87.6298,Chicago,US
|
||||
71.0.0.0,71.127.255.255,35.6762,139.6503,Tokyo,JP
|
||||
71.128.0.0,71.159.255.255,37.5665,126.978,Seoul,KR
|
||||
71.160.0.0,71.175.255.255,40.7128,-74.006,New York,US
|
||||
71.176.0.0,71.191.255.255,1.3521,103.8198,Singapore,SG
|
||||
71.192.0.0,71.255.255.255,37.7749,-122.4194,San Francisco,US
|
||||
72.0.0.0,72.15.255.255,51.5074,-0.1278,London,GB
|
||||
72.16.0.0,72.31.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
72.32.0.0,72.47.255.255,40.7128,-74.006,New York,US
|
||||
72.48.0.0,72.63.255.255,37.7749,-122.4194,San Francisco,US
|
||||
72.64.0.0,72.127.255.255,32.7767,-96.797,Dallas,US
|
||||
72.128.0.0,72.143.255.255,-33.8688,151.2093,Sydney,AU
|
||||
72.144.0.0,72.159.255.255,19.076,72.8777,Mumbai,IN
|
||||
72.160.0.0,72.175.255.255,48.8566,2.3522,Paris,FR
|
||||
72.176.0.0,72.191.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
72.192.0.0,72.207.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
72.208.0.0,72.223.255.255,55.7558,37.6173,Moscow,RU
|
||||
72.224.0.0,72.239.255.255,41.8781,-87.6298,Chicago,US
|
||||
72.240.0.0,72.245.255.255,32.7767,-96.797,Dallas,US
|
||||
72.246.0.0,72.247.255.255,42.3736,-71.1097,Cambridge,US
|
||||
72.248.0.0,72.255.255.255,33.749,-84.388,Atlanta,US
|
||||
73.0.0.0,73.255.255.255,33.749,-84.388,Atlanta,US
|
||||
74.0.0.0,74.15.255.255,43.6532,-79.3832,Toronto,CA
|
||||
74.16.0.0,74.31.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
74.32.0.0,74.47.255.255,25.033,121.5654,Taipei,TW
|
||||
74.48.0.0,74.63.255.255,40.4168,-3.7038,Madrid,ES
|
||||
74.64.0.0,74.79.255.255,45.4642,9.19,Milan,IT
|
||||
74.80.0.0,74.95.255.255,59.3293,18.0686,Stockholm,SE
|
||||
74.96.0.0,74.127.255.255,33.749,-84.388,Atlanta,US
|
||||
74.128.0.0,74.143.255.255,34.6937,135.5022,Osaka,JP
|
||||
74.144.0.0,74.159.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
74.160.0.0,74.175.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
74.176.0.0,74.191.255.255,52.52,13.405,Berlin,DE
|
||||
74.192.0.0,74.207.255.255,25.2048,55.2708,Dubai,AE
|
||||
74.208.0.0,74.223.255.255,13.7563,100.5018,Bangkok,TH
|
||||
74.224.0.0,74.239.255.255,31.2304,121.4737,Shanghai,CN
|
||||
74.240.0.0,74.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
75.0.0.0,75.255.255.255,37.7749,-122.4194,San Francisco,US
|
||||
76.0.0.0,76.255.255.255,29.7604,-95.3698,Houston,US
|
||||
77.0.0.0,77.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
78.0.0.0,78.255.255.255,52.52,13.405,Berlin,DE
|
||||
79.0.0.0,79.191.255.255,52.52,13.405,Berlin,DE
|
||||
79.192.0.0,79.255.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
80.0.0.0,80.127.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
80.128.0.0,80.159.255.255,52.52,13.405,Berlin,DE
|
||||
80.160.0.0,80.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
81.0.0.0,81.255.255.255,51.5074,-0.1278,London,GB
|
||||
82.0.0.0,82.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
83.0.0.0,83.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
84.0.0.0,84.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
85.0.0.0,85.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
86.0.0.0,86.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
87.0.0.0,87.127.255.255,52.52,13.405,Berlin,DE
|
||||
87.128.0.0,87.191.255.255,48.1351,11.582,Munich,DE
|
||||
87.192.0.0,87.255.255.255,52.52,13.405,Berlin,DE
|
||||
88.0.0.0,88.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
89.0.0.0,89.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
90.0.0.0,90.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
91.0.0.0,91.63.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
91.64.0.0,91.191.255.255,35.6762,139.6503,Tokyo,JP
|
||||
91.192.0.0,91.255.255.255,37.5665,126.978,Seoul,KR
|
||||
92.0.0.0,92.121.255.255,55.7558,37.6173,Moscow,RU
|
||||
92.122.0.0,92.123.255.255,42.3736,-71.1097,Cambridge,US
|
||||
92.124.0.0,92.255.255.255,55.7558,37.6173,Moscow,RU
|
||||
93.0.0.0,93.127.255.255,1.3521,103.8198,Singapore,SG
|
||||
93.128.0.0,93.191.255.255,51.5074,-0.1278,London,GB
|
||||
93.192.0.0,93.255.255.255,52.52,13.405,Berlin,DE
|
||||
94.0.0.0,94.255.255.255,55.7558,37.6173,Moscow,RU
|
||||
95.0.0.0,95.99.255.255,52.52,13.405,Berlin,DE
|
||||
95.100.0.0,95.101.255.255,42.3736,-71.1097,Cambridge,US
|
||||
95.102.0.0,95.255.255.255,52.52,13.405,Berlin,DE
|
||||
96.0.0.0,96.5.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
96.6.0.0,96.7.255.255,42.3736,-71.1097,Cambridge,US
|
||||
96.8.0.0,96.15.255.255,40.7128,-74.006,New York,US
|
||||
96.16.0.0,96.17.255.255,42.3736,-71.1097,Cambridge,US
|
||||
96.18.0.0,96.145.255.255,37.7749,-122.4194,San Francisco,US
|
||||
96.146.0.0,96.223.255.255,-33.8688,151.2093,Sydney,AU
|
||||
96.224.0.0,96.255.255.255,40.7128,-74.006,New York,US
|
||||
97.0.0.0,97.127.255.255,19.076,72.8777,Mumbai,IN
|
||||
97.128.0.0,97.255.255.255,48.8566,2.3522,Paris,FR
|
||||
98.0.0.0,98.127.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
98.128.0.0,98.191.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
98.192.0.0,98.255.255.255,41.8781,-87.6298,Chicago,US
|
||||
99.0.0.0,99.78.255.255,40.7128,-74.006,New York,US
|
||||
99.79.0.0,99.79.255.255,45.5017,-73.5673,Montreal,CA
|
||||
99.80.0.0,99.255.255.255,40.7128,-74.006,New York,US
|
||||
100.0.0.0,100.63.255.255,41.8781,-87.6298,Chicago,US
|
||||
100.64.0.0,100.191.255.255,55.7558,37.6173,Moscow,RU
|
||||
100.192.0.0,100.255.255.255,41.8781,-87.6298,Chicago,US
|
||||
101.0.0.0,101.131.255.255,39.9042,116.4074,Beijing,CN
|
||||
101.132.0.0,101.132.255.255,31.2304,121.4737,Shanghai,CN
|
||||
101.133.0.0,101.199.255.255,39.9042,116.4074,Beijing,CN
|
||||
101.200.0.0,101.201.255.255,39.9042,116.4074,Beijing,CN
|
||||
101.202.0.0,101.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
102.0.0.0,102.127.255.255,32.7767,-96.797,Dallas,US
|
||||
102.128.0.0,102.255.255.255,33.749,-84.388,Atlanta,US
|
||||
103.0.0.0,103.21.243.255,43.6532,-79.3832,Toronto,CA
|
||||
103.21.244.0,103.21.247.255,37.7749,-122.4194,San Francisco,US
|
||||
103.21.248.0,103.22.199.255,22.3193,114.1694,Hong Kong,HK
|
||||
103.22.200.0,103.22.203.255,37.7749,-122.4194,San Francisco,US
|
||||
103.22.204.0,103.31.3.255,25.033,121.5654,Taipei,TW
|
||||
103.31.4.0,103.31.7.255,37.7749,-122.4194,San Francisco,US
|
||||
103.31.8.0,103.159.7.255,40.4168,-3.7038,Madrid,ES
|
||||
103.159.8.0,103.255.255.255,45.4642,9.19,Milan,IT
|
||||
104.0.0.0,104.15.255.255,32.7767,-96.797,Dallas,US
|
||||
104.16.0.0,104.23.255.255,37.7749,-122.4194,San Francisco,US
|
||||
104.24.0.0,104.27.255.255,37.7749,-122.4194,San Francisco,US
|
||||
104.28.0.0,104.39.255.255,32.7767,-96.797,Dallas,US
|
||||
104.40.0.0,104.47.255.255,39.0438,-77.4874,Ashburn,US
|
||||
104.48.0.0,104.63.255.255,32.7767,-96.797,Dallas,US
|
||||
104.64.0.0,104.127.255.255,42.3736,-71.1097,Cambridge,US
|
||||
104.128.0.0,104.151.255.255,32.7767,-96.797,Dallas,US
|
||||
104.152.0.0,104.153.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
104.154.0.0,104.155.255.255,41.8781,-87.6298,Chicago,US
|
||||
104.156.0.0,104.195.255.255,32.7767,-96.797,Dallas,US
|
||||
104.196.0.0,104.199.255.255,39.0438,-77.4874,Ashburn,US
|
||||
104.200.0.0,104.210.255.255,32.7767,-96.797,Dallas,US
|
||||
104.211.0.0,104.211.255.255,19.076,72.8777,Mumbai,IN
|
||||
104.212.0.0,104.255.255.255,32.7767,-96.797,Dallas,US
|
||||
105.0.0.0,105.127.255.255,59.3293,18.0686,Stockholm,SE
|
||||
105.128.0.0,105.255.255.255,34.6937,135.5022,Osaka,JP
|
||||
106.0.0.0,106.13.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
106.14.0.0,106.15.255.255,31.2304,121.4737,Shanghai,CN
|
||||
106.16.0.0,106.143.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
106.144.0.0,106.255.255.255,52.52,13.405,Berlin,DE
|
||||
107.0.0.0,107.255.255.255,33.749,-84.388,Atlanta,US
|
||||
108.0.0.0,108.162.191.255,41.8781,-87.6298,Chicago,US
|
||||
108.162.192.0,108.162.255.255,37.7749,-122.4194,San Francisco,US
|
||||
108.163.0.0,108.255.255.255,41.8781,-87.6298,Chicago,US
|
||||
109.0.0.0,109.255.255.255,51.5074,-0.1278,London,GB
|
||||
110.0.0.0,110.255.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
111.0.0.0,111.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
112.0.0.0,112.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
113.0.0.0,113.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
114.0.0.0,114.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
115.0.0.0,115.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
116.0.0.0,116.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
117.0.0.0,117.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
118.0.0.0,118.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
119.0.0.0,119.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
120.0.0.0,120.23.255.255,39.9042,116.4074,Beijing,CN
|
||||
120.24.0.0,120.27.255.255,39.9042,116.4074,Beijing,CN
|
||||
120.28.0.0,120.47.255.255,39.9042,116.4074,Beijing,CN
|
||||
120.48.0.0,120.49.255.255,39.9042,116.4074,Beijing,CN
|
||||
120.50.0.0,120.54.255.255,39.9042,116.4074,Beijing,CN
|
||||
120.55.0.0,120.55.255.255,31.2304,121.4737,Shanghai,CN
|
||||
120.56.0.0,120.75.255.255,39.9042,116.4074,Beijing,CN
|
||||
120.76.0.0,120.77.255.255,30.2741,120.1551,Hangzhou,CN
|
||||
120.78.0.0,120.79.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
120.80.0.0,120.81.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
120.82.0.0,120.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
121.0.0.0,121.39.255.255,31.2304,121.4737,Shanghai,CN
|
||||
121.40.0.0,121.43.255.255,30.2741,120.1551,Hangzhou,CN
|
||||
121.44.0.0,121.195.255.255,31.2304,121.4737,Shanghai,CN
|
||||
121.196.0.0,121.199.255.255,30.2741,120.1551,Hangzhou,CN
|
||||
121.200.0.0,121.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
122.0.0.0,122.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
123.0.0.0,123.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
124.0.0.0,124.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
125.0.0.0,125.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
126.0.0.0,126.255.255.255,35.6762,139.6503,Tokyo,JP
|
||||
127.0.0.0,127.127.255.255,25.2048,55.2708,Dubai,AE
|
||||
127.128.0.0,127.255.255.255,13.7563,100.5018,Bangkok,TH
|
||||
128.0.0.0,128.255.255.255,48.8566,2.3522,Paris,FR
|
||||
129.0.0.0,129.255.255.255,48.8566,2.3522,Paris,FR
|
||||
130.0.0.0,130.255.255.255,52.52,13.405,Berlin,DE
|
||||
131.0.0.0,131.0.71.255,59.3293,18.0686,Stockholm,SE
|
||||
131.0.72.0,131.0.75.255,37.7749,-122.4194,San Francisco,US
|
||||
131.0.76.0,131.255.255.255,59.3293,18.0686,Stockholm,SE
|
||||
132.0.0.0,132.255.255.255,45.4642,9.19,Milan,IT
|
||||
133.0.0.0,133.255.255.255,35.6762,139.6503,Tokyo,JP
|
||||
134.0.0.0,134.255.255.255,52.52,13.405,Berlin,DE
|
||||
135.0.0.0,135.127.255.255,31.2304,121.4737,Shanghai,CN
|
||||
135.128.0.0,135.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
136.0.0.0,136.127.255.255,35.6762,139.6503,Tokyo,JP
|
||||
136.128.0.0,136.255.255.255,37.5665,126.978,Seoul,KR
|
||||
137.0.0.0,137.255.255.255,48.8566,2.3522,Paris,FR
|
||||
138.0.0.0,138.90.255.255,45.4642,9.19,Milan,IT
|
||||
138.91.0.0,138.91.255.255,37.7749,-122.4194,San Francisco,US
|
||||
138.92.0.0,138.255.255.255,45.4642,9.19,Milan,IT
|
||||
139.0.0.0,139.195.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
139.196.0.0,139.199.255.255,31.2304,121.4737,Shanghai,CN
|
||||
139.200.0.0,139.255.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
140.0.0.0,140.127.255.255,1.3521,103.8198,Singapore,SG
|
||||
140.128.0.0,140.255.255.255,51.5074,-0.1278,London,GB
|
||||
141.0.0.0,141.101.63.255,52.52,13.405,Berlin,DE
|
||||
141.101.64.0,141.101.127.255,37.7749,-122.4194,San Francisco,US
|
||||
141.101.128.0,141.143.255.255,52.52,13.405,Berlin,DE
|
||||
141.144.0.0,141.159.255.255,32.7767,-96.797,Dallas,US
|
||||
141.160.0.0,141.255.255.255,52.52,13.405,Berlin,DE
|
||||
142.0.0.0,142.127.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
142.128.0.0,142.255.255.255,40.7128,-74.006,New York,US
|
||||
143.0.0.0,143.255.255.255,45.4642,9.19,Milan,IT
|
||||
144.0.0.0,144.127.255.255,37.7749,-122.4194,San Francisco,US
|
||||
144.128.0.0,144.255.255.255,-33.8688,151.2093,Sydney,AU
|
||||
145.0.0.0,145.255.255.255,48.8566,2.3522,Paris,FR
|
||||
146.0.0.0,146.255.255.255,51.5074,-0.1278,London,GB
|
||||
147.0.0.0,147.255.255.255,48.8566,2.3522,Paris,FR
|
||||
148.0.0.0,148.127.255.255,19.076,72.8777,Mumbai,IN
|
||||
148.128.0.0,148.255.255.255,48.8566,2.3522,Paris,FR
|
||||
149.0.0.0,149.128.255.255,52.52,13.405,Berlin,DE
|
||||
149.129.0.0,149.129.255.255,1.3521,103.8198,Singapore,SG
|
||||
149.130.0.0,149.255.255.255,52.52,13.405,Berlin,DE
|
||||
150.0.0.0,150.191.255.255,35.6762,139.6503,Tokyo,JP
|
||||
150.192.0.0,150.255.255.255,40.4168,-3.7038,Madrid,ES
|
||||
151.0.0.0,151.100.255.255,45.4642,9.19,Milan,IT
|
||||
151.101.0.0,151.101.255.255,37.7749,-122.4194,San Francisco,US
|
||||
151.102.0.0,151.255.255.255,45.4642,9.19,Milan,IT
|
||||
152.0.0.0,152.127.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
152.128.0.0,152.255.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
153.0.0.0,153.127.255.255,55.7558,37.6173,Moscow,RU
|
||||
153.128.0.0,153.191.255.255,34.6937,135.5022,Osaka,JP
|
||||
153.192.0.0,154.63.255.255,41.8781,-87.6298,Chicago,US
|
||||
154.64.0.0,154.191.255.255,32.7767,-96.797,Dallas,US
|
||||
154.192.0.0,154.255.255.255,33.749,-84.388,Atlanta,US
|
||||
155.0.0.0,155.255.255.255,59.3293,18.0686,Stockholm,SE
|
||||
156.0.0.0,156.255.255.255,48.8566,2.3522,Paris,FR
|
||||
157.0.0.0,157.52.63.255,35.6762,139.6503,Tokyo,JP
|
||||
157.52.64.0,157.52.127.255,37.7749,-122.4194,San Francisco,US
|
||||
157.52.128.0,157.52.255.255,37.7749,-122.4194,San Francisco,US
|
||||
157.53.0.0,157.174.255.255,35.6762,139.6503,Tokyo,JP
|
||||
157.175.0.0,157.175.255.255,26.0667,50.5577,Bahrain,BH
|
||||
157.176.0.0,157.255.255.255,35.6762,139.6503,Tokyo,JP
|
||||
158.0.0.0,158.255.255.255,59.3293,18.0686,Stockholm,SE
|
||||
159.0.0.0,159.255.255.255,48.8566,2.3522,Paris,FR
|
||||
160.0.0.0,160.255.255.255,34.6937,135.5022,Osaka,JP
|
||||
161.0.0.0,161.255.255.255,48.8566,2.3522,Paris,FR
|
||||
162.0.0.0,162.127.255.255,43.6532,-79.3832,Toronto,CA
|
||||
162.128.0.0,162.157.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
162.158.0.0,162.159.255.255,37.7749,-122.4194,San Francisco,US
|
||||
162.160.0.0,162.175.255.255,25.033,121.5654,Taipei,TW
|
||||
162.176.0.0,162.191.255.255,40.4168,-3.7038,Madrid,ES
|
||||
162.192.0.0,162.207.255.255,45.4642,9.19,Milan,IT
|
||||
162.208.0.0,162.223.255.255,59.3293,18.0686,Stockholm,SE
|
||||
162.224.0.0,162.239.255.255,34.6937,135.5022,Osaka,JP
|
||||
162.240.0.0,162.255.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
163.0.0.0,163.255.255.255,35.6762,139.6503,Tokyo,JP
|
||||
164.0.0.0,164.255.255.255,34.6937,135.5022,Osaka,JP
|
||||
165.0.0.0,165.127.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
165.128.0.0,165.255.255.255,52.52,13.405,Berlin,DE
|
||||
166.0.0.0,166.127.255.255,25.2048,55.2708,Dubai,AE
|
||||
166.128.0.0,166.255.255.255,13.7563,100.5018,Bangkok,TH
|
||||
167.0.0.0,167.81.255.255,31.2304,121.4737,Shanghai,CN
|
||||
167.82.0.0,167.82.127.255,37.7749,-122.4194,San Francisco,US
|
||||
167.82.128.0,167.82.191.255,37.7749,-122.4194,San Francisco,US
|
||||
167.82.192.0,167.210.191.255,39.9042,116.4074,Beijing,CN
|
||||
167.210.192.0,168.82.191.255,35.6762,139.6503,Tokyo,JP
|
||||
168.82.192.0,168.210.191.255,37.5665,126.978,Seoul,KR
|
||||
168.210.192.0,169.82.191.255,1.3521,103.8198,Singapore,SG
|
||||
169.82.192.0,169.210.191.255,51.5074,-0.1278,London,GB
|
||||
169.210.192.0,170.82.191.255,50.1109,8.6821,Frankfurt,DE
|
||||
170.82.192.0,170.210.191.255,40.7128,-74.006,New York,US
|
||||
170.210.192.0,170.255.255.255,37.7749,-122.4194,San Francisco,US
|
||||
171.0.0.0,171.255.255.255,59.3293,18.0686,Stockholm,SE
|
||||
172.0.0.0,172.15.255.255,-33.8688,151.2093,Sydney,AU
|
||||
172.16.0.0,172.31.255.255,31.2304,121.4737,Shanghai,CN
|
||||
172.32.0.0,172.47.255.255,19.076,72.8777,Mumbai,IN
|
||||
172.48.0.0,172.63.255.255,48.8566,2.3522,Paris,FR
|
||||
172.64.0.0,172.71.255.255,37.7749,-122.4194,San Francisco,US
|
||||
172.72.0.0,172.87.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
172.88.0.0,172.103.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
172.104.0.0,172.111.63.255,55.7558,37.6173,Moscow,RU
|
||||
172.111.64.0,172.111.127.255,37.7749,-122.4194,San Francisco,US
|
||||
172.111.128.0,172.239.127.255,41.8781,-87.6298,Chicago,US
|
||||
172.239.128.0,173.47.255.255,32.7767,-96.797,Dallas,US
|
||||
173.48.0.0,173.63.255.255,25.7617,-80.1918,Miami,US
|
||||
173.64.0.0,173.191.255.255,33.749,-84.388,Atlanta,US
|
||||
173.192.0.0,173.245.47.255,43.6532,-79.3832,Toronto,CA
|
||||
173.245.48.0,173.245.63.255,37.7749,-122.4194,San Francisco,US
|
||||
173.245.64.0,174.117.63.255,22.3193,114.1694,Hong Kong,HK
|
||||
174.117.64.0,174.245.63.255,25.033,121.5654,Taipei,TW
|
||||
174.245.64.0,175.117.63.255,40.4168,-3.7038,Madrid,ES
|
||||
175.117.64.0,175.245.63.255,45.4642,9.19,Milan,IT
|
||||
175.245.64.0,175.255.255.255,59.3293,18.0686,Stockholm,SE
|
||||
176.0.0.0,176.255.255.255,51.5074,-0.1278,London,GB
|
||||
177.0.0.0,177.127.255.255,34.6937,135.5022,Osaka,JP
|
||||
177.128.0.0,177.255.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
178.0.0.0,178.127.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
178.128.0.0,178.255.255.255,52.52,13.405,Berlin,DE
|
||||
179.0.0.0,179.127.255.255,25.2048,55.2708,Dubai,AE
|
||||
179.128.0.0,179.255.255.255,13.7563,100.5018,Bangkok,TH
|
||||
180.0.0.0,180.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
181.0.0.0,181.127.255.255,31.2304,121.4737,Shanghai,CN
|
||||
181.128.0.0,181.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
182.0.0.0,182.91.255.255,39.9042,116.4074,Beijing,CN
|
||||
182.92.0.0,182.92.255.255,39.9042,116.4074,Beijing,CN
|
||||
182.93.0.0,182.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
183.0.0.0,183.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
184.0.0.0,184.15.255.255,35.6762,139.6503,Tokyo,JP
|
||||
184.16.0.0,184.23.255.255,37.5665,126.978,Seoul,KR
|
||||
184.24.0.0,184.31.255.255,42.3736,-71.1097,Cambridge,US
|
||||
184.32.0.0,184.47.255.255,1.3521,103.8198,Singapore,SG
|
||||
184.48.0.0,184.63.255.255,51.5074,-0.1278,London,GB
|
||||
184.64.0.0,184.71.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
184.72.0.0,184.73.255.255,37.7749,-122.4194,San Francisco,US
|
||||
184.74.0.0,184.83.255.255,40.7128,-74.006,New York,US
|
||||
184.84.0.0,184.87.255.255,42.3736,-71.1097,Cambridge,US
|
||||
184.88.0.0,184.215.255.255,37.7749,-122.4194,San Francisco,US
|
||||
184.216.0.0,184.255.255.255,-33.8688,151.2093,Sydney,AU
|
||||
185.0.0.0,185.31.15.255,51.5074,-0.1278,London,GB
|
||||
185.31.16.0,185.31.19.255,37.7749,-122.4194,San Francisco,US
|
||||
185.31.20.0,185.255.255.255,51.5074,-0.1278,London,GB
|
||||
186.0.0.0,186.127.255.255,19.076,72.8777,Mumbai,IN
|
||||
186.128.0.0,186.255.255.255,48.8566,2.3522,Paris,FR
|
||||
187.0.0.0,187.127.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
187.128.0.0,187.255.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
188.0.0.0,188.114.95.255,51.5074,-0.1278,London,GB
|
||||
188.114.96.0,188.114.111.255,37.7749,-122.4194,San Francisco,US
|
||||
188.114.112.0,188.255.255.255,51.5074,-0.1278,London,GB
|
||||
189.0.0.0,189.127.255.255,55.7558,37.6173,Moscow,RU
|
||||
189.128.0.0,189.255.255.255,41.8781,-87.6298,Chicago,US
|
||||
190.0.0.0,190.93.239.255,32.7767,-96.797,Dallas,US
|
||||
190.93.240.0,190.93.255.255,37.7749,-122.4194,San Francisco,US
|
||||
190.94.0.0,190.221.255.255,33.749,-84.388,Atlanta,US
|
||||
190.222.0.0,191.93.255.255,43.6532,-79.3832,Toronto,CA
|
||||
191.94.0.0,191.221.255.255,22.3193,114.1694,Hong Kong,HK
|
||||
191.222.0.0,191.231.255.255,25.033,121.5654,Taipei,TW
|
||||
191.232.0.0,191.233.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
191.234.0.0,191.249.255.255,40.4168,-3.7038,Madrid,ES
|
||||
191.250.0.0,192.9.255.255,45.4642,9.19,Milan,IT
|
||||
192.10.0.0,192.25.255.255,59.3293,18.0686,Stockholm,SE
|
||||
192.26.0.0,192.41.255.255,34.6937,135.5022,Osaka,JP
|
||||
192.42.0.0,192.49.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
192.50.0.0,192.50.255.255,35.1815,136.9066,Nagoya,JP
|
||||
192.51.0.0,192.66.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
192.67.0.0,192.82.255.255,52.52,13.405,Berlin,DE
|
||||
192.83.0.0,192.98.255.255,25.2048,55.2708,Dubai,AE
|
||||
192.99.0.0,192.114.255.255,13.7563,100.5018,Bangkok,TH
|
||||
192.115.0.0,192.130.255.255,31.2304,121.4737,Shanghai,CN
|
||||
192.131.0.0,192.146.255.255,39.9042,116.4074,Beijing,CN
|
||||
192.147.0.0,192.162.255.255,35.6762,139.6503,Tokyo,JP
|
||||
192.163.0.0,192.167.255.255,37.5665,126.978,Seoul,KR
|
||||
192.168.0.0,192.168.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
192.169.0.0,192.184.255.255,1.3521,103.8198,Singapore,SG
|
||||
192.185.0.0,192.200.255.255,51.5074,-0.1278,London,GB
|
||||
192.201.0.0,192.216.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
192.217.0.0,192.232.255.255,40.7128,-74.006,New York,US
|
||||
192.233.0.0,192.248.255.255,37.7749,-122.4194,San Francisco,US
|
||||
192.249.0.0,192.255.255.255,-33.8688,151.2093,Sydney,AU
|
||||
193.0.0.0,193.255.255.255,52.52,13.405,Berlin,DE
|
||||
194.0.0.0,194.255.255.255,48.8566,2.3522,Paris,FR
|
||||
195.0.0.0,195.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
196.0.0.0,196.127.255.255,19.076,72.8777,Mumbai,IN
|
||||
196.128.0.0,196.255.255.255,48.8566,2.3522,Paris,FR
|
||||
197.0.0.0,197.127.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
197.128.0.0,197.234.239.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
197.234.240.0,197.234.243.255,37.7749,-122.4194,San Francisco,US
|
||||
197.234.244.0,197.250.243.255,55.7558,37.6173,Moscow,RU
|
||||
197.250.244.0,198.10.243.255,41.8781,-87.6298,Chicago,US
|
||||
198.10.244.0,198.26.243.255,32.7767,-96.797,Dallas,US
|
||||
198.26.244.0,198.41.127.255,33.749,-84.388,Atlanta,US
|
||||
198.41.128.0,198.41.255.255,37.7749,-122.4194,San Francisco,US
|
||||
198.42.0.0,198.169.255.255,43.6532,-79.3832,Toronto,CA
|
||||
198.170.0.0,199.27.71.255,22.3193,114.1694,Hong Kong,HK
|
||||
199.27.72.0,199.27.79.255,37.7749,-122.4194,San Francisco,US
|
||||
199.27.80.0,199.155.79.255,25.033,121.5654,Taipei,TW
|
||||
199.155.80.0,199.231.255.255,40.4168,-3.7038,Madrid,ES
|
||||
199.232.0.0,199.232.255.255,37.7749,-122.4194,San Francisco,US
|
||||
199.233.0.0,200.104.255.255,45.4642,9.19,Milan,IT
|
||||
200.105.0.0,200.232.255.255,59.3293,18.0686,Stockholm,SE
|
||||
200.233.0.0,201.104.255.255,34.6937,135.5022,Osaka,JP
|
||||
201.105.0.0,201.232.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
201.233.0.0,201.255.255.255,22.5431,114.0579,Shenzhen,CN
|
||||
202.0.0.0,202.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
203.0.0.0,203.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
204.0.0.0,204.127.255.255,52.52,13.405,Berlin,DE
|
||||
204.128.0.0,204.255.255.255,25.2048,55.2708,Dubai,AE
|
||||
205.0.0.0,205.127.255.255,13.7563,100.5018,Bangkok,TH
|
||||
205.128.0.0,205.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
206.0.0.0,206.127.255.255,39.9042,116.4074,Beijing,CN
|
||||
206.128.0.0,206.255.255.255,35.6762,139.6503,Tokyo,JP
|
||||
207.0.0.0,207.127.255.255,37.5665,126.978,Seoul,KR
|
||||
207.128.0.0,207.255.255.255,1.3521,103.8198,Singapore,SG
|
||||
208.0.0.0,208.127.255.255,51.5074,-0.1278,London,GB
|
||||
208.128.0.0,208.255.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
209.0.0.0,209.127.255.255,40.7128,-74.006,New York,US
|
||||
209.128.0.0,209.255.255.255,37.7749,-122.4194,San Francisco,US
|
||||
210.0.0.0,210.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
211.0.0.0,211.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
212.0.0.0,212.255.255.255,51.5074,-0.1278,London,GB
|
||||
213.0.0.0,213.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
214.0.0.0,214.127.255.255,-33.8688,151.2093,Sydney,AU
|
||||
214.128.0.0,214.255.255.255,19.076,72.8777,Mumbai,IN
|
||||
215.0.0.0,215.127.255.255,48.8566,2.3522,Paris,FR
|
||||
215.128.0.0,215.255.255.255,52.3676,4.9041,Amsterdam,NL
|
||||
216.0.0.0,216.127.255.255,-23.5505,-46.6333,Sao Paulo,BR
|
||||
216.128.0.0,216.255.255.255,55.7558,37.6173,Moscow,RU
|
||||
217.0.0.0,217.79.255.255,52.52,13.405,Berlin,DE
|
||||
217.80.0.0,217.95.255.255,48.1351,11.582,Munich,DE
|
||||
217.96.0.0,217.223.255.255,52.52,13.405,Berlin,DE
|
||||
217.224.0.0,217.255.255.255,50.1109,8.6821,Frankfurt,DE
|
||||
218.0.0.0,218.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
219.0.0.0,219.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
220.0.0.0,220.255.255.255,23.1291,113.2644,Guangzhou,CN
|
||||
221.0.0.0,221.255.255.255,31.2304,121.4737,Shanghai,CN
|
||||
222.0.0.0,222.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
223.0.0.0,223.255.255.255,39.9042,116.4074,Beijing,CN
|
||||
@@ -0,0 +1,76 @@
|
||||
"""Batch generator: ~100 CSV files with varied column subsets for multi-upload testing.
|
||||
|
||||
Each file: 100 rows, 20-40% columns randomly dropped (IP/port identity columns retained).
|
||||
Total: ~100 files × 100 rows = ~10000 rows.
|
||||
|
||||
Usage:
|
||||
runtime\\python\\python.exe scripts\\gen_multi.py [--files N] [--rows N]
|
||||
"""
|
||||
import sys
|
||||
import os
|
||||
import random
|
||||
import csv
|
||||
from pathlib import Path
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
# Add scripts/ to path so we can import gen_test_data
|
||||
sys.path.insert(0, str(Path(__file__).parent))
|
||||
|
||||
# Reuse gen_test_data's data pools and generation logic
|
||||
from gen_test_data import (
|
||||
COLUMNS, generate_row, _rand_ip, _rand_hex, _maybe, _blank_or, _blank_or_plus,
|
||||
TLS_VERSIONS, TLS_WEIGHTS, CIPHER_HEX, CIPHER_NAMES, NAMED_CURVES_HEX, NAMED_CURVES_TEXT,
|
||||
SRC_IPS, DST_IPS, PORTS, COUNTRIES, ISPS, ORGS, CITIES, SERVICES, SRC_NODES, NODE_NAMES,
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
import argparse
|
||||
parser = argparse.ArgumentParser(description='Generate multi-file test CSV dataset')
|
||||
parser.add_argument('--files', type=int, default=100, help='Number of files to generate')
|
||||
parser.add_argument('--rows', type=int, default=100, help='Rows per file')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Use a different seed from gen_test_data so IP pools differ
|
||||
random.seed(99)
|
||||
|
||||
out_dir = Path('data/multi_upload')
|
||||
out_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Identity columns that must never be dropped
|
||||
_keep_cols = {':ips', ':ipd', ':prs', ':prd', 'server-ip', 'client-ip'}
|
||||
_droppable = [c for c in COLUMNS if c not in _keep_cols]
|
||||
|
||||
base_time = datetime(2026, 6, 1, 0, 0, 0)
|
||||
total_rows = 0
|
||||
|
||||
for fi in range(args.files):
|
||||
# Randomly drop 20-40% of droppable columns
|
||||
drop_ratio = random.uniform(0.20, 0.40)
|
||||
n_drop = max(1, int(len(_droppable) * drop_ratio))
|
||||
dropped = set(random.sample(_droppable, n_drop))
|
||||
file_columns = [c for c in COLUMNS if c not in dropped]
|
||||
|
||||
out_path = out_dir / f'test_{fi:04d}.csv'
|
||||
n_rows = random.randint(max(50, args.rows - 10), args.rows + 10)
|
||||
|
||||
with open(out_path, 'w', newline='', encoding='utf-8') as f:
|
||||
writer = csv.DictWriter(f, fieldnames=file_columns, extrasaction='ignore')
|
||||
writer.writeheader()
|
||||
for row_i in range(n_rows):
|
||||
row_time = base_time + timedelta(seconds=random.randint(0, 86400 * 30))
|
||||
row = generate_row(total_rows + row_i, row_time)
|
||||
filtered = {k: v for k, v in row.items() if k in file_columns}
|
||||
writer.writerow(filtered)
|
||||
|
||||
total_rows += n_rows
|
||||
|
||||
if (fi + 1) % 20 == 0:
|
||||
print(f' [{fi + 1}/{args.files}] {total_rows} rows generated so far...')
|
||||
|
||||
print(f'\nDone: {args.files} files, {total_rows} total rows → {out_dir}')
|
||||
print(f'Each file: ~{args.rows} rows, {len(_droppable)} droppable columns, 20-40% dropped per file')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="card">
|
||||
<h2>Run #{{ run.display_id }} — {{ run.created_at|date:"Y-m-d H:i" }}</h2>
|
||||
<p>Status: <span class="badge {% if run.status == 'completed' %}badge-success{% elif run.status == 'failed' %}badge-danger{% else %}badge-info{% endif %}">{{ run.get_status_display }}</span></p>
|
||||
<p>CSV: <code>{{ run.csv_glob }}</code></p>
|
||||
<p>CSV: <code>{% if run.sqlite_table %}已存储至SQLite: {{ run.sqlite_table }}{% else %}{{ run.csv_glob }}{% endif %}</code></p>
|
||||
</div>
|
||||
|
||||
<div class="grid-3">
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
<td>#{{ run.display_id }}</td>
|
||||
<td>{{ run.created_at|date:"Y-m-d H:i" }}</td>
|
||||
<td><span class="badge {% if run.status == 'completed' %}badge-success{% elif run.status == 'failed' %}badge-danger{% else %}badge-info{% endif %}">{{ run.get_status_display }}</span></td>
|
||||
<td style="max-width:300px;overflow:hidden;text-overflow:ellipsis;">{{ run.csv_glob }}</td>
|
||||
<td style="max-width:300px;overflow:hidden;text-overflow:ellipsis;">{% if run.sqlite_table %}SQLite表 {{ run.sqlite_table }}{% else %}{{ run.csv_glob }}{% endif %}</td>
|
||||
<td>{{ run.entity_count|default:"-" }}</td>
|
||||
<td>{{ run.cluster_count|default:"-" }}</td>
|
||||
<td><a href="{% url 'analysis:run_detail' run.display_id %}" class="btn btn-primary">Detail</a></td>
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
<tr>
|
||||
<td><input type="radio" name="auto_run_id" value="{{ run.display_id }}"></td>
|
||||
<td>#{{ run.display_id }}</td>
|
||||
<td style="max-width:200px;overflow:hidden;text-overflow:ellipsis;">{{ run.csv_glob }}</td>
|
||||
<td style="max-width:200px;overflow:hidden;text-overflow:ellipsis;">{% if run.sqlite_table %}SQLite表 {{ run.sqlite_table }}{% else %}{{ run.csv_glob }}{% endif %}</td>
|
||||
<td><span class="badge badge-success">{{ run.status }}</span></td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
{% for run in runs %}
|
||||
<tr>
|
||||
<td>#{{ run.display_id }}</td>
|
||||
<td style="max-width:200px;overflow:hidden;text-overflow:ellipsis;">{{ run.csv_glob }}</td>
|
||||
<td style="max-width:200px;overflow:hidden;text-overflow:ellipsis;">{% if run.sqlite_table %}SQLite表 {{ run.sqlite_table }}{% else %}{{ run.csv_glob }}{% endif %}</td>
|
||||
<td>{{ run.total_flows|default:"-" }}</td>
|
||||
<td><span class="badge {% if run.status == 'ready' or run.status == 'completed' %}badge-success{% elif run.status == 'failed' %}badge-danger{% else %}badge-warning{% endif %}">{{ run.status }}</span></td>
|
||||
<td>
|
||||
|
||||
Reference in New Issue
Block a user