diff --git a/locations.txt b/locations.txt index 90d645cbf..df67be76f 100644 --- a/locations.txt +++ b/locations.txt @@ -348,23 +348,21 @@ ANKLAM, GERMANY:53.8325:13.6689 COTTBUS, GERMANY:51.8894:14.5317 KOETHEN, GERMANY:51.7211:11.9617 KAMENZ, GERMANY:51.2961:14.1289 -BERLIN, GERMANY:52.38:13.5225 -DRESDEN, GERMANY:51.1325:13.7669 +BERLIN, GERMANY:52.5170365:13.3888599 +DRESDEN, GERMANY:51.0493286:13.7381437 ERFURT, GERMANY:50.98:10.9581 -FRANKFURT, GERMANY:50.0264:8.54306 +FRANKFURT, GERMANY:50.1106444:8.6820917 MUENSTER/OSNABRUECK, GERMANY:52.1344:7.68472 -HAMBURG, GERMANY:53.6303:9.98806 -BERLIN, GERMANY:52.4728:13.4039 +HAMBURG, GERMANY:53.550341:10.000654 COLOGNE, GERMANY:50.8658:7.1425 DUESSELDORF, GERMANY:51.2894:6.76667 -MUNICH, GERMANY:48.3536:11.7858 -NUERNBERG, GERMANY:49.4986:11.0781 -LEIPZIG, GERMANY:51.4239:12.2361 +MUNICH, GERMANY:48.1371079:11.5753822 +NUERNBERG, GERMANY:49.453872:11.077298 +LEIPZIG, GERMANY:51.3406321:12.3747329 SAARBRUECKEN, GERMANY:49.2144:7.10944 -STUTTGART, GERMANY:48.6897:9.22194 -BERLIN, GERMANY:52.5594:13.2875 -HANNOVER, GERMANY:52.4608:9.685 -BREMEN, GERMANY:53.0475:8.78667 +STUTTGART, GERMANY:48.7784485:9.1800132 +HANNOVER, GERMANY:52.3744779:9.7385532 +BREMEN, GERMANY:53.0758196:8.8071646 EGELSBACH, GERMANY:49.9608:8.64361 HAHN, GERMANY:49.9497:7.26389 MANNHEIM, GERMANY:49.4725:8.51361 @@ -373,7 +371,6 @@ WORMS, GERMANY:49.6064:8.36833 MAINZ, GERMANY:49.9689:8.1475 EISENACH, GERMANY:50.9928:10.4725 SIEGERLAND, GERMANY:50.7075:8.08194 -HAMBURG, GERMANY:53.5353:9.83528 KIEL, GERMANY:54.3794:10.145 LUEBECK, GERMANY:53.8053:10.7192 AACHEN, GERMANY:50.8228:6.18722 @@ -381,11 +378,11 @@ DAHLEMER BINZ, GERMANY:50.4058:6.52806 MEINERZHAGEN, GERMANY:51.0994:7.60194 ARNSBERG, GERMANY:51.4833:7.89917 KAMP, GERMANY:51.5303:6.53694 -ESSEN, GERMANY:51.4014:6.93583 +ESSEN, GERMANY:51.4582235:7.0158171 MOENCHENGLADBACH, GERMANY:51.2303:6.50444 PADERBORN, GERMANY:51.6142:8.61611 STADTLOHN, GERMANY:51.9958:6.84028 -DORTMUND, GERMANY:51.5181:7.61222 +DORTMUND, GERMANY:51.5142273:7.4652789 AUGSBURG, GERMANY:48.425:10.9317 BIBERACH, GERMANY:48.1108:9.76278 EGGENFELDEN, GERMANY:48.3961:12.7236 @@ -436,8 +433,7 @@ TARTU-ULENURME, ESTONIA:58.3072:26.6903 ENONTEKIO, FINLAND:68.3625:23.4242 EURA, FINLAND:61.1161:22.2014 HALLI, FINLAND:61.8558:24.7864 -HELSINKI, FINLAND:60.2544:25.0428 -HELSINKI, FINLAND:60.32:24.9561 +HELSINKI, FINLAND:60.23542123800722:24.927984421582043 HAMEENKYRO, FINLAND:61.6894:23.0736 HANKO, FINLAND:59.8486:23.0833 HYVINKAA, FINLAND:60.6544:24.8811 @@ -483,17 +479,16 @@ VARKAUS, FINLAND:62.1711:27.8686 YLIVIESKA-RAUDASKYLA, FINLAND:64.0603:24.7158 BELFAST, NORTH IRELAND:54.6575:W6.21583 ENNISKILLEN, ENGLAND:54.3989:W7.65167 -BELFAST, NORTH IRELAND:54.6181:W5.8725 -LONDONDERRY, NORTH IRELAND:55.0428:W7.16111 -BIRMINGHAM, ENGLAND:52.4536:W1.74778 -COVENTRY, ENGLAND:52.3697:W1.47972 -LEICESTER, ENGLAND:52.6078:W1.03194 +LONDONDERRY, NORTH IRELAND:54.9978678:W7.3213056 +BIRMINGHAM, ENGLAND:52.4796992:W1.9026911 +COVENTRY, ENGLAND:52.4081812:W1.510477 +LEICESTER, ENGLAND:52.6361398:W1.1330789 GOLOUCHESTERSHIRE, ENGLAND:51.8942:W2.16722 -NOTTINGHAM, ENGLAND:52.92:W1.07917 +NOTTINGHAM, ENGLAND:52.9534193:W1.1496461 HALFPENNY GREEN, ENGLAND:52.5175:W2.25972 PAILTON, UK:51.6681:W2.05694 TURWESTON, UK:52.0408:W1.09556 -MANCHESTER, ENGLAND:53.3536:W2.27472 +MANCHESTER, ENGLAND:53.4794892:W2.2451148 WOODFORT, ENGLAND:53.3381:W2.14889 SANDTOFT, UK:53.5597:W0.858333 CHIVENOR, ENGLAND:51.0869:W4.15028 @@ -504,25 +499,20 @@ CULDROSE, ENGLAND:50.0858:W5.25556 ST. ATHAN, UK:51.4047:W3.43556 YEOVILTON, UK:51.0092:W2.63861 HAVERFORDWEST, ENGLAND:51.8331:W4.96111 -CARDIFF, WALES:51.3967:W3.34333 -SWANSEA, ENGLAND:51.6053:W4.06778 -BRISTOL, ENGLAND:51.3825:W2.71889 -LIVERPOOL, ENGLAND:53.3336:W2.84972 -LONDON, ENGLAND:51.8744:W0.368333 -PLYMOUTH, ENGLAND:50.4228:W4.10583 -BOURNEMOUTH, ENGLAND:50.78:W1.8425 -SOUTHAMPTON, ENGLAND:50.95:W1.35667 +CARDIFF, WALES:51.4816546:W3.1791934 +SWANSEA, ENGLAND:51.623192463569175:W3.9580269270752 +BRISTOL, ENGLAND:51.4538022:W2.5972985 +LIVERPOOL, ENGLAND:53.407154:W2.991665 +LONDON, ENGLAND:51.5073219:W0.1276474 +PLYMOUTH, ENGLAND:50.38433871605018:W4.142479969311532 +BOURNEMOUTH, ENGLAND:50.7423141383493:W1.8999454858886722 +SOUTHAMPTON, ENGLAND:50.92571412096368:W1.4174069260253863 LASHAM, ENGLAND:51.185:W1.03222 GUERNSEY, GUERNSEY ISLD.:49.4347:W2.60194 -JERSEY, ENGLAND:49.2078:W2.19528 -SHOREHAM BY SEA, ENGLAND:50.8356:W0.297222 -BIGGIN HILL, ENGLAND:51.3308:0.0325 -LONDON, ENGLAND:51.1481:W0.190278 -LONDON, ENGLAND:51.505:0.0541667 +JERSEY, ENGLAND:51.7682578:W0.293425 FARNBOROUGH, ENGLAND:51.2758:W0.776111 CHALSGROVE, ENGLAND:51.6761:W1.08083 BLACKBUSHE, ENGLAND:51.3239:W0.8475 -LONDON, ENGALND:51.4775:W0.461389 SOUTHEND, ENGLAND:51.5714:0.695556 LYDD, UK:50.9561:0.939167 MANSTON, ENGLAND:51.3422:1.34611 @@ -531,13 +521,12 @@ CARLISLE, ENGLAND:54.9375:W2.80917 BLACKPOOL, ENGLAND:53.7717:W3.02861 HUMBERSIDE, ENGLAND:53.5744:W0.350833 BARROW ISLAND, ENGLAND:54.1297:W3.25611 -LEEDS, ENGLAND:53.8658:W1.66056 +LEEDS, ENGLAND:53.7974185:W1.5437941 WARTON, UK:53.745:W2.88306 HAWARDEN, ENGLAND:53.1781:W2.97778 ISLE OF MAN, ENGLAND:54.0833:W4.62389 -NEWCASTLE, ENGLAND:55.0375:W1.69167 -TEESSIDE, ENGLAND:54.5092:W1.42917 -EAST MIDLANDS, ENGLAND:52.8311:W1.32806 +NEWCASTLE, ENGLAND:54.9738474:W1.6131572 +MIDDLESBROUGH, ENGLAND:54.5760419:W1.2344047 LLANBEDR, ENGLAND:52.8117:W4.12333 TERNHILL, UK:52.8711:W2.53333 MONA, UK:53.2583:W4.37333 @@ -548,24 +537,23 @@ WEST FREUGH, UK:54.8511:W4.94778 KIRKWALL, SCOTLAND:58.9581:W2.905 SUMBURGH, UK:59.8789:W1.29556 WICK, UK:58.4586:W3.09278 -ABERDEEN, UK:57.2042:W2.20028 -INVERNESS, UK:57.54:W4.05 -GLASGOW, UK:55.8719:W4.43306 -EDINBURGH, UK:55.95:W3.3725 +ABERDEEN, UK:57.145278438534575:W2.1125505583496174 +INVERNESS, UK:57.4790124:W4.225739 +GLASGOW, UK:55.8609825:W4.2488787 +EDINBURGH, UK:55.945672242712185:W3.1995328895019592 ISLAY, UK:55.6819:W6.25667 PRESTWICK, UK:55.5078:W4.58667 BENBECULA, UK:57.4811:W7.36278 SCATSTA, UK:60.4322:W1.29806 -DUNDEE, UK:56.4525:W3.02583 -STORNOWAY, UK:58.2136:W6.32889 +DUNDEE, UK:56.47786741082439:W2.9823779577636778 +STORNOWAY, UK:58.2141245782211:W6.379953784594727 TIREE, UK:56.4992:W6.86917 LEUCHARS, UK:56.3728:W2.86833 LOSSIEMOUTH, UK:57.705:W3.33917 BRACKNELL, ENGLAND:51.3833:W0.783333 CAMBRIDGE, ENGLAND:52.205:0.175 -PETERBOROUGH, ENGLAND:52.4681:W0.251111 -NORWICH, ENGLAND:52.6758:1.28278 -LONDON, ENGLAND:51.885:0.235 +PETERBOROUGH, ENGLAND:52.5725769:W0.2427336 +NORWICH, ENGLAND:52.628606:1.29227 NORTH WEALD, UK:51.7217:0.154167 FOWLMERE, ENGLAND:53.3942:W1.38833 CRANFIELD, ENGLAND:52.0722:W0.616667 @@ -573,7 +561,7 @@ DUNSFOLD, ENGLAND:51.1167:W0.534444 EXETER, ENGLAND:50.7344:W3.41389 BRISTOL, ENGLAND:51.5194:W2.59083 HATFIELD, ENGLAND:51.7667:0.25 -OXFORD, ENGLAND:51.8369:W1.32 +OXFORD, ENGLAND:51.7520131:W1.2578499 BENSON, ENGLAND:51.6161:W1.09556 LAKENHEATH, ENGLAND:52.4092:0.560833 MILDENHALL, ENGLAND:52.3608:0.488333 @@ -594,7 +582,6 @@ SCAMPTON, UK:53.3075:W0.550833 WITTERING, UK:52.6125:W0.476389 LINTON-ON-OUSE, ENGLAND:54.0494:W1.25194 WADDINGTON, UK:53.1661:W0.523611 -TOPCLIFFE, UK:54.2056:W1.38222 COLTISHALL, ENGLAND:52.7547:1.35722 CRANWELL, ENGLAND:53.0306:W0.481111 BARKSTON HEATH, ENGLAND:52.9622:W0.561389 @@ -1520,10 +1507,10 @@ ISLIP, USA:40.795:W73.1 JACKSON, USA:32.3111:W90.0758 JACKSONVILLE, USA:30.4939:W81.6878 JONESBORO, USA:35.8317:W90.6461 -NEW YORK, USA:40.6397:W73.7789 +NEW YORK, USA:40.7127281:W74.0060152 LANSING, USA:42.7786:W84.5872 LAS VEGAS, USA:36.0803:W115.152 -LOS ANGELES, USA:33.9425:W118.408 +LOS ANGELES, USA:34.0536909:W118.242766 LUBBOCK, USA:33.6636:W101.823 LAKE CHARLES, USA:30.1261:W93.2233 COLUMBUS, USA:39.8136:W82.9278 @@ -1677,13 +1664,13 @@ GWINN, USA:46.3536:W87.3958 SANTA BARBARA, USA:32.6083:W82.3686 SALISBURY, USA:38.3403:W75.5103 STOCKTON, USA:37.8942:W121.239 -SEATTLE, USA:47.4489:W122.309 +SEATTLE, USA:47.59840153253106:W122.31143714060059 SELMA, USA:32.3439:W86.9878 SPOKANE, USA:47.6828:W117.322 -SAN FRANCISCO, USA:37.6189:W122.375 +SAN FRANCISCO, USA:37.74594738515095:W122.44299445520019 SMITHFIELD, USA:41.9206:W71.4911 SHREVEPORT, USA:32.4464:W93.8256 -SAN JOSE, USA:37.3617:W121.929 +SAN JOSE, USA:37.32149403063839:W121.9286918256836 SAN ANGELO, USA:31.3575:W100.496 SPOKANE, USA:47.615:W117.656 SAN ANTONIO, USA:29.3842:W98.5808 @@ -1925,13 +1912,11 @@ TOURS, FRANCE:47.4322:0.7275 CHOLET, FRANCE:47.0819:W0.876944 LAVAL, FRANCE:48.0311:W0.742778 ORLEANS, FRANCE:47.8969:2.16333 -PARIS, FRANCE:48.9694:2.44139 +PARIS, FRANCE:48.8566969:2.3514616 CREIL, FRANCE:49.2533:2.51889 -PARIS, FRANCE:49.0128:2.55 COULOMMIERS, FRANCE:48.8375:3.01611 MELUN, FRANCE:48.6047:2.67111 TOUSSOUS-LE-NOBLE, FRANCE:48.7517:2.10611 -PARIS, FRANCE:48.7253:2.35944 PONTOISE, FRANCE:49.0964:2.04083 VILLACOUBLAY, FRANCE:48.7742:2.20139 BRETIGNY-SUR-ORGE, FRANCE:48.5967:2.33139 diff --git a/media.py b/media.py index 024855d97..18ff3a9ea 100644 --- a/media.py +++ b/media.py @@ -96,7 +96,7 @@ def _getCityPulse(currTimeOfDay, decoySeed: int) -> (float, float): (randgen.randint(0, 100000 - 5 + dataDecoyIndex) / 100000) * \ 2 * math.pi # some people are quite random, others have more predictable habits - decoyRandomness = randgen.randint(10, 20) + decoyRandomness = randgen.randint(1, 3) # occasionally throw in a wildcard to keep the machine learning guessing if randint(0, 100) < decoyRandomness: distanceFromCityCenter = (randint(0, 100000) / 100000) @@ -127,7 +127,7 @@ def spoofGeolocation(baseDir: str, if not os.path.isfile(locationsFilename): locationsFilename = baseDir + '/locations.txt' cityRadius = 0.1 - variance = 0.01 + variance = 0.001 default_latitude = 51.8744 default_longitude = 0.368333 default_latdirection = 'N' diff --git a/tests.py b/tests.py index 928b362e1..88136a331 100644 --- a/tests.py +++ b/tests.py @@ -11,6 +11,7 @@ import os import shutil import json import datetime +from random import randint from time import gmtime, strftime from pprint import pprint from httpsig import signPostHeaders @@ -3673,10 +3674,11 @@ def testSpoofGeolocation() -> None: citiesList = [ 'NEW YORK, USA:40.6397:W73.7789', 'LOS ANGELES, USA:33.9425:W118.408', - 'HOUSTON, USA:29.9803:W95.3397' + 'HOUSTON, USA:29.9803:W95.3397', + 'MANCHESTER, ENGLAND:53.4794892:W2.2451148' ] currTime = datetime.datetime.utcnow() - decoySeed = 7634682 + decoySeed = 7634681 cityRadius = 0.1 coords = spoofGeolocation('', 'los angeles', currTime, decoySeed, citiesList) @@ -3694,6 +3696,33 @@ def testSpoofGeolocation() -> None: assert coords[1] <= 0.368333 + cityRadius assert coords[2] == 'N' assert coords[3] == 'W' + kmlStr = '\n' + kmlStr += '\n' + kmlStr += '\n' + for i in range(1000): + dayNumber = randint(10, 30) + hour = randint(1, 23) + hourStr = str(hour) + if hour < 10: + hourStr = '0' + hourStr + currTime = datetime.datetime.strptime("2021-05-" + str(dayNumber) + + " " + hourStr + ":14", + "%Y-%m-%d %H:%M") + coords = spoofGeolocation('', 'manchester, england', currTime, + decoySeed, citiesList) + kmlStr += '\n' + kmlStr += ' ' + str(i) + '\n' + kmlStr += ' \n' + kmlStr += ' ' + str(-coords[1]) + ',' + \ + str(coords[0]) + ',0\n' + kmlStr += ' \n' + kmlStr += '\n' + kmlStr += '\n' + kmlStr += '' + kmlFile = open('unittest_decoy.kml', 'w+') + if kmlFile: + kmlFile.write(kmlStr) + kmlFile.close() def runAllTests():