Testing things
This commit is contained in:
parent
ff5a41cf1e
commit
8ae81b8dd2
12
.vscode/settings.json
vendored
12
.vscode/settings.json
vendored
@ -8,5 +8,15 @@
|
||||
"inpainting",
|
||||
"rotoscope",
|
||||
"Tapermonkey"
|
||||
]
|
||||
],
|
||||
"files.associations": {
|
||||
"*.json.liquid": "json",
|
||||
"*.yaml.liquid": "yaml",
|
||||
"*.md.liquid": "markdown",
|
||||
"*.js.liquid": "liquid-javascript",
|
||||
"*.css.liquid": "liquid-css",
|
||||
"*.scss.liquid": "liquid-scss",
|
||||
"_headers": "plaintext",
|
||||
"_redirects": "plaintext",
|
||||
}
|
||||
}
|
2
_headers
Normal file
2
_headers
Normal file
@ -0,0 +1,2 @@
|
||||
/*
|
||||
Server: My one remaining brain cell
|
1
_redirects
Normal file
1
_redirects
Normal file
@ -0,0 +1 @@
|
||||
/geofeed.csv https://docs.google.com/spreadsheets/d/e/2PACX-1vQt0iQi7wFZ9tNSFuMSTdZtT10cbtJFTaSp0OHvXH5O4Im9xG0_SuKNDsLeiEUqVppiNFoTN1reGDXy/pub?gid=391960727&single=true&output=csv 200
|
@ -1,46 +0,0 @@
|
||||
import json
|
||||
from pathlib import Path
|
||||
import time
|
||||
from typing import Dict
|
||||
import requests
|
||||
import re
|
||||
import base64
|
||||
|
||||
|
||||
def make_cached_request(url: str, headers: Dict[str, str]) -> str:
|
||||
|
||||
# Encode the url and headers into a filename to use as a cache
|
||||
cache_filename = Path("/tmp/as_stats") / base64.b64encode(
|
||||
url.encode('utf-8') + str(headers).encode('utf-8')).decode('utf-8')
|
||||
print(f"Using cache file: {cache_filename}")
|
||||
|
||||
# Check if the file timestamp of the cache file is older than 30 minutes or the file doesn't exist
|
||||
if not cache_filename.exists() or (cache_filename.stat().st_mtime + 1800) < time.time():
|
||||
print(f"Making request to {url}")
|
||||
|
||||
# Make the request and write it to the cache file
|
||||
response = requests.get(url, headers=headers).text
|
||||
cache_filename.parent.mkdir(parents=True, exist_ok=True)
|
||||
cache_filename.write_text(response)
|
||||
|
||||
# Return the contents of the cache file
|
||||
return cache_filename.read_text()
|
||||
|
||||
|
||||
data = make_cached_request("https://bgp.tools/tags/perso.csv",
|
||||
headers={"User-Agent": "ewpratten.com ASN statistics script"})
|
||||
as_search = re.compile(r"AS(\d+)")
|
||||
asns = [int(x) for x in as_search.findall(data)]
|
||||
print(f"Found {len(asns)} personal ASNs in the DFZ")
|
||||
|
||||
# Download the full BGP table in JSONL format
|
||||
bgp_table = make_cached_request("https://bgp.tools/table.jsonl", headers={"User-Agent": "ewpratten.com ASN statistics script"})
|
||||
routes = {}
|
||||
for line in bgp_table.splitlines():
|
||||
bgp_data = json.loads(line)
|
||||
routes.setdefault(bgp_data["ASN"], []).append(bgp_data["CIDR"])
|
||||
|
||||
# For each ASN, get some additional data
|
||||
dataset = []
|
||||
for asn in asns:
|
||||
|
@ -1,8 +0,0 @@
|
||||
#! /bin/bash
|
||||
set -e
|
||||
|
||||
curl --user-agent "AS-SET Builder" \
|
||||
https://bgp.tools/tags/perso | \
|
||||
grep -o "/as/[0-9]*" | \
|
||||
sort | uniq | sed -e 's#/as/#AS#g' \
|
||||
> sources/personal-as-stats/personal_ases.txt
|
@ -1,811 +0,0 @@
|
||||
AS1003
|
||||
AS1050
|
||||
AS11875
|
||||
AS12553
|
||||
AS131645
|
||||
AS132139
|
||||
AS132282
|
||||
AS132383
|
||||
AS133846
|
||||
AS134478
|
||||
AS134666
|
||||
AS134993
|
||||
AS135103
|
||||
AS135134
|
||||
AS135395
|
||||
AS13586
|
||||
AS136918
|
||||
AS137256
|
||||
AS137410
|
||||
AS137411
|
||||
AS137430
|
||||
AS137509
|
||||
AS137582
|
||||
AS137910
|
||||
AS137937
|
||||
AS137943
|
||||
AS138006
|
||||
AS138038
|
||||
AS138181
|
||||
AS138211
|
||||
AS13850
|
||||
AS138919
|
||||
AS139073
|
||||
AS139216
|
||||
AS139317
|
||||
AS139328
|
||||
AS140362
|
||||
AS140506
|
||||
AS140731
|
||||
AS141776
|
||||
AS142130
|
||||
AS142281
|
||||
AS142284
|
||||
AS142551
|
||||
AS142598
|
||||
AS142641
|
||||
AS147016
|
||||
AS149007
|
||||
AS149506
|
||||
AS149794
|
||||
AS149795
|
||||
AS149835
|
||||
AS15490
|
||||
AS15562
|
||||
AS16375
|
||||
AS17138
|
||||
AS17415
|
||||
AS1898
|
||||
AS196621
|
||||
AS196782
|
||||
AS196978
|
||||
AS197160
|
||||
AS198014
|
||||
AS198248
|
||||
AS198713
|
||||
AS198794
|
||||
AS199298
|
||||
AS199852
|
||||
AS199957
|
||||
AS200273
|
||||
AS200278
|
||||
AS200280
|
||||
AS200301
|
||||
AS200306
|
||||
AS200334
|
||||
AS200490
|
||||
AS200615
|
||||
AS200842
|
||||
AS200857
|
||||
AS200897
|
||||
AS201048
|
||||
AS201129
|
||||
AS201222
|
||||
AS201281
|
||||
AS201331
|
||||
AS201742
|
||||
AS202039
|
||||
AS202044
|
||||
AS202068
|
||||
AS202198
|
||||
AS202246
|
||||
AS202288
|
||||
AS202301
|
||||
AS202307
|
||||
AS202313
|
||||
AS202314
|
||||
AS202410
|
||||
AS202418
|
||||
AS202540
|
||||
AS202560
|
||||
AS202562
|
||||
AS202584
|
||||
AS202634
|
||||
AS202656
|
||||
AS202739
|
||||
AS202886
|
||||
AS202905
|
||||
AS202928
|
||||
AS202945
|
||||
AS202952
|
||||
AS202959
|
||||
AS202969
|
||||
AS202976
|
||||
AS202988
|
||||
AS202996
|
||||
AS203024
|
||||
AS203062
|
||||
AS203069
|
||||
AS203074
|
||||
AS203113
|
||||
AS203125
|
||||
AS203133
|
||||
AS203145
|
||||
AS203146
|
||||
AS203236
|
||||
AS203323
|
||||
AS203333
|
||||
AS203458
|
||||
AS203478
|
||||
AS203496
|
||||
AS203528
|
||||
AS203529
|
||||
AS203535
|
||||
AS203577
|
||||
AS203619
|
||||
AS203635
|
||||
AS203636
|
||||
AS203656
|
||||
AS203729
|
||||
AS203801
|
||||
AS203804
|
||||
AS203868
|
||||
AS203875
|
||||
AS203888
|
||||
AS203900
|
||||
AS203913
|
||||
AS203919
|
||||
AS203943
|
||||
AS204003
|
||||
AS204010
|
||||
AS204017
|
||||
AS204125
|
||||
AS204179
|
||||
AS204181
|
||||
AS204185
|
||||
AS204186
|
||||
AS204228
|
||||
AS204254
|
||||
AS204268
|
||||
AS204307
|
||||
AS204345
|
||||
AS204363
|
||||
AS204374
|
||||
AS204416
|
||||
AS204423
|
||||
AS204438
|
||||
AS204443
|
||||
AS204446
|
||||
AS204466
|
||||
AS204506
|
||||
AS204508
|
||||
AS204518
|
||||
AS204526
|
||||
AS204543
|
||||
AS204585
|
||||
AS204604
|
||||
AS204610
|
||||
AS204624
|
||||
AS204625
|
||||
AS204662
|
||||
AS204675
|
||||
AS204693
|
||||
AS204710
|
||||
AS204778
|
||||
AS204785
|
||||
AS204829
|
||||
AS204882
|
||||
AS204883
|
||||
AS204893
|
||||
AS204901
|
||||
AS204909
|
||||
AS204926
|
||||
AS204936
|
||||
AS204982
|
||||
AS204994
|
||||
AS205036
|
||||
AS205043
|
||||
AS205089
|
||||
AS205092
|
||||
AS205100
|
||||
AS205102
|
||||
AS205117
|
||||
AS205148
|
||||
AS205152
|
||||
AS205165
|
||||
AS205183
|
||||
AS205240
|
||||
AS205261
|
||||
AS205298
|
||||
AS205315
|
||||
AS205323
|
||||
AS205365
|
||||
AS205387
|
||||
AS205398
|
||||
AS205413
|
||||
AS205415
|
||||
AS205423
|
||||
AS205432
|
||||
AS205479
|
||||
AS205522
|
||||
AS205523
|
||||
AS205531
|
||||
AS205532
|
||||
AS205590
|
||||
AS205591
|
||||
AS205593
|
||||
AS205597
|
||||
AS205603
|
||||
AS205610
|
||||
AS205618
|
||||
AS205634
|
||||
AS205635
|
||||
AS205642
|
||||
AS205651
|
||||
AS205740
|
||||
AS205777
|
||||
AS205778
|
||||
AS205794
|
||||
AS205810
|
||||
AS205816
|
||||
AS205866
|
||||
AS205908
|
||||
AS205923
|
||||
AS205927
|
||||
AS205947
|
||||
AS205956
|
||||
AS205969
|
||||
AS205970
|
||||
AS206016
|
||||
AS206020
|
||||
AS206155
|
||||
AS206160
|
||||
AS206161
|
||||
AS206203
|
||||
AS206226
|
||||
AS206253
|
||||
AS206271
|
||||
AS206290
|
||||
AS206294
|
||||
AS206368
|
||||
AS206477
|
||||
AS206480
|
||||
AS206499
|
||||
AS206506
|
||||
AS206628
|
||||
AS206633
|
||||
AS206639
|
||||
AS206671
|
||||
AS206699
|
||||
AS206729
|
||||
AS206740
|
||||
AS206754
|
||||
AS206792
|
||||
AS206843
|
||||
AS206858
|
||||
AS206895
|
||||
AS206924
|
||||
AS206981
|
||||
AS206994
|
||||
AS207036
|
||||
AS207043
|
||||
AS207077
|
||||
AS207080
|
||||
AS207111
|
||||
AS207149
|
||||
AS207150
|
||||
AS207193
|
||||
AS207212
|
||||
AS207267
|
||||
AS207273
|
||||
AS207292
|
||||
AS207299
|
||||
AS207300
|
||||
AS207315
|
||||
AS207341
|
||||
AS207358
|
||||
AS207363
|
||||
AS207372
|
||||
AS207393
|
||||
AS207394
|
||||
AS207411
|
||||
AS207420
|
||||
AS207445
|
||||
AS207469
|
||||
AS207480
|
||||
AS207487
|
||||
AS207529
|
||||
AS207536
|
||||
AS207537
|
||||
AS207550
|
||||
AS207556
|
||||
AS207609
|
||||
AS207612
|
||||
AS207613
|
||||
AS207632
|
||||
AS207662
|
||||
AS207671
|
||||
AS207708
|
||||
AS207740
|
||||
AS207748
|
||||
AS207755
|
||||
AS207756
|
||||
AS207759
|
||||
AS207781
|
||||
AS207801
|
||||
AS207824
|
||||
AS207846
|
||||
AS207852
|
||||
AS207880
|
||||
AS207887
|
||||
AS207890
|
||||
AS207910
|
||||
AS207941
|
||||
AS207963
|
||||
AS207968
|
||||
AS208021
|
||||
AS208059
|
||||
AS208069
|
||||
AS208122
|
||||
AS208135
|
||||
AS208150
|
||||
AS208173
|
||||
AS208181
|
||||
AS208210
|
||||
AS208223
|
||||
AS208242
|
||||
AS208249
|
||||
AS208260
|
||||
AS208264
|
||||
AS208266
|
||||
AS208340
|
||||
AS208370
|
||||
AS208394
|
||||
AS208434
|
||||
AS208487
|
||||
AS208505
|
||||
AS208529
|
||||
AS208548
|
||||
AS208563
|
||||
AS208580
|
||||
AS208590
|
||||
AS208602
|
||||
AS208612
|
||||
AS208624
|
||||
AS208634
|
||||
AS208658
|
||||
AS208699
|
||||
AS208702
|
||||
AS208707
|
||||
AS208713
|
||||
AS208717
|
||||
AS208723
|
||||
AS208733
|
||||
AS208751
|
||||
AS208753
|
||||
AS208768
|
||||
AS208810
|
||||
AS208814
|
||||
AS208818
|
||||
AS208872
|
||||
AS208884
|
||||
AS208907
|
||||
AS208914
|
||||
AS208915
|
||||
AS208919
|
||||
AS209075
|
||||
AS209109
|
||||
AS209114
|
||||
AS209164
|
||||
AS209185
|
||||
AS209186
|
||||
AS209188
|
||||
AS209218
|
||||
AS209245
|
||||
AS209261
|
||||
AS209263
|
||||
AS209267
|
||||
AS209300
|
||||
AS209306
|
||||
AS209310
|
||||
AS209334
|
||||
AS209364
|
||||
AS209401
|
||||
AS209417
|
||||
AS209419
|
||||
AS209432
|
||||
AS209489
|
||||
AS209496
|
||||
AS209506
|
||||
AS209512
|
||||
AS209514
|
||||
AS209569
|
||||
AS209586
|
||||
AS209616
|
||||
AS209619
|
||||
AS209623
|
||||
AS209645
|
||||
AS209650
|
||||
AS209658
|
||||
AS209661
|
||||
AS209669
|
||||
AS209710
|
||||
AS209718
|
||||
AS209778
|
||||
AS209792
|
||||
AS209808
|
||||
AS209859
|
||||
AS209861
|
||||
AS209864
|
||||
AS209869
|
||||
AS209874
|
||||
AS209933
|
||||
AS210013
|
||||
AS210025
|
||||
AS210041
|
||||
AS210074
|
||||
AS210089
|
||||
AS210090
|
||||
AS210103
|
||||
AS210118
|
||||
AS210152
|
||||
AS210234
|
||||
AS210285
|
||||
AS210286
|
||||
AS210311
|
||||
AS210312
|
||||
AS210320
|
||||
AS210369
|
||||
AS210370
|
||||
AS210376
|
||||
AS210381
|
||||
AS210386
|
||||
AS210387
|
||||
AS210397
|
||||
AS210400
|
||||
AS210401
|
||||
AS210405
|
||||
AS210408
|
||||
AS210426
|
||||
AS210440
|
||||
AS210469
|
||||
AS210476
|
||||
AS210481
|
||||
AS210502
|
||||
AS210522
|
||||
AS210529
|
||||
AS210532
|
||||
AS210562
|
||||
AS210563
|
||||
AS210577
|
||||
AS210617
|
||||
AS210631
|
||||
AS210645
|
||||
AS210667
|
||||
AS210683
|
||||
AS210734
|
||||
AS210777
|
||||
AS210815
|
||||
AS210816
|
||||
AS210836
|
||||
AS210864
|
||||
AS210881
|
||||
AS210887
|
||||
AS210888
|
||||
AS210934
|
||||
AS210941
|
||||
AS210985
|
||||
AS211042
|
||||
AS211066
|
||||
AS211088
|
||||
AS211129
|
||||
AS211144
|
||||
AS211153
|
||||
AS211168
|
||||
AS211184
|
||||
AS211208
|
||||
AS211224
|
||||
AS211227
|
||||
AS211244
|
||||
AS211275
|
||||
AS211284
|
||||
AS211317
|
||||
AS211364
|
||||
AS211367
|
||||
AS211387
|
||||
AS211431
|
||||
AS211437
|
||||
AS211449
|
||||
AS211479
|
||||
AS211485
|
||||
AS211495
|
||||
AS211498
|
||||
AS211509
|
||||
AS211514
|
||||
AS211553
|
||||
AS211562
|
||||
AS211571
|
||||
AS211575
|
||||
AS211579
|
||||
AS21158
|
||||
AS211581
|
||||
AS211604
|
||||
AS211635
|
||||
AS211684
|
||||
AS211685
|
||||
AS211688
|
||||
AS211696
|
||||
AS211703
|
||||
AS211704
|
||||
AS211722
|
||||
AS211723
|
||||
AS211729
|
||||
AS211738
|
||||
AS211747
|
||||
AS211754
|
||||
AS211776
|
||||
AS211827
|
||||
AS211840
|
||||
AS211851
|
||||
AS211852
|
||||
AS211868
|
||||
AS211869
|
||||
AS211870
|
||||
AS211879
|
||||
AS211930
|
||||
AS211935
|
||||
AS211942
|
||||
AS211956
|
||||
AS211972
|
||||
AS211975
|
||||
AS211980
|
||||
AS212007
|
||||
AS212008
|
||||
AS212024
|
||||
AS212037
|
||||
AS212044
|
||||
AS212056
|
||||
AS212066
|
||||
AS212068
|
||||
AS212084
|
||||
AS212105
|
||||
AS212106
|
||||
AS212118
|
||||
AS212120
|
||||
AS212121
|
||||
AS212123
|
||||
AS212125
|
||||
AS212129
|
||||
AS212149
|
||||
AS212154
|
||||
AS212191
|
||||
AS212196
|
||||
AS212231
|
||||
AS212248
|
||||
AS212249
|
||||
AS212270
|
||||
AS212276
|
||||
AS212290
|
||||
AS212294
|
||||
AS212299
|
||||
AS212317
|
||||
AS212347
|
||||
AS212349
|
||||
AS212353
|
||||
AS212357
|
||||
AS212415
|
||||
AS212425
|
||||
AS212427
|
||||
AS212448
|
||||
AS212469
|
||||
AS212472
|
||||
AS212495
|
||||
AS212510
|
||||
AS212513
|
||||
AS212519
|
||||
AS212539
|
||||
AS212541
|
||||
AS212543
|
||||
AS212546
|
||||
AS212555
|
||||
AS212568
|
||||
AS212569
|
||||
AS212580
|
||||
AS212591
|
||||
AS212594
|
||||
AS212596
|
||||
AS212618
|
||||
AS212625
|
||||
AS212642
|
||||
AS212672
|
||||
AS212678
|
||||
AS212703
|
||||
AS212704
|
||||
AS212715
|
||||
AS212733
|
||||
AS212746
|
||||
AS212760
|
||||
AS212767
|
||||
AS212792
|
||||
AS212834
|
||||
AS212855
|
||||
AS212856
|
||||
AS212864
|
||||
AS212888
|
||||
AS212895
|
||||
AS212921
|
||||
AS212948
|
||||
AS212963
|
||||
AS212965
|
||||
AS212983
|
||||
AS212995
|
||||
AS213003
|
||||
AS213015
|
||||
AS213018
|
||||
AS213021
|
||||
AS213027
|
||||
AS213031
|
||||
AS213045
|
||||
AS213064
|
||||
AS213105
|
||||
AS213115
|
||||
AS213124
|
||||
AS213126
|
||||
AS213151
|
||||
AS213154
|
||||
AS213163
|
||||
AS213169
|
||||
AS213170
|
||||
AS213185
|
||||
AS213197
|
||||
AS213201
|
||||
AS213234
|
||||
AS213236
|
||||
AS213237
|
||||
AS213244
|
||||
AS213253
|
||||
AS213263
|
||||
AS213285
|
||||
AS213310
|
||||
AS213312
|
||||
AS213326
|
||||
AS213339
|
||||
AS213342
|
||||
AS213343
|
||||
AS213346
|
||||
AS213361
|
||||
AS213366
|
||||
AS213367
|
||||
AS213376
|
||||
AS213382
|
||||
AS213384
|
||||
AS213386
|
||||
AS213388
|
||||
AS213392
|
||||
AS21761
|
||||
AS21957
|
||||
AS23428
|
||||
AS24865
|
||||
AS2613
|
||||
AS2822
|
||||
AS29317
|
||||
AS29478
|
||||
AS30746
|
||||
AS31010
|
||||
AS31451
|
||||
AS31592
|
||||
AS34553
|
||||
AS34615
|
||||
AS34681
|
||||
AS34958
|
||||
AS34966
|
||||
AS35003
|
||||
AS35008
|
||||
AS35121
|
||||
AS35292
|
||||
AS35619
|
||||
AS36198
|
||||
AS38041
|
||||
AS38970
|
||||
AS39083
|
||||
AS39192
|
||||
AS393949
|
||||
AS394112
|
||||
AS396303
|
||||
AS39753
|
||||
AS39765
|
||||
AS39792
|
||||
AS398057
|
||||
AS399748
|
||||
AS399760
|
||||
AS41225
|
||||
AS41666
|
||||
AS41731
|
||||
AS41732
|
||||
AS41767
|
||||
AS41996
|
||||
AS42198
|
||||
AS42495
|
||||
AS42615
|
||||
AS43011
|
||||
AS43126
|
||||
AS43131
|
||||
AS43308
|
||||
AS43433
|
||||
AS43607
|
||||
AS43911
|
||||
AS44072
|
||||
AS44097
|
||||
AS44421
|
||||
AS44496
|
||||
AS44794
|
||||
AS44954
|
||||
AS44980
|
||||
AS47251
|
||||
AS47831
|
||||
AS47837
|
||||
AS47937
|
||||
AS48301
|
||||
AS48387
|
||||
AS48390
|
||||
AS48646
|
||||
AS48767
|
||||
AS49072
|
||||
AS49271
|
||||
AS49697
|
||||
AS49745
|
||||
AS49752
|
||||
AS49781
|
||||
AS49904
|
||||
AS49933
|
||||
AS50329
|
||||
AS50555
|
||||
AS50718
|
||||
AS50721
|
||||
AS50798
|
||||
AS50842
|
||||
AS50869
|
||||
AS51058
|
||||
AS51391
|
||||
AS51421
|
||||
AS51424
|
||||
AS51699
|
||||
AS51861
|
||||
AS52078
|
||||
AS5491
|
||||
AS56544
|
||||
AS56662
|
||||
AS57267
|
||||
AS57345
|
||||
AS57436
|
||||
AS57483
|
||||
AS57632
|
||||
AS57672
|
||||
AS57777
|
||||
AS57782
|
||||
AS57821
|
||||
AS57848
|
||||
AS58145
|
||||
AS58235
|
||||
AS59450
|
||||
AS59617
|
||||
AS59645
|
||||
AS59750
|
||||
AS59813
|
||||
AS59876
|
||||
AS59922
|
||||
AS60271
|
||||
AS60529
|
||||
AS60767
|
||||
AS60927
|
||||
AS60998
|
||||
AS62075
|
||||
AS62078
|
||||
AS62184
|
||||
AS62269
|
||||
AS62374
|
||||
AS62396
|
||||
AS62430
|
||||
AS64264
|
||||
AS64478
|
||||
AS6556
|
||||
AS6838
|
||||
AS7034
|
||||
AS8873
|
||||
AS8874
|
||||
AS8949
|
||||
AS9017
|
||||
AS907
|
||||
AS923
|
||||
AS948
|
||||
AS970
|
Loading…
x
Reference in New Issue
Block a user