commit 1c2f7782d6aaab77a1a692c0cef587c244a4e43d Author: Matous Smekal Date: Sat Jun 29 19:20:16 2024 +0200 init diff --git a/frontend/.vscode/sftp.json b/frontend/.vscode/sftp.json new file mode 100644 index 0000000..ba6b569 --- /dev/null +++ b/frontend/.vscode/sftp.json @@ -0,0 +1,12 @@ +{ + "name": "Apache", + "host": "192.168.50.166", + "protocol": "sftp", + "port": 22, + "username": "vdev", + "remotePath": "/home/vdev/search/frontend", + "uploadOnSave": true, + "password": "omajda", + "useTempFile": false, + "openSsh": false +} diff --git a/frontend/goget_logo.png b/frontend/goget_logo.png new file mode 100644 index 0000000..3136788 Binary files /dev/null and b/frontend/goget_logo.png differ diff --git a/frontend/googeticon.png b/frontend/googeticon.png new file mode 100644 index 0000000..ee0f0fc Binary files /dev/null and b/frontend/googeticon.png differ diff --git a/frontend/index.css b/frontend/index.css new file mode 100644 index 0000000..30fb3bc --- /dev/null +++ b/frontend/index.css @@ -0,0 +1,69 @@ +.logo { + display: block; + margin-left: auto; + margin-right: auto; + width: 25%; +} + +.searchbar { + background: transparent; + color: white; + outline: 0.05cm solid #5f6368; + border-color: transparent; + border-radius: 25px; + +} + +.searchbar:hover { + background: #303134; + color: white; + outline: none; + border-color: transparent; + border-radius: 25px; + +} + +.searchContainer { + margin: auto; + width: 50%; + padding: 10px; + align-items: center; + text-align: center; +} + +#searchbuttons { + + margin-top: 3%; +} + +#keywords { + overflow-wrap: break-all; + inline-size: 70%; + font-size: larger; + height: 1.25cm; + text-align: left; + padding-left: 3%; +} + +body { + margin-top: 10%; + background-color: #202124; + color: white; + font-family: 'Roboto', sans-serif; +} + +button { + font-size: medium; + margin-right: 10px; + color: white; + width: 3.5cm; + height: 1cm; + background-color: #303134; + border: none; + border-radius: 2px; +} + +button:hover { + border: 0.05cm solid #5f6368;; + border-radius: 2px; +} \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..8c8b63e --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + Googet - Search Engine + + + + + + + +
+
+ + +
+
+ + +
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/frontend/pico.css b/frontend/pico.css new file mode 100644 index 0000000..84e6bbf --- /dev/null +++ b/frontend/pico.css @@ -0,0 +1,40 @@ +.logo { + vertical-align: middle; + width: 6%; + padding-right: 2%; + padding-left: 3%; +} + +.topbar { + background-color: gray; + width: fit-content; + height: fit-content; + position: absolute; + top: 10px; /* Offset from the top */ + /* left: 10px; Offset from the left */ + right: auto; /* Ensure it's not centered horizontally */ + bottom: auto; /* Ensure it's not centered vertically */ + margin: 0; /* Remove auto margin */ + padding: 10px; + /* border-radius: 10px; Optional: add border radius for rounded corners */ +} + +.searchbar { + background: #303134; + color: white; + border-color: transparent; + border-radius: 25px; + height: 1.15cm; + width: 36%; +} + +.searchbar:hover { + border-radius: 25px; + box-shadow: 5px 10px 10px rgba(0, 0, 0, 0.2); +} + +body { + background-color: #202124; + color: white; + font-family: 'Roboto', sans-serif; +} diff --git a/frontend/search.html b/frontend/search.html new file mode 100644 index 0000000..d86d94f --- /dev/null +++ b/frontend/search.html @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + Googet - Search Engine + + + + + + +
+ + + +
+
+ +
+ + + + \ No newline at end of file diff --git a/scraper.code-workspace b/scraper.code-workspace new file mode 100644 index 0000000..2cfee8c --- /dev/null +++ b/scraper.code-workspace @@ -0,0 +1,14 @@ +{ + "folders": [ + { + "path": "scraper" + }, + { + "path": "search" + }, + { + "path": "frontend" + } + ], + "settings": {} +} \ No newline at end of file diff --git a/scraper/geckodriver b/scraper/geckodriver new file mode 100755 index 0000000..2cb1288 Binary files /dev/null and b/scraper/geckodriver differ diff --git a/scraper/go.mod b/scraper/go.mod new file mode 100644 index 0000000..0e30d54 --- /dev/null +++ b/scraper/go.mod @@ -0,0 +1,13 @@ +module portscanner + +go 1.18 + +require ( + github.com/PuerkitoBio/goquery v1.9.2 // indirect + github.com/andybalholm/cascadia v1.3.2 // indirect + github.com/blang/semver v3.5.1+incompatible // indirect + github.com/iverly/go-mcping v1.0.1 // indirect + github.com/jmoiron/jsonq v0.0.0-20150511023944-e874b168d07e // indirect + github.com/tebeka/selenium v0.9.9 // indirect + golang.org/x/net v0.24.0 // indirect +) diff --git a/scraper/go.sum b/scraper/go.sum new file mode 100644 index 0000000..9fd7905 --- /dev/null +++ b/scraper/go.sum @@ -0,0 +1,144 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.41.0/go.mod h1:OauMR7DV8fzvZIl2qg6rkaIhD/vmgk4iwEw/h6ercmg= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/BurntSushi/xgbutil v0.0.0-20160919175755-f7c97cef3b4e/go.mod h1:uw9h2sd4WWHOPdJ13MQpwK5qYWKYDumDqxWWIknEQ+k= +github.com/PuerkitoBio/goquery v1.9.2 h1:4/wZksC3KgkQw7SQgkKotmKljk0M6V8TUvA8Wb4yPeE= +github.com/PuerkitoBio/goquery v1.9.2/go.mod h1:GHPCaP0ODyyxqcNoFGYlAprUFH81NuRPd0GX3Zu2Mvk= +github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= +github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-github/v27 v27.0.4/go.mod h1:/0Gr8pJ55COkmv+S/yPKCczSkUPIM/LnFyubufRNIS0= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/iverly/go-mcping v1.0.1 h1:Gmza80C+CZw1XjDNWDdPg0lARlUqR5Q2/uGuEcReSZE= +github.com/iverly/go-mcping v1.0.1/go.mod h1:OTdb13yxI0zg1VKs7G53T43N2hAduaPeUcY+PbP608g= +github.com/jmoiron/jsonq v0.0.0-20150511023944-e874b168d07e h1:ZZCvgaRDZg1gC9/1xrsgaJzQUCQgniKtw0xjWywWAOE= +github.com/jmoiron/jsonq v0.0.0-20150511023944-e874b168d07e/go.mod h1:+rHyWac2R9oAZwFe1wGY2HBzFJJy++RHBg1cU23NkD8= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/tebeka/selenium v0.9.9 h1:cNziB+etNgyH/7KlNI7RMC1ua5aH1+5wUlFQyzeMh+w= +github.com/tebeka/selenium v0.9.9/go.mod h1:5Fr8+pUvU6B1OiPfkdCKdXZyr5znvVkxuPd0NOdZCQc= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624190245-7f2218787638/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190626174449-989357319d63/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= diff --git a/scraper/ip.go b/scraper/ip.go new file mode 100644 index 0000000..5c48084 --- /dev/null +++ b/scraper/ip.go @@ -0,0 +1,19 @@ +package main + +import ( + "strings" +) + +// parseIPRange parses a string of IP ranges into start and end IP slices +func parseIPRange(input string) ([]string, []string) { + lines := strings.Split(input, "\n") + var srange, erange []string + for _, line := range lines { + parts := strings.Fields(line) + if len(parts) >= 2 { + srange = append(srange, parts[0]) + erange = append(erange, parts[1]) + } + } + return srange, erange +} diff --git a/scraper/main.go b/scraper/main.go new file mode 100644 index 0000000..6b668c0 --- /dev/null +++ b/scraper/main.go @@ -0,0 +1,165 @@ +package main + +import ( + "bufio" + "fmt" + "log" + "net" + "strings" + "sync" + "time" +) + +// Function to scan a single port on a single IP address +func scanPort(ip string, port int, results chan<- string) { + address := fmt.Sprintf("%s:%d", ip, port) + conn, err := net.DialTimeout("tcp", address, 1*time.Second) + if err != nil { + results <- fmt.Sprintf("Closed: %s:%d", ip, port) + return + } + conn.Close() + results <- fmt.Sprintf("Open: %s:%d", ip, port) +} + +// Function to parse the IP range and perform port scanning +func scanRange(startIP, endIP string, ports []int, results chan<- string, wg *sync.WaitGroup) { + defer wg.Done() + start := net.ParseIP(startIP) + end := net.ParseIP(endIP) + for ip := start; !ip.Equal(end); ip = nextIP(ip) { + for _, port := range ports { + go scanPort(ip.String(), port, results) + } + } +} + +func nextIP(ip net.IP) net.IP { + ip = ip.To4() + for j := len(ip) - 1; j >= 0; j-- { + ip[j]++ + if ip[j] != 0 { + break + } + } + return ip +} + +// Function to process scan results +func processResults(results chan string, wg *sync.WaitGroup, scannedCount *int, totalCount int, progressCh chan<- int) { + defer wg.Done() + for result := range results { + if strings.HasPrefix(result, "Open") { + fmt.Println(result) + parts := strings.Split(result, ":") + ip := parts[1] + port := parts[2] + url := fmt.Sprintf("http://%s:%s", ip, port) + data, err := scrapeData(strings.Replace(url, " ", "", -1)) + fmt.Println(data) + if err == nil { + err = postData(map[string]interface{}{"url": url, "keywords": data}) + if err != nil { + log.Printf("Error posting data for %s: %v", url, err) + } + } else { + log.Printf("Error scraping data for %s: %v", url, err) + } + } + *scannedCount++ + if *scannedCount%100 == 0 || *scannedCount == totalCount { + progressCh <- (*scannedCount * 100) / totalCount + } + } +} + +func main() { + //https://lite.ip2location.com + ipRanges := ` +96.125.176.0 96.125.177.255 512 +96.125.180.0 96.125.223.255 11,264 +96.125.240.0 96.125.255.255 4,096 +96.126.70.0 96.126.70.255 256 +96.127.192.0 96.127.255.255 16,384 +96.20.0.0 96.23.255.255 262,144 +96.30.128.0 96.30.191.255 16,384 +96.43.224.0 96.43.239.255 4,096 +96.44.192.0 96.45.15.255 20,480 +96.44.32.0 96.44.127.255 24,576 +96.45.192.0 96.45.207.255 4,096 +96.45.43.0 96.45.43.255 256 +96.45.68.0 96.45.68.255 256 +96.46.192.0 96.46.207.255 4,096 +96.46.32.0 96.46.63.255 8,192 +96.47.176.0 96.47.191.255 4,096 +96.47.74.0 96.47.74.255 256 +96.48.0.0 96.55.255.255 524,288 +96.6.145.0 96.6.145.255 256 +96.6.152.0 96.6.157.255 1,536 +96.63.0.0 96.63.63.255 16,384 +96.63.128.0 96.63.175.255 12,288 +96.7.231.0 96.7.231.255 256 +96.7.68.0 96.7.71.255 1,024 +96.9.226.0 96.9.226.255 256 +96.9.96.0 96.9.127.255 8,192 +97.107.176.0 97.107.191.255 4,096 +` + + // Define the ports to be scanned + ports := []int{80, 8080, 8880} + results := make(chan string) + progressCh := make(chan int) + + var totalCount, scannedCount int + var wg sync.WaitGroup + + // Calculate total count of IP addresses + scanner := bufio.NewScanner(strings.NewReader(ipRanges)) + for scanner.Scan() { + line := scanner.Text() + parts := strings.Fields(line) + if len(parts) >= 2 { + _, endIP := parts[0], parts[1] + totalCount += countIPs(parts[0], endIP) + } + } + + // Start processing results + wg.Add(1) + go processResults(results, &wg, &scannedCount, totalCount, progressCh) + + // Parse IP ranges and start scanning + scanner = bufio.NewScanner(strings.NewReader(ipRanges)) + for scanner.Scan() { + line := scanner.Text() + parts := strings.Fields(line) + if len(parts) >= 2 { + startIP := parts[0] + endIP := parts[1] + wg.Add(1) + go scanRange(startIP, endIP, ports, results, &wg) + } + } + + // Progress reporting + go func() { + for progress := range progressCh { + fmt.Printf("Progress: %d%%\n", progress) + } + }() + + // Allow some time for scans to complete + wg.Wait() + close(results) + close(progressCh) +} + +func countIPs(startIP, endIP string) int { + start := net.ParseIP(startIP) + end := net.ParseIP(endIP) + count := 0 + for ip := start; !ip.Equal(end); ip = nextIP(ip) { + count++ + } + return count + 1 // Include endIP +} diff --git a/scraper/minecraftinterface.go b/scraper/minecraftinterface.go new file mode 100644 index 0000000..5d64d77 --- /dev/null +++ b/scraper/minecraftinterface.go @@ -0,0 +1,25 @@ +package main + +import ( + "fmt" + + "github.com/iverly/go-mcping/mcping" +) + +func pingMinecraft(ip string) { + // Create a new Pinger instance + pinger := mcping.NewPinger() + + // Ping the Minecraft server + response, err := pinger.Ping(ip, 25565) + if err != nil { + fmt.Println("Failed to ping server: %v\n", err) + return + } + + // Print server information + fmt.Println("Server Version: %s\n", response.Version) + fmt.Println("Players Online: %d / %d\n", response.PlayerCount.Online, response.PlayerCount.Max) + fmt.Println("MOTD: %s\n", response.Motd) + fmt.Println("Latency: %d ms\n", response.Latency) +} diff --git a/scraper/open_ports.csv b/scraper/open_ports.csv new file mode 100644 index 0000000..e69de29 diff --git a/scraper/scan_log.txt b/scraper/scan_log.txt new file mode 100644 index 0000000..e69de29 diff --git a/scraper/scrape.go b/scraper/scrape.go new file mode 100644 index 0000000..350159a --- /dev/null +++ b/scraper/scrape.go @@ -0,0 +1,93 @@ +package main + +import ( + "crypto/tls" + "fmt" + "net/http" + "strings" + "time" + + "golang.org/x/net/html" +) + +// Function to scrape data from a URL +func scrapeData(url string) ([]string, error) { + client := &http.Client{ + Timeout: 4 * time.Second, + Transport: &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + }, + } + + resp, err := client.Get(url) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("error fetching URL: %s", resp.Status) + } + + doc, err := html.Parse(resp.Body) + if err != nil { + return nil, err + } + + var title, metaTags, headers []string + + var f func(*html.Node) + f = func(n *html.Node) { + if n.Type == html.ElementNode { + switch n.Data { + case "title": + if n.FirstChild != nil { + titleText := strings.TrimSpace(n.FirstChild.Data) + if titleText != "" { + title = append(title, titleText) + } + } + case "meta": + var name, content string + for _, attr := range n.Attr { + if attr.Key == "name" || attr.Key == "property" { + name = attr.Val + } + if attr.Key == "content" { + content = attr.Val + } + } + if (name == "keywords" || name == "description" || + name == "og:site_name" || name == "og:description" || name == "og:title") && + content != "" { + metaTags = append(metaTags, content) + } + case "h1", "h2", "h3": + if n.FirstChild != nil { + headerText := strings.TrimSpace(n.FirstChild.Data) + if headerText != "" { + headers = append(headers, headerText) + } + } + } + } + for c := n.FirstChild; c != nil; c = c.NextSibling { + f(c) + } + } + f(doc) + + // Combine title, metaTags, and headers into a single result slice + var parts []string + if len(title) > 0 { + parts = append(parts, title...) + } + if len(metaTags) > 0 { + parts = append(parts, metaTags...) + } + if len(headers) > 0 { + parts = append(parts, headers...) + } + + return parts, nil +} diff --git a/scraper/screenshots/77.48.1.132:80 b/scraper/screenshots/77.48.1.132:80 new file mode 100644 index 0000000..5e41dd5 Binary files /dev/null and b/scraper/screenshots/77.48.1.132:80 differ diff --git a/scraper/screenshots/77.48.120.246:80 b/scraper/screenshots/77.48.120.246:80 new file mode 100644 index 0000000..7ae170b Binary files /dev/null and b/scraper/screenshots/77.48.120.246:80 differ diff --git a/scraper/screenshots/77.48.18.138:80 b/scraper/screenshots/77.48.18.138:80 new file mode 100644 index 0000000..2d7245e Binary files /dev/null and b/scraper/screenshots/77.48.18.138:80 differ diff --git a/scraper/screenshots/77.48.18.174:80 b/scraper/screenshots/77.48.18.174:80 new file mode 100644 index 0000000..336cb21 Binary files /dev/null and b/scraper/screenshots/77.48.18.174:80 differ diff --git a/scraper/screenshots/77.48.2.131:80 b/scraper/screenshots/77.48.2.131:80 new file mode 100644 index 0000000..34eb3b4 Binary files /dev/null and b/scraper/screenshots/77.48.2.131:80 differ diff --git a/scraper/screenshots/77.48.2.134:80 b/scraper/screenshots/77.48.2.134:80 new file mode 100644 index 0000000..df4ab3d Binary files /dev/null and b/scraper/screenshots/77.48.2.134:80 differ diff --git a/scraper/screenshots/77.48.2.36:80 b/scraper/screenshots/77.48.2.36:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/77.48.2.36:80 differ diff --git a/scraper/screenshots/77.48.2.6:80 b/scraper/screenshots/77.48.2.6:80 new file mode 100644 index 0000000..f4a1f3c Binary files /dev/null and b/scraper/screenshots/77.48.2.6:80 differ diff --git a/scraper/screenshots/77.48.22.124:8080 b/scraper/screenshots/77.48.22.124:8080 new file mode 100644 index 0000000..692aef5 Binary files /dev/null and b/scraper/screenshots/77.48.22.124:8080 differ diff --git a/scraper/screenshots/77.48.22.137:80 b/scraper/screenshots/77.48.22.137:80 new file mode 100644 index 0000000..7872eef Binary files /dev/null and b/scraper/screenshots/77.48.22.137:80 differ diff --git a/scraper/screenshots/77.48.23.32:80 b/scraper/screenshots/77.48.23.32:80 new file mode 100644 index 0000000..358a960 Binary files /dev/null and b/scraper/screenshots/77.48.23.32:80 differ diff --git a/scraper/screenshots/77.48.24.107:80 b/scraper/screenshots/77.48.24.107:80 new file mode 100644 index 0000000..6e068e9 Binary files /dev/null and b/scraper/screenshots/77.48.24.107:80 differ diff --git a/scraper/screenshots/77.48.24.205:80 b/scraper/screenshots/77.48.24.205:80 new file mode 100644 index 0000000..7688b02 Binary files /dev/null and b/scraper/screenshots/77.48.24.205:80 differ diff --git a/scraper/screenshots/77.48.24.59:80 b/scraper/screenshots/77.48.24.59:80 new file mode 100644 index 0000000..9dee124 Binary files /dev/null and b/scraper/screenshots/77.48.24.59:80 differ diff --git a/scraper/screenshots/77.48.26.214:80 b/scraper/screenshots/77.48.26.214:80 new file mode 100644 index 0000000..d9a14e2 Binary files /dev/null and b/scraper/screenshots/77.48.26.214:80 differ diff --git a/scraper/screenshots/77.48.26.43:8080 b/scraper/screenshots/77.48.26.43:8080 new file mode 100644 index 0000000..5e41dd5 Binary files /dev/null and b/scraper/screenshots/77.48.26.43:8080 differ diff --git a/scraper/screenshots/77.48.4.9:80 b/scraper/screenshots/77.48.4.9:80 new file mode 100644 index 0000000..77df8e6 Binary files /dev/null and b/scraper/screenshots/77.48.4.9:80 differ diff --git a/scraper/screenshots/77.48.46.49:80 b/scraper/screenshots/77.48.46.49:80 new file mode 100644 index 0000000..84e27ee Binary files /dev/null and b/scraper/screenshots/77.48.46.49:80 differ diff --git a/scraper/screenshots/77.48.47.115:80 b/scraper/screenshots/77.48.47.115:80 new file mode 100644 index 0000000..5f7f247 Binary files /dev/null and b/scraper/screenshots/77.48.47.115:80 differ diff --git a/scraper/screenshots/95.142.64.116:80 b/scraper/screenshots/95.142.64.116:80 new file mode 100644 index 0000000..0f1d5f0 Binary files /dev/null and b/scraper/screenshots/95.142.64.116:80 differ diff --git a/scraper/screenshots/95.142.64.127:80 b/scraper/screenshots/95.142.64.127:80 new file mode 100644 index 0000000..718aba0 Binary files /dev/null and b/scraper/screenshots/95.142.64.127:80 differ diff --git a/scraper/screenshots/95.142.64.145:80 b/scraper/screenshots/95.142.64.145:80 new file mode 100644 index 0000000..0f1d5f0 Binary files /dev/null and b/scraper/screenshots/95.142.64.145:80 differ diff --git a/scraper/screenshots/95.142.64.152:443 b/scraper/screenshots/95.142.64.152:443 new file mode 100644 index 0000000..8adda4e Binary files /dev/null and b/scraper/screenshots/95.142.64.152:443 differ diff --git a/scraper/screenshots/95.142.64.162:8080 b/scraper/screenshots/95.142.64.162:8080 new file mode 100644 index 0000000..24a830c Binary files /dev/null and b/scraper/screenshots/95.142.64.162:8080 differ diff --git a/scraper/screenshots/95.142.64.164:443 b/scraper/screenshots/95.142.64.164:443 new file mode 100644 index 0000000..c8347b3 Binary files /dev/null and b/scraper/screenshots/95.142.64.164:443 differ diff --git a/scraper/screenshots/95.142.64.168:443 b/scraper/screenshots/95.142.64.168:443 new file mode 100644 index 0000000..0e44155 Binary files /dev/null and b/scraper/screenshots/95.142.64.168:443 differ diff --git a/scraper/screenshots/95.142.64.170:443 b/scraper/screenshots/95.142.64.170:443 new file mode 100644 index 0000000..3d1ab59 Binary files /dev/null and b/scraper/screenshots/95.142.64.170:443 differ diff --git a/scraper/screenshots/95.142.64.174:443 b/scraper/screenshots/95.142.64.174:443 new file mode 100644 index 0000000..d8190f8 Binary files /dev/null and b/scraper/screenshots/95.142.64.174:443 differ diff --git a/scraper/screenshots/95.142.64.176:443 b/scraper/screenshots/95.142.64.176:443 new file mode 100644 index 0000000..5d28805 Binary files /dev/null and b/scraper/screenshots/95.142.64.176:443 differ diff --git a/scraper/screenshots/95.142.64.177:443 b/scraper/screenshots/95.142.64.177:443 new file mode 100644 index 0000000..8c3adfe Binary files /dev/null and b/scraper/screenshots/95.142.64.177:443 differ diff --git a/scraper/screenshots/95.142.64.183:443 b/scraper/screenshots/95.142.64.183:443 new file mode 100644 index 0000000..816f460 Binary files /dev/null and b/scraper/screenshots/95.142.64.183:443 differ diff --git a/scraper/screenshots/95.142.64.184:443 b/scraper/screenshots/95.142.64.184:443 new file mode 100644 index 0000000..9a497b4 Binary files /dev/null and b/scraper/screenshots/95.142.64.184:443 differ diff --git a/scraper/screenshots/95.142.64.185:443 b/scraper/screenshots/95.142.64.185:443 new file mode 100644 index 0000000..346eefe Binary files /dev/null and b/scraper/screenshots/95.142.64.185:443 differ diff --git a/scraper/screenshots/95.142.64.195:80 b/scraper/screenshots/95.142.64.195:80 new file mode 100644 index 0000000..462df44 Binary files /dev/null and b/scraper/screenshots/95.142.64.195:80 differ diff --git a/scraper/screenshots/95.142.64.199:443 b/scraper/screenshots/95.142.64.199:443 new file mode 100644 index 0000000..7aa2977 Binary files /dev/null and b/scraper/screenshots/95.142.64.199:443 differ diff --git a/scraper/screenshots/95.142.64.199:80 b/scraper/screenshots/95.142.64.199:80 new file mode 100644 index 0000000..0f1d5f0 Binary files /dev/null and b/scraper/screenshots/95.142.64.199:80 differ diff --git a/scraper/screenshots/95.142.64.201:80 b/scraper/screenshots/95.142.64.201:80 new file mode 100644 index 0000000..f6393f7 Binary files /dev/null and b/scraper/screenshots/95.142.64.201:80 differ diff --git a/scraper/screenshots/95.142.64.203:80 b/scraper/screenshots/95.142.64.203:80 new file mode 100644 index 0000000..6ad842f Binary files /dev/null and b/scraper/screenshots/95.142.64.203:80 differ diff --git a/scraper/screenshots/95.142.64.40:443 b/scraper/screenshots/95.142.64.40:443 new file mode 100644 index 0000000..f574cdc Binary files /dev/null and b/scraper/screenshots/95.142.64.40:443 differ diff --git a/scraper/screenshots/95.142.64.41:443 b/scraper/screenshots/95.142.64.41:443 new file mode 100644 index 0000000..84a47fc Binary files /dev/null and b/scraper/screenshots/95.142.64.41:443 differ diff --git a/scraper/screenshots/95.142.64.47:80 b/scraper/screenshots/95.142.64.47:80 new file mode 100644 index 0000000..1c99dcf Binary files /dev/null and b/scraper/screenshots/95.142.64.47:80 differ diff --git a/scraper/screenshots/95.142.64.50:80 b/scraper/screenshots/95.142.64.50:80 new file mode 100644 index 0000000..8202e1f Binary files /dev/null and b/scraper/screenshots/95.142.64.50:80 differ diff --git a/scraper/screenshots/95.142.64.51:80 b/scraper/screenshots/95.142.64.51:80 new file mode 100644 index 0000000..3211a39 Binary files /dev/null and b/scraper/screenshots/95.142.64.51:80 differ diff --git a/scraper/screenshots/95.142.64.52:80 b/scraper/screenshots/95.142.64.52:80 new file mode 100644 index 0000000..172e0b4 Binary files /dev/null and b/scraper/screenshots/95.142.64.52:80 differ diff --git a/scraper/screenshots/95.142.64.63:80 b/scraper/screenshots/95.142.64.63:80 new file mode 100644 index 0000000..3f73450 Binary files /dev/null and b/scraper/screenshots/95.142.64.63:80 differ diff --git a/scraper/screenshots/95.142.64.66:80 b/scraper/screenshots/95.142.64.66:80 new file mode 100644 index 0000000..1033a22 Binary files /dev/null and b/scraper/screenshots/95.142.64.66:80 differ diff --git a/scraper/screenshots/95.142.65.105:80 b/scraper/screenshots/95.142.65.105:80 new file mode 100644 index 0000000..a44e546 Binary files /dev/null and b/scraper/screenshots/95.142.65.105:80 differ diff --git a/scraper/screenshots/95.142.65.113:80 b/scraper/screenshots/95.142.65.113:80 new file mode 100644 index 0000000..6ad842f Binary files /dev/null and b/scraper/screenshots/95.142.65.113:80 differ diff --git a/scraper/screenshots/95.142.65.118:80 b/scraper/screenshots/95.142.65.118:80 new file mode 100644 index 0000000..8202e1f Binary files /dev/null and b/scraper/screenshots/95.142.65.118:80 differ diff --git a/scraper/screenshots/95.142.65.179:443 b/scraper/screenshots/95.142.65.179:443 new file mode 100644 index 0000000..36b2023 Binary files /dev/null and b/scraper/screenshots/95.142.65.179:443 differ diff --git a/scraper/screenshots/95.142.65.231:80 b/scraper/screenshots/95.142.65.231:80 new file mode 100644 index 0000000..2ca60db Binary files /dev/null and b/scraper/screenshots/95.142.65.231:80 differ diff --git a/scraper/screenshots/95.142.65.53:80 b/scraper/screenshots/95.142.65.53:80 new file mode 100644 index 0000000..d4ace46 Binary files /dev/null and b/scraper/screenshots/95.142.65.53:80 differ diff --git a/scraper/screenshots/95.142.66.106:80 b/scraper/screenshots/95.142.66.106:80 new file mode 100644 index 0000000..008d515 Binary files /dev/null and b/scraper/screenshots/95.142.66.106:80 differ diff --git a/scraper/screenshots/95.142.66.136:80 b/scraper/screenshots/95.142.66.136:80 new file mode 100644 index 0000000..d344753 Binary files /dev/null and b/scraper/screenshots/95.142.66.136:80 differ diff --git a/scraper/screenshots/95.142.66.141:80 b/scraper/screenshots/95.142.66.141:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.142.66.141:80 differ diff --git a/scraper/screenshots/95.142.66.149:8080 b/scraper/screenshots/95.142.66.149:8080 new file mode 100644 index 0000000..222c9f1 Binary files /dev/null and b/scraper/screenshots/95.142.66.149:8080 differ diff --git a/scraper/screenshots/95.142.66.163:80 b/scraper/screenshots/95.142.66.163:80 new file mode 100644 index 0000000..b3c4726 Binary files /dev/null and b/scraper/screenshots/95.142.66.163:80 differ diff --git a/scraper/screenshots/95.142.66.168:443 b/scraper/screenshots/95.142.66.168:443 new file mode 100644 index 0000000..e50151e Binary files /dev/null and b/scraper/screenshots/95.142.66.168:443 differ diff --git a/scraper/screenshots/95.142.66.175:80 b/scraper/screenshots/95.142.66.175:80 new file mode 100644 index 0000000..cd3d89f Binary files /dev/null and b/scraper/screenshots/95.142.66.175:80 differ diff --git a/scraper/screenshots/95.142.66.178:80 b/scraper/screenshots/95.142.66.178:80 new file mode 100644 index 0000000..9c065ca Binary files /dev/null and b/scraper/screenshots/95.142.66.178:80 differ diff --git a/scraper/screenshots/95.142.66.46:80 b/scraper/screenshots/95.142.66.46:80 new file mode 100644 index 0000000..0f1d5f0 Binary files /dev/null and b/scraper/screenshots/95.142.66.46:80 differ diff --git a/scraper/screenshots/95.142.66.46:8080 b/scraper/screenshots/95.142.66.46:8080 new file mode 100644 index 0000000..065d022 Binary files /dev/null and b/scraper/screenshots/95.142.66.46:8080 differ diff --git a/scraper/screenshots/95.142.67.113:80 b/scraper/screenshots/95.142.67.113:80 new file mode 100644 index 0000000..b6d8476 Binary files /dev/null and b/scraper/screenshots/95.142.67.113:80 differ diff --git a/scraper/screenshots/95.142.67.27:80 b/scraper/screenshots/95.142.67.27:80 new file mode 100644 index 0000000..3329ea9 Binary files /dev/null and b/scraper/screenshots/95.142.67.27:80 differ diff --git a/scraper/screenshots/95.142.67.65:80 b/scraper/screenshots/95.142.67.65:80 new file mode 100644 index 0000000..6ad842f Binary files /dev/null and b/scraper/screenshots/95.142.67.65:80 differ diff --git a/scraper/screenshots/95.142.67.65:8080 b/scraper/screenshots/95.142.67.65:8080 new file mode 100644 index 0000000..47d89dd Binary files /dev/null and b/scraper/screenshots/95.142.67.65:8080 differ diff --git a/scraper/screenshots/95.142.68.10:443 b/scraper/screenshots/95.142.68.10:443 new file mode 100644 index 0000000..68a31ed Binary files /dev/null and b/scraper/screenshots/95.142.68.10:443 differ diff --git a/scraper/screenshots/95.142.68.98:80 b/scraper/screenshots/95.142.68.98:80 new file mode 100644 index 0000000..6e31b8b Binary files /dev/null and b/scraper/screenshots/95.142.68.98:80 differ diff --git a/scraper/screenshots/95.142.69.134:80 b/scraper/screenshots/95.142.69.134:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.142.69.134:80 differ diff --git a/scraper/screenshots/95.142.69.13:80 b/scraper/screenshots/95.142.69.13:80 new file mode 100644 index 0000000..8a0e9f3 Binary files /dev/null and b/scraper/screenshots/95.142.69.13:80 differ diff --git a/scraper/screenshots/95.142.69.66:443 b/scraper/screenshots/95.142.69.66:443 new file mode 100644 index 0000000..54bdca1 Binary files /dev/null and b/scraper/screenshots/95.142.69.66:443 differ diff --git a/scraper/screenshots/95.142.75.170:80 b/scraper/screenshots/95.142.75.170:80 new file mode 100644 index 0000000..735b7f9 Binary files /dev/null and b/scraper/screenshots/95.142.75.170:80 differ diff --git a/scraper/screenshots/95.142.77.8:80 b/scraper/screenshots/95.142.77.8:80 new file mode 100644 index 0000000..9b5a691 Binary files /dev/null and b/scraper/screenshots/95.142.77.8:80 differ diff --git a/scraper/screenshots/95.142.78.203:80 b/scraper/screenshots/95.142.78.203:80 new file mode 100644 index 0000000..b63ac68 Binary files /dev/null and b/scraper/screenshots/95.142.78.203:80 differ diff --git a/scraper/screenshots/95.142.78.2:80 b/scraper/screenshots/95.142.78.2:80 new file mode 100644 index 0000000..80278d0 Binary files /dev/null and b/scraper/screenshots/95.142.78.2:80 differ diff --git a/scraper/screenshots/95.142.79.146:80 b/scraper/screenshots/95.142.79.146:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.142.79.146:80 differ diff --git a/scraper/screenshots/95.143.172.140:80 b/scraper/screenshots/95.143.172.140:80 new file mode 100644 index 0000000..f137b4f Binary files /dev/null and b/scraper/screenshots/95.143.172.140:80 differ diff --git a/scraper/screenshots/95.143.172.15:443 b/scraper/screenshots/95.143.172.15:443 new file mode 100644 index 0000000..4638e68 Binary files /dev/null and b/scraper/screenshots/95.143.172.15:443 differ diff --git a/scraper/screenshots/95.143.172.183:80 b/scraper/screenshots/95.143.172.183:80 new file mode 100644 index 0000000..4b23501 Binary files /dev/null and b/scraper/screenshots/95.143.172.183:80 differ diff --git a/scraper/screenshots/95.143.172.211:80 b/scraper/screenshots/95.143.172.211:80 new file mode 100644 index 0000000..1da3ae8 Binary files /dev/null and b/scraper/screenshots/95.143.172.211:80 differ diff --git a/scraper/screenshots/95.143.172.226:80 b/scraper/screenshots/95.143.172.226:80 new file mode 100644 index 0000000..4ef0862 Binary files /dev/null and b/scraper/screenshots/95.143.172.226:80 differ diff --git a/scraper/screenshots/95.143.172.22:443 b/scraper/screenshots/95.143.172.22:443 new file mode 100644 index 0000000..0f71cc5 Binary files /dev/null and b/scraper/screenshots/95.143.172.22:443 differ diff --git a/scraper/screenshots/95.143.172.230:80 b/scraper/screenshots/95.143.172.230:80 new file mode 100644 index 0000000..4ccbc9f Binary files /dev/null and b/scraper/screenshots/95.143.172.230:80 differ diff --git a/scraper/screenshots/95.143.172.246:80 b/scraper/screenshots/95.143.172.246:80 new file mode 100644 index 0000000..f09bb49 Binary files /dev/null and b/scraper/screenshots/95.143.172.246:80 differ diff --git a/scraper/screenshots/95.143.172.250:80 b/scraper/screenshots/95.143.172.250:80 new file mode 100644 index 0000000..0e14bed Binary files /dev/null and b/scraper/screenshots/95.143.172.250:80 differ diff --git a/scraper/screenshots/95.143.172.31:8080 b/scraper/screenshots/95.143.172.31:8080 new file mode 100644 index 0000000..22eeb95 Binary files /dev/null and b/scraper/screenshots/95.143.172.31:8080 differ diff --git a/scraper/screenshots/95.143.172.40:80 b/scraper/screenshots/95.143.172.40:80 new file mode 100644 index 0000000..54a7473 Binary files /dev/null and b/scraper/screenshots/95.143.172.40:80 differ diff --git a/scraper/screenshots/95.143.172.58:80 b/scraper/screenshots/95.143.172.58:80 new file mode 100644 index 0000000..d8e5506 Binary files /dev/null and b/scraper/screenshots/95.143.172.58:80 differ diff --git a/scraper/screenshots/95.156.195.115:80 b/scraper/screenshots/95.156.195.115:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/95.156.195.115:80 differ diff --git a/scraper/screenshots/95.156.195.16:443 b/scraper/screenshots/95.156.195.16:443 new file mode 100644 index 0000000..f285791 Binary files /dev/null and b/scraper/screenshots/95.156.195.16:443 differ diff --git a/scraper/screenshots/95.156.195.16:80 b/scraper/screenshots/95.156.195.16:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/95.156.195.16:80 differ diff --git a/scraper/screenshots/95.156.195.29:443 b/scraper/screenshots/95.156.195.29:443 new file mode 100644 index 0000000..85f34cf Binary files /dev/null and b/scraper/screenshots/95.156.195.29:443 differ diff --git a/scraper/screenshots/95.156.195.29:80 b/scraper/screenshots/95.156.195.29:80 new file mode 100644 index 0000000..85f34cf Binary files /dev/null and b/scraper/screenshots/95.156.195.29:80 differ diff --git a/scraper/screenshots/95.156.195.45:80 b/scraper/screenshots/95.156.195.45:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/95.156.195.45:80 differ diff --git a/scraper/screenshots/95.156.195.51:80 b/scraper/screenshots/95.156.195.51:80 new file mode 100644 index 0000000..2a28eb1 Binary files /dev/null and b/scraper/screenshots/95.156.195.51:80 differ diff --git a/scraper/screenshots/95.156.195.53:80 b/scraper/screenshots/95.156.195.53:80 new file mode 100644 index 0000000..f577d29 Binary files /dev/null and b/scraper/screenshots/95.156.195.53:80 differ diff --git a/scraper/screenshots/95.156.195.56:80 b/scraper/screenshots/95.156.195.56:80 new file mode 100644 index 0000000..878af31 Binary files /dev/null and b/scraper/screenshots/95.156.195.56:80 differ diff --git a/scraper/screenshots/95.156.195.68:80 b/scraper/screenshots/95.156.195.68:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/95.156.195.68:80 differ diff --git a/scraper/screenshots/95.156.195.9:443 b/scraper/screenshots/95.156.195.9:443 new file mode 100644 index 0000000..3da4b47 Binary files /dev/null and b/scraper/screenshots/95.156.195.9:443 differ diff --git a/scraper/screenshots/95.156.195.9:80 b/scraper/screenshots/95.156.195.9:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/95.156.195.9:80 differ diff --git a/scraper/screenshots/95.156.196.141:443 b/scraper/screenshots/95.156.196.141:443 new file mode 100644 index 0000000..fafbeeb Binary files /dev/null and b/scraper/screenshots/95.156.196.141:443 differ diff --git a/scraper/screenshots/95.156.196.141:80 b/scraper/screenshots/95.156.196.141:80 new file mode 100644 index 0000000..dd3a1cf Binary files /dev/null and b/scraper/screenshots/95.156.196.141:80 differ diff --git a/scraper/screenshots/95.156.196.51:80 b/scraper/screenshots/95.156.196.51:80 new file mode 100644 index 0000000..8ef1f09 Binary files /dev/null and b/scraper/screenshots/95.156.196.51:80 differ diff --git a/scraper/screenshots/95.156.196.81:80 b/scraper/screenshots/95.156.196.81:80 new file mode 100644 index 0000000..3f12566 Binary files /dev/null and b/scraper/screenshots/95.156.196.81:80 differ diff --git a/scraper/screenshots/95.156.196.83:80 b/scraper/screenshots/95.156.196.83:80 new file mode 100644 index 0000000..c98f988 Binary files /dev/null and b/scraper/screenshots/95.156.196.83:80 differ diff --git a/scraper/screenshots/95.156.196.87:443 b/scraper/screenshots/95.156.196.87:443 new file mode 100644 index 0000000..52f24c5 Binary files /dev/null and b/scraper/screenshots/95.156.196.87:443 differ diff --git a/scraper/screenshots/95.156.196.89:80 b/scraper/screenshots/95.156.196.89:80 new file mode 100644 index 0000000..697f46f Binary files /dev/null and b/scraper/screenshots/95.156.196.89:80 differ diff --git a/scraper/screenshots/95.156.199.23:80 b/scraper/screenshots/95.156.199.23:80 new file mode 100644 index 0000000..fa88b01 Binary files /dev/null and b/scraper/screenshots/95.156.199.23:80 differ diff --git a/scraper/screenshots/95.156.199.253:80 b/scraper/screenshots/95.156.199.253:80 new file mode 100644 index 0000000..2ecde92 Binary files /dev/null and b/scraper/screenshots/95.156.199.253:80 differ diff --git a/scraper/screenshots/95.156.199.32:80 b/scraper/screenshots/95.156.199.32:80 new file mode 100644 index 0000000..047cc48 Binary files /dev/null and b/scraper/screenshots/95.156.199.32:80 differ diff --git a/scraper/screenshots/95.156.199.33:80 b/scraper/screenshots/95.156.199.33:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.156.199.33:80 differ diff --git a/scraper/screenshots/95.156.199.40:8080 b/scraper/screenshots/95.156.199.40:8080 new file mode 100644 index 0000000..77ed765 Binary files /dev/null and b/scraper/screenshots/95.156.199.40:8080 differ diff --git a/scraper/screenshots/95.156.201.173:80 b/scraper/screenshots/95.156.201.173:80 new file mode 100644 index 0000000..c4b10ec Binary files /dev/null and b/scraper/screenshots/95.156.201.173:80 differ diff --git a/scraper/screenshots/95.156.201.93:443 b/scraper/screenshots/95.156.201.93:443 new file mode 100644 index 0000000..fdaa79f Binary files /dev/null and b/scraper/screenshots/95.156.201.93:443 differ diff --git a/scraper/screenshots/95.156.202.229:443 b/scraper/screenshots/95.156.202.229:443 new file mode 100644 index 0000000..ee666b4 Binary files /dev/null and b/scraper/screenshots/95.156.202.229:443 differ diff --git a/scraper/screenshots/95.156.208.2:443 b/scraper/screenshots/95.156.208.2:443 new file mode 100644 index 0000000..6c63c7e Binary files /dev/null and b/scraper/screenshots/95.156.208.2:443 differ diff --git a/scraper/screenshots/95.156.208.2:80 b/scraper/screenshots/95.156.208.2:80 new file mode 100644 index 0000000..7002977 Binary files /dev/null and b/scraper/screenshots/95.156.208.2:80 differ diff --git a/scraper/screenshots/95.156.208.3:80 b/scraper/screenshots/95.156.208.3:80 new file mode 100644 index 0000000..9f276f3 Binary files /dev/null and b/scraper/screenshots/95.156.208.3:80 differ diff --git a/scraper/screenshots/95.156.214.63:443 b/scraper/screenshots/95.156.214.63:443 new file mode 100644 index 0000000..af114f1 Binary files /dev/null and b/scraper/screenshots/95.156.214.63:443 differ diff --git a/scraper/screenshots/95.156.226.130:80 b/scraper/screenshots/95.156.226.130:80 new file mode 100644 index 0000000..5338f77 Binary files /dev/null and b/scraper/screenshots/95.156.226.130:80 differ diff --git a/scraper/screenshots/95.156.226.19:443 b/scraper/screenshots/95.156.226.19:443 new file mode 100644 index 0000000..74744a7 Binary files /dev/null and b/scraper/screenshots/95.156.226.19:443 differ diff --git a/scraper/screenshots/95.156.227.125:80 b/scraper/screenshots/95.156.227.125:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/95.156.227.125:80 differ diff --git a/scraper/screenshots/95.156.227.62:80 b/scraper/screenshots/95.156.227.62:80 new file mode 100644 index 0000000..7728f39 Binary files /dev/null and b/scraper/screenshots/95.156.227.62:80 differ diff --git a/scraper/screenshots/95.156.230.101:80 b/scraper/screenshots/95.156.230.101:80 new file mode 100644 index 0000000..6ad842f Binary files /dev/null and b/scraper/screenshots/95.156.230.101:80 differ diff --git a/scraper/screenshots/95.156.230.134:8080 b/scraper/screenshots/95.156.230.134:8080 new file mode 100644 index 0000000..8472e89 Binary files /dev/null and b/scraper/screenshots/95.156.230.134:8080 differ diff --git a/scraper/screenshots/95.156.230.152:8080 b/scraper/screenshots/95.156.230.152:8080 new file mode 100644 index 0000000..491cf86 Binary files /dev/null and b/scraper/screenshots/95.156.230.152:8080 differ diff --git a/scraper/screenshots/95.156.230.162:80 b/scraper/screenshots/95.156.230.162:80 new file mode 100644 index 0000000..b0ae9e0 Binary files /dev/null and b/scraper/screenshots/95.156.230.162:80 differ diff --git a/scraper/screenshots/95.156.230.218:80 b/scraper/screenshots/95.156.230.218:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/95.156.230.218:80 differ diff --git a/scraper/screenshots/95.156.230.25:8080 b/scraper/screenshots/95.156.230.25:8080 new file mode 100644 index 0000000..d237255 Binary files /dev/null and b/scraper/screenshots/95.156.230.25:8080 differ diff --git a/scraper/screenshots/95.156.230.80:80 b/scraper/screenshots/95.156.230.80:80 new file mode 100644 index 0000000..b0ae9e0 Binary files /dev/null and b/scraper/screenshots/95.156.230.80:80 differ diff --git a/scraper/screenshots/95.157.0.9:80 b/scraper/screenshots/95.157.0.9:80 new file mode 100644 index 0000000..0aecbee Binary files /dev/null and b/scraper/screenshots/95.157.0.9:80 differ diff --git a/scraper/screenshots/95.157.46.14:443 b/scraper/screenshots/95.157.46.14:443 new file mode 100644 index 0000000..09d0ed3 Binary files /dev/null and b/scraper/screenshots/95.157.46.14:443 differ diff --git a/scraper/screenshots/95.157.47.35:443 b/scraper/screenshots/95.157.47.35:443 new file mode 100644 index 0000000..3aa0f42 Binary files /dev/null and b/scraper/screenshots/95.157.47.35:443 differ diff --git a/scraper/screenshots/95.157.62.134:80 b/scraper/screenshots/95.157.62.134:80 new file mode 100644 index 0000000..9d49c25 Binary files /dev/null and b/scraper/screenshots/95.157.62.134:80 differ diff --git a/scraper/screenshots/95.163.165.195:80 b/scraper/screenshots/95.163.165.195:80 new file mode 100644 index 0000000..b55624b Binary files /dev/null and b/scraper/screenshots/95.163.165.195:80 differ diff --git a/scraper/screenshots/95.163.174.109:443 b/scraper/screenshots/95.163.174.109:443 new file mode 100644 index 0000000..1111a09 Binary files /dev/null and b/scraper/screenshots/95.163.174.109:443 differ diff --git a/scraper/screenshots/95.164.117.101:80 b/scraper/screenshots/95.164.117.101:80 new file mode 100644 index 0000000..7b97d70 Binary files /dev/null and b/scraper/screenshots/95.164.117.101:80 differ diff --git a/scraper/screenshots/95.164.117.128:8080 b/scraper/screenshots/95.164.117.128:8080 new file mode 100644 index 0000000..0723114 Binary files /dev/null and b/scraper/screenshots/95.164.117.128:8080 differ diff --git a/scraper/screenshots/95.164.117.236:80 b/scraper/screenshots/95.164.117.236:80 new file mode 100644 index 0000000..10921f1 Binary files /dev/null and b/scraper/screenshots/95.164.117.236:80 differ diff --git a/scraper/screenshots/95.164.16.12:443 b/scraper/screenshots/95.164.16.12:443 new file mode 100644 index 0000000..73d0ee4 Binary files /dev/null and b/scraper/screenshots/95.164.16.12:443 differ diff --git a/scraper/screenshots/95.164.16.12:80 b/scraper/screenshots/95.164.16.12:80 new file mode 100644 index 0000000..4ef59df Binary files /dev/null and b/scraper/screenshots/95.164.16.12:80 differ diff --git a/scraper/screenshots/95.164.16.14:443 b/scraper/screenshots/95.164.16.14:443 new file mode 100644 index 0000000..961af2d Binary files /dev/null and b/scraper/screenshots/95.164.16.14:443 differ diff --git a/scraper/screenshots/95.164.16.14:80 b/scraper/screenshots/95.164.16.14:80 new file mode 100644 index 0000000..819be32 Binary files /dev/null and b/scraper/screenshots/95.164.16.14:80 differ diff --git a/scraper/screenshots/95.164.16.15:443 b/scraper/screenshots/95.164.16.15:443 new file mode 100644 index 0000000..761f06c Binary files /dev/null and b/scraper/screenshots/95.164.16.15:443 differ diff --git a/scraper/screenshots/95.164.16.15:80 b/scraper/screenshots/95.164.16.15:80 new file mode 100644 index 0000000..6be9bfe Binary files /dev/null and b/scraper/screenshots/95.164.16.15:80 differ diff --git a/scraper/screenshots/95.164.16.16:80 b/scraper/screenshots/95.164.16.16:80 new file mode 100644 index 0000000..cfda2d6 Binary files /dev/null and b/scraper/screenshots/95.164.16.16:80 differ diff --git a/scraper/screenshots/95.164.16.17:443 b/scraper/screenshots/95.164.16.17:443 new file mode 100644 index 0000000..21c354a Binary files /dev/null and b/scraper/screenshots/95.164.16.17:443 differ diff --git a/scraper/screenshots/95.164.16.17:80 b/scraper/screenshots/95.164.16.17:80 new file mode 100644 index 0000000..d6701be Binary files /dev/null and b/scraper/screenshots/95.164.16.17:80 differ diff --git a/scraper/screenshots/95.164.16.18:443 b/scraper/screenshots/95.164.16.18:443 new file mode 100644 index 0000000..30dcf73 Binary files /dev/null and b/scraper/screenshots/95.164.16.18:443 differ diff --git a/scraper/screenshots/95.164.16.18:80 b/scraper/screenshots/95.164.16.18:80 new file mode 100644 index 0000000..6be9bfe Binary files /dev/null and b/scraper/screenshots/95.164.16.18:80 differ diff --git a/scraper/screenshots/95.164.16.30:443 b/scraper/screenshots/95.164.16.30:443 new file mode 100644 index 0000000..8d037ee Binary files /dev/null and b/scraper/screenshots/95.164.16.30:443 differ diff --git a/scraper/screenshots/95.164.16.30:80 b/scraper/screenshots/95.164.16.30:80 new file mode 100644 index 0000000..fc228e7 Binary files /dev/null and b/scraper/screenshots/95.164.16.30:80 differ diff --git a/scraper/screenshots/95.164.16.35:80 b/scraper/screenshots/95.164.16.35:80 new file mode 100644 index 0000000..8be6579 Binary files /dev/null and b/scraper/screenshots/95.164.16.35:80 differ diff --git a/scraper/screenshots/95.164.16.36:80 b/scraper/screenshots/95.164.16.36:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.164.16.36:80 differ diff --git a/scraper/screenshots/95.164.16.39:443 b/scraper/screenshots/95.164.16.39:443 new file mode 100644 index 0000000..669c550 Binary files /dev/null and b/scraper/screenshots/95.164.16.39:443 differ diff --git a/scraper/screenshots/95.164.16.39:80 b/scraper/screenshots/95.164.16.39:80 new file mode 100644 index 0000000..2f1ac9d Binary files /dev/null and b/scraper/screenshots/95.164.16.39:80 differ diff --git a/scraper/screenshots/95.164.16.40:443 b/scraper/screenshots/95.164.16.40:443 new file mode 100644 index 0000000..ae70305 Binary files /dev/null and b/scraper/screenshots/95.164.16.40:443 differ diff --git a/scraper/screenshots/95.164.16.40:80 b/scraper/screenshots/95.164.16.40:80 new file mode 100644 index 0000000..6be9bfe Binary files /dev/null and b/scraper/screenshots/95.164.16.40:80 differ diff --git a/scraper/screenshots/95.164.16.41:80 b/scraper/screenshots/95.164.16.41:80 new file mode 100644 index 0000000..21a62af Binary files /dev/null and b/scraper/screenshots/95.164.16.41:80 differ diff --git a/scraper/screenshots/95.164.16.46:80 b/scraper/screenshots/95.164.16.46:80 new file mode 100644 index 0000000..6be9bfe Binary files /dev/null and b/scraper/screenshots/95.164.16.46:80 differ diff --git a/scraper/screenshots/95.164.16.52:80 b/scraper/screenshots/95.164.16.52:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.164.16.52:80 differ diff --git a/scraper/screenshots/95.164.16.54:443 b/scraper/screenshots/95.164.16.54:443 new file mode 100644 index 0000000..0cd6ab2 Binary files /dev/null and b/scraper/screenshots/95.164.16.54:443 differ diff --git a/scraper/screenshots/95.164.16.54:80 b/scraper/screenshots/95.164.16.54:80 new file mode 100644 index 0000000..6be9bfe Binary files /dev/null and b/scraper/screenshots/95.164.16.54:80 differ diff --git a/scraper/screenshots/95.164.16.61:80 b/scraper/screenshots/95.164.16.61:80 new file mode 100644 index 0000000..358f969 Binary files /dev/null and b/scraper/screenshots/95.164.16.61:80 differ diff --git a/scraper/screenshots/95.164.16.69:443 b/scraper/screenshots/95.164.16.69:443 new file mode 100644 index 0000000..4ca4808 Binary files /dev/null and b/scraper/screenshots/95.164.16.69:443 differ diff --git a/scraper/screenshots/95.164.16.98:80 b/scraper/screenshots/95.164.16.98:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.164.16.98:80 differ diff --git a/scraper/screenshots/95.164.47.25:80 b/scraper/screenshots/95.164.47.25:80 new file mode 100644 index 0000000..4bcedcb Binary files /dev/null and b/scraper/screenshots/95.164.47.25:80 differ diff --git a/scraper/screenshots/95.164.47.37:80 b/scraper/screenshots/95.164.47.37:80 new file mode 100644 index 0000000..84a963b Binary files /dev/null and b/scraper/screenshots/95.164.47.37:80 differ diff --git a/scraper/screenshots/95.164.47.59:80 b/scraper/screenshots/95.164.47.59:80 new file mode 100644 index 0000000..19a75df Binary files /dev/null and b/scraper/screenshots/95.164.47.59:80 differ diff --git a/scraper/screenshots/95.164.68.12:80 b/scraper/screenshots/95.164.68.12:80 new file mode 100644 index 0000000..8fec1fc Binary files /dev/null and b/scraper/screenshots/95.164.68.12:80 differ diff --git a/scraper/screenshots/95.164.68.13:80 b/scraper/screenshots/95.164.68.13:80 new file mode 100644 index 0000000..f7c0b1f Binary files /dev/null and b/scraper/screenshots/95.164.68.13:80 differ diff --git a/scraper/screenshots/95.164.68.172:443 b/scraper/screenshots/95.164.68.172:443 new file mode 100644 index 0000000..86d435c Binary files /dev/null and b/scraper/screenshots/95.164.68.172:443 differ diff --git a/scraper/screenshots/95.164.68.17:80 b/scraper/screenshots/95.164.68.17:80 new file mode 100644 index 0000000..c8f1312 Binary files /dev/null and b/scraper/screenshots/95.164.68.17:80 differ diff --git a/scraper/screenshots/95.164.68.190:80 b/scraper/screenshots/95.164.68.190:80 new file mode 100644 index 0000000..a3d4605 Binary files /dev/null and b/scraper/screenshots/95.164.68.190:80 differ diff --git a/scraper/screenshots/95.164.68.250:80 b/scraper/screenshots/95.164.68.250:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/95.164.68.250:80 differ diff --git a/scraper/screenshots/95.164.68.2:80 b/scraper/screenshots/95.164.68.2:80 new file mode 100644 index 0000000..a4012f5 Binary files /dev/null and b/scraper/screenshots/95.164.68.2:80 differ diff --git a/scraper/screenshots/95.164.68.41:80 b/scraper/screenshots/95.164.68.41:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.164.68.41:80 differ diff --git a/scraper/screenshots/95.164.68.52:80 b/scraper/screenshots/95.164.68.52:80 new file mode 100644 index 0000000..dd7e59b Binary files /dev/null and b/scraper/screenshots/95.164.68.52:80 differ diff --git a/scraper/screenshots/95.164.68.55:80 b/scraper/screenshots/95.164.68.55:80 new file mode 100644 index 0000000..001a0d4 Binary files /dev/null and b/scraper/screenshots/95.164.68.55:80 differ diff --git a/scraper/screenshots/95.164.68.68:80 b/scraper/screenshots/95.164.68.68:80 new file mode 100644 index 0000000..4774b5a Binary files /dev/null and b/scraper/screenshots/95.164.68.68:80 differ diff --git a/scraper/screenshots/95.164.68.68:8080 b/scraper/screenshots/95.164.68.68:8080 new file mode 100644 index 0000000..4774b5a Binary files /dev/null and b/scraper/screenshots/95.164.68.68:8080 differ diff --git a/scraper/screenshots/95.164.68.96:80 b/scraper/screenshots/95.164.68.96:80 new file mode 100644 index 0000000..f7ce3f4 Binary files /dev/null and b/scraper/screenshots/95.164.68.96:80 differ diff --git a/scraper/screenshots/95.164.89.112:80 b/scraper/screenshots/95.164.89.112:80 new file mode 100644 index 0000000..393ded6 Binary files /dev/null and b/scraper/screenshots/95.164.89.112:80 differ diff --git a/scraper/screenshots/95.164.89.147:80 b/scraper/screenshots/95.164.89.147:80 new file mode 100644 index 0000000..054e89e Binary files /dev/null and b/scraper/screenshots/95.164.89.147:80 differ diff --git a/scraper/screenshots/95.164.89.14:443 b/scraper/screenshots/95.164.89.14:443 new file mode 100644 index 0000000..d7201d4 Binary files /dev/null and b/scraper/screenshots/95.164.89.14:443 differ diff --git a/scraper/screenshots/95.164.89.14:80 b/scraper/screenshots/95.164.89.14:80 new file mode 100644 index 0000000..19b2c4f Binary files /dev/null and b/scraper/screenshots/95.164.89.14:80 differ diff --git a/scraper/screenshots/95.164.89.15:80 b/scraper/screenshots/95.164.89.15:80 new file mode 100644 index 0000000..03bffa3 Binary files /dev/null and b/scraper/screenshots/95.164.89.15:80 differ diff --git a/scraper/screenshots/95.164.89.30:80 b/scraper/screenshots/95.164.89.30:80 new file mode 100644 index 0000000..358f969 Binary files /dev/null and b/scraper/screenshots/95.164.89.30:80 differ diff --git a/scraper/screenshots/95.164.89.32:8080 b/scraper/screenshots/95.164.89.32:8080 new file mode 100644 index 0000000..adae4f0 Binary files /dev/null and b/scraper/screenshots/95.164.89.32:8080 differ diff --git a/scraper/screenshots/95.164.89.37:80 b/scraper/screenshots/95.164.89.37:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.164.89.37:80 differ diff --git a/scraper/screenshots/95.164.89.83:80 b/scraper/screenshots/95.164.89.83:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.164.89.83:80 differ diff --git a/scraper/screenshots/95.164.89.98:80 b/scraper/screenshots/95.164.89.98:80 new file mode 100644 index 0000000..e4829d3 Binary files /dev/null and b/scraper/screenshots/95.164.89.98:80 differ diff --git a/scraper/screenshots/95.168.157.254:80 b/scraper/screenshots/95.168.157.254:80 new file mode 100644 index 0000000..2a4ae7c Binary files /dev/null and b/scraper/screenshots/95.168.157.254:80 differ diff --git a/scraper/screenshots/95.168.188.22:443 b/scraper/screenshots/95.168.188.22:443 new file mode 100644 index 0000000..7791629 Binary files /dev/null and b/scraper/screenshots/95.168.188.22:443 differ diff --git a/scraper/screenshots/95.169.180.240:80 b/scraper/screenshots/95.169.180.240:80 new file mode 100644 index 0000000..03bffa3 Binary files /dev/null and b/scraper/screenshots/95.169.180.240:80 differ diff --git a/scraper/screenshots/95.169.180.242:80 b/scraper/screenshots/95.169.180.242:80 new file mode 100644 index 0000000..03bffa3 Binary files /dev/null and b/scraper/screenshots/95.169.180.242:80 differ diff --git a/scraper/screenshots/95.169.182.125:8080 b/scraper/screenshots/95.169.182.125:8080 new file mode 100644 index 0000000..5e61a9f Binary files /dev/null and b/scraper/screenshots/95.169.182.125:8080 differ diff --git a/scraper/screenshots/95.169.182.71:80 b/scraper/screenshots/95.169.182.71:80 new file mode 100644 index 0000000..ff8690c Binary files /dev/null and b/scraper/screenshots/95.169.182.71:80 differ diff --git a/scraper/screenshots/95.169.182.98:443 b/scraper/screenshots/95.169.182.98:443 new file mode 100644 index 0000000..9322f74 Binary files /dev/null and b/scraper/screenshots/95.169.182.98:443 differ diff --git a/scraper/screenshots/95.169.183.73:80 b/scraper/screenshots/95.169.183.73:80 new file mode 100644 index 0000000..0f1d5f0 Binary files /dev/null and b/scraper/screenshots/95.169.183.73:80 differ diff --git a/scraper/screenshots/95.169.183.74:80 b/scraper/screenshots/95.169.183.74:80 new file mode 100644 index 0000000..c39e073 Binary files /dev/null and b/scraper/screenshots/95.169.183.74:80 differ diff --git a/scraper/screenshots/95.169.184.166:80 b/scraper/screenshots/95.169.184.166:80 new file mode 100644 index 0000000..6b3ea8d Binary files /dev/null and b/scraper/screenshots/95.169.184.166:80 differ diff --git a/scraper/screenshots/95.169.188.19:80 b/scraper/screenshots/95.169.188.19:80 new file mode 100644 index 0000000..18fa7fa Binary files /dev/null and b/scraper/screenshots/95.169.188.19:80 differ diff --git a/scraper/screenshots/95.169.189.172:80 b/scraper/screenshots/95.169.189.172:80 new file mode 100644 index 0000000..415b3df Binary files /dev/null and b/scraper/screenshots/95.169.189.172:80 differ diff --git a/scraper/screenshots/95.169.190.84:80 b/scraper/screenshots/95.169.190.84:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.169.190.84:80 differ diff --git a/scraper/screenshots/95.169.191.151:80 b/scraper/screenshots/95.169.191.151:80 new file mode 100644 index 0000000..156a316 Binary files /dev/null and b/scraper/screenshots/95.169.191.151:80 differ diff --git a/scraper/screenshots/95.169.191.30:80 b/scraper/screenshots/95.169.191.30:80 new file mode 100644 index 0000000..b68ff47 Binary files /dev/null and b/scraper/screenshots/95.169.191.30:80 differ diff --git a/scraper/screenshots/95.169.191.83:80 b/scraper/screenshots/95.169.191.83:80 new file mode 100644 index 0000000..b4682b5 Binary files /dev/null and b/scraper/screenshots/95.169.191.83:80 differ diff --git a/scraper/screenshots/95.169.204.101:80 b/scraper/screenshots/95.169.204.101:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.169.204.101:80 differ diff --git a/scraper/screenshots/95.169.204.103:80 b/scraper/screenshots/95.169.204.103:80 new file mode 100644 index 0000000..34eb3b4 Binary files /dev/null and b/scraper/screenshots/95.169.204.103:80 differ diff --git a/scraper/screenshots/95.169.204.105:443 b/scraper/screenshots/95.169.204.105:443 new file mode 100644 index 0000000..1f9595e Binary files /dev/null and b/scraper/screenshots/95.169.204.105:443 differ diff --git a/scraper/screenshots/95.169.204.106:80 b/scraper/screenshots/95.169.204.106:80 new file mode 100644 index 0000000..34eb3b4 Binary files /dev/null and b/scraper/screenshots/95.169.204.106:80 differ diff --git a/scraper/screenshots/95.169.204.15:80 b/scraper/screenshots/95.169.204.15:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.15:80 differ diff --git a/scraper/screenshots/95.169.204.180:80 b/scraper/screenshots/95.169.204.180:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.169.204.180:80 differ diff --git a/scraper/screenshots/95.169.204.18:80 b/scraper/screenshots/95.169.204.18:80 new file mode 100644 index 0000000..8381810 Binary files /dev/null and b/scraper/screenshots/95.169.204.18:80 differ diff --git a/scraper/screenshots/95.169.204.202:80 b/scraper/screenshots/95.169.204.202:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.169.204.202:80 differ diff --git a/scraper/screenshots/95.169.204.206:80 b/scraper/screenshots/95.169.204.206:80 new file mode 100644 index 0000000..1a97c76 Binary files /dev/null and b/scraper/screenshots/95.169.204.206:80 differ diff --git a/scraper/screenshots/95.169.204.21:80 b/scraper/screenshots/95.169.204.21:80 new file mode 100644 index 0000000..26d351b Binary files /dev/null and b/scraper/screenshots/95.169.204.21:80 differ diff --git a/scraper/screenshots/95.169.204.228:80 b/scraper/screenshots/95.169.204.228:80 new file mode 100644 index 0000000..358f969 Binary files /dev/null and b/scraper/screenshots/95.169.204.228:80 differ diff --git a/scraper/screenshots/95.169.204.24:80 b/scraper/screenshots/95.169.204.24:80 new file mode 100644 index 0000000..420f0b8 Binary files /dev/null and b/scraper/screenshots/95.169.204.24:80 differ diff --git a/scraper/screenshots/95.169.204.251:80 b/scraper/screenshots/95.169.204.251:80 new file mode 100644 index 0000000..0e2b5e5 Binary files /dev/null and b/scraper/screenshots/95.169.204.251:80 differ diff --git a/scraper/screenshots/95.169.204.26:80 b/scraper/screenshots/95.169.204.26:80 new file mode 100644 index 0000000..2aeebcb Binary files /dev/null and b/scraper/screenshots/95.169.204.26:80 differ diff --git a/scraper/screenshots/95.169.204.32:8080 b/scraper/screenshots/95.169.204.32:8080 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.169.204.32:8080 differ diff --git a/scraper/screenshots/95.169.204.41:80 b/scraper/screenshots/95.169.204.41:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.41:80 differ diff --git a/scraper/screenshots/95.169.204.42:80 b/scraper/screenshots/95.169.204.42:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.42:80 differ diff --git a/scraper/screenshots/95.169.204.43:80 b/scraper/screenshots/95.169.204.43:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.43:80 differ diff --git a/scraper/screenshots/95.169.204.44:80 b/scraper/screenshots/95.169.204.44:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.44:80 differ diff --git a/scraper/screenshots/95.169.204.45:80 b/scraper/screenshots/95.169.204.45:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.45:80 differ diff --git a/scraper/screenshots/95.169.204.46:80 b/scraper/screenshots/95.169.204.46:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.46:80 differ diff --git a/scraper/screenshots/95.169.204.48:80 b/scraper/screenshots/95.169.204.48:80 new file mode 100644 index 0000000..2fee092 Binary files /dev/null and b/scraper/screenshots/95.169.204.48:80 differ diff --git a/scraper/screenshots/95.169.204.51:80 b/scraper/screenshots/95.169.204.51:80 new file mode 100644 index 0000000..5d091c2 Binary files /dev/null and b/scraper/screenshots/95.169.204.51:80 differ diff --git a/scraper/screenshots/95.169.204.52:80 b/scraper/screenshots/95.169.204.52:80 new file mode 100644 index 0000000..df83e6d Binary files /dev/null and b/scraper/screenshots/95.169.204.52:80 differ diff --git a/scraper/screenshots/95.169.204.60:80 b/scraper/screenshots/95.169.204.60:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.60:80 differ diff --git a/scraper/screenshots/95.169.204.63:80 b/scraper/screenshots/95.169.204.63:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.63:80 differ diff --git a/scraper/screenshots/95.169.204.65:80 b/scraper/screenshots/95.169.204.65:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.65:80 differ diff --git a/scraper/screenshots/95.169.204.6:80 b/scraper/screenshots/95.169.204.6:80 new file mode 100644 index 0000000..4e8b9b2 Binary files /dev/null and b/scraper/screenshots/95.169.204.6:80 differ diff --git a/scraper/screenshots/95.169.204.7:80 b/scraper/screenshots/95.169.204.7:80 new file mode 100644 index 0000000..516fd41 Binary files /dev/null and b/scraper/screenshots/95.169.204.7:80 differ diff --git a/scraper/screenshots/95.172.92.60:30120 b/scraper/screenshots/95.172.92.60:30120 new file mode 100644 index 0000000..4c7b47f Binary files /dev/null and b/scraper/screenshots/95.172.92.60:30120 differ diff --git a/scraper/screenshots/95.173.110.45:80 b/scraper/screenshots/95.173.110.45:80 new file mode 100644 index 0000000..e7324c9 Binary files /dev/null and b/scraper/screenshots/95.173.110.45:80 differ diff --git a/scraper/screenshots/95.173.111.52:80 b/scraper/screenshots/95.173.111.52:80 new file mode 100644 index 0000000..e7324c9 Binary files /dev/null and b/scraper/screenshots/95.173.111.52:80 differ diff --git a/scraper/screenshots/95.173.111.60:80 b/scraper/screenshots/95.173.111.60:80 new file mode 100644 index 0000000..e7324c9 Binary files /dev/null and b/scraper/screenshots/95.173.111.60:80 differ diff --git a/scraper/screenshots/95.179.160.75:80 b/scraper/screenshots/95.179.160.75:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.160.75:80 differ diff --git a/scraper/screenshots/95.179.162.96:80 b/scraper/screenshots/95.179.162.96:80 new file mode 100644 index 0000000..872c097 Binary files /dev/null and b/scraper/screenshots/95.179.162.96:80 differ diff --git a/scraper/screenshots/95.179.164.246:80 b/scraper/screenshots/95.179.164.246:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.179.164.246:80 differ diff --git a/scraper/screenshots/95.179.165.238:443 b/scraper/screenshots/95.179.165.238:443 new file mode 100644 index 0000000..67a6cac Binary files /dev/null and b/scraper/screenshots/95.179.165.238:443 differ diff --git a/scraper/screenshots/95.179.165.49:80 b/scraper/screenshots/95.179.165.49:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.179.165.49:80 differ diff --git a/scraper/screenshots/95.179.166.127:80 b/scraper/screenshots/95.179.166.127:80 new file mode 100644 index 0000000..f81724b Binary files /dev/null and b/scraper/screenshots/95.179.166.127:80 differ diff --git a/scraper/screenshots/95.179.166.245:80 b/scraper/screenshots/95.179.166.245:80 new file mode 100644 index 0000000..de72708 Binary files /dev/null and b/scraper/screenshots/95.179.166.245:80 differ diff --git a/scraper/screenshots/95.179.166.36:80 b/scraper/screenshots/95.179.166.36:80 new file mode 100644 index 0000000..a390c74 Binary files /dev/null and b/scraper/screenshots/95.179.166.36:80 differ diff --git a/scraper/screenshots/95.179.167.227:80 b/scraper/screenshots/95.179.167.227:80 new file mode 100644 index 0000000..5306768 Binary files /dev/null and b/scraper/screenshots/95.179.167.227:80 differ diff --git a/scraper/screenshots/95.179.167.240:80 b/scraper/screenshots/95.179.167.240:80 new file mode 100644 index 0000000..99ca5d5 Binary files /dev/null and b/scraper/screenshots/95.179.167.240:80 differ diff --git a/scraper/screenshots/95.179.167.42:80 b/scraper/screenshots/95.179.167.42:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.167.42:80 differ diff --git a/scraper/screenshots/95.179.167.49:80 b/scraper/screenshots/95.179.167.49:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.179.167.49:80 differ diff --git a/scraper/screenshots/95.179.167.72:80 b/scraper/screenshots/95.179.167.72:80 new file mode 100644 index 0000000..30dfe40 Binary files /dev/null and b/scraper/screenshots/95.179.167.72:80 differ diff --git a/scraper/screenshots/95.179.168.105:80 b/scraper/screenshots/95.179.168.105:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.168.105:80 differ diff --git a/scraper/screenshots/95.179.168.112:80 b/scraper/screenshots/95.179.168.112:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.168.112:80 differ diff --git a/scraper/screenshots/95.179.168.159:443 b/scraper/screenshots/95.179.168.159:443 new file mode 100644 index 0000000..20de89d Binary files /dev/null and b/scraper/screenshots/95.179.168.159:443 differ diff --git a/scraper/screenshots/95.179.168.57:80 b/scraper/screenshots/95.179.168.57:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.179.168.57:80 differ diff --git a/scraper/screenshots/95.179.169.206:80 b/scraper/screenshots/95.179.169.206:80 new file mode 100644 index 0000000..3575da3 Binary files /dev/null and b/scraper/screenshots/95.179.169.206:80 differ diff --git a/scraper/screenshots/95.179.169.78:80 b/scraper/screenshots/95.179.169.78:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.179.169.78:80 differ diff --git a/scraper/screenshots/95.179.169.93:80 b/scraper/screenshots/95.179.169.93:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.169.93:80 differ diff --git a/scraper/screenshots/95.179.170.131:80 b/scraper/screenshots/95.179.170.131:80 new file mode 100644 index 0000000..7ec1059 Binary files /dev/null and b/scraper/screenshots/95.179.170.131:80 differ diff --git a/scraper/screenshots/95.179.170.92:80 b/scraper/screenshots/95.179.170.92:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.179.170.92:80 differ diff --git a/scraper/screenshots/95.179.171.110:80 b/scraper/screenshots/95.179.171.110:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.179.171.110:80 differ diff --git a/scraper/screenshots/95.179.171.120:443 b/scraper/screenshots/95.179.171.120:443 new file mode 100644 index 0000000..547df6b Binary files /dev/null and b/scraper/screenshots/95.179.171.120:443 differ diff --git a/scraper/screenshots/95.179.171.168:80 b/scraper/screenshots/95.179.171.168:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.179.171.168:80 differ diff --git a/scraper/screenshots/95.179.171.192:80 b/scraper/screenshots/95.179.171.192:80 new file mode 100644 index 0000000..3575da3 Binary files /dev/null and b/scraper/screenshots/95.179.171.192:80 differ diff --git a/scraper/screenshots/95.179.171.194:80 b/scraper/screenshots/95.179.171.194:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.179.171.194:80 differ diff --git a/scraper/screenshots/95.179.171.222:80 b/scraper/screenshots/95.179.171.222:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.179.171.222:80 differ diff --git a/scraper/screenshots/95.179.171.236:443 b/scraper/screenshots/95.179.171.236:443 new file mode 100644 index 0000000..d682b7e Binary files /dev/null and b/scraper/screenshots/95.179.171.236:443 differ diff --git a/scraper/screenshots/95.179.171.29:80 b/scraper/screenshots/95.179.171.29:80 new file mode 100644 index 0000000..24f4333 Binary files /dev/null and b/scraper/screenshots/95.179.171.29:80 differ diff --git a/scraper/screenshots/95.179.240.116:8080 b/scraper/screenshots/95.179.240.116:8080 new file mode 100644 index 0000000..2dd907b Binary files /dev/null and b/scraper/screenshots/95.179.240.116:8080 differ diff --git a/scraper/screenshots/95.179.245.205:80 b/scraper/screenshots/95.179.245.205:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.245.205:80 differ diff --git a/scraper/screenshots/95.179.245.51:80 b/scraper/screenshots/95.179.245.51:80 new file mode 100644 index 0000000..8b1cd83 Binary files /dev/null and b/scraper/screenshots/95.179.245.51:80 differ diff --git a/scraper/screenshots/95.179.245.5:80 b/scraper/screenshots/95.179.245.5:80 new file mode 100644 index 0000000..e6a513a Binary files /dev/null and b/scraper/screenshots/95.179.245.5:80 differ diff --git a/scraper/screenshots/95.179.246.251:80 b/scraper/screenshots/95.179.246.251:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.246.251:80 differ diff --git a/scraper/screenshots/95.179.246.30:80 b/scraper/screenshots/95.179.246.30:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.246.30:80 differ diff --git a/scraper/screenshots/95.179.247.109:80 b/scraper/screenshots/95.179.247.109:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.179.247.109:80 differ diff --git a/scraper/screenshots/95.179.247.119:80 b/scraper/screenshots/95.179.247.119:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.179.247.119:80 differ diff --git a/scraper/screenshots/95.179.247.139:80 b/scraper/screenshots/95.179.247.139:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.247.139:80 differ diff --git a/scraper/screenshots/95.179.247.56:80 b/scraper/screenshots/95.179.247.56:80 new file mode 100644 index 0000000..3575da3 Binary files /dev/null and b/scraper/screenshots/95.179.247.56:80 differ diff --git a/scraper/screenshots/95.179.247.89:80 b/scraper/screenshots/95.179.247.89:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.247.89:80 differ diff --git a/scraper/screenshots/95.179.248.121:80 b/scraper/screenshots/95.179.248.121:80 new file mode 100644 index 0000000..1c8a1bb Binary files /dev/null and b/scraper/screenshots/95.179.248.121:80 differ diff --git a/scraper/screenshots/95.179.248.149:80 b/scraper/screenshots/95.179.248.149:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.248.149:80 differ diff --git a/scraper/screenshots/95.179.248.242:443 b/scraper/screenshots/95.179.248.242:443 new file mode 100644 index 0000000..6310272 Binary files /dev/null and b/scraper/screenshots/95.179.248.242:443 differ diff --git a/scraper/screenshots/95.179.248.53:80 b/scraper/screenshots/95.179.248.53:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.248.53:80 differ diff --git a/scraper/screenshots/95.179.249.185:80 b/scraper/screenshots/95.179.249.185:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.249.185:80 differ diff --git a/scraper/screenshots/95.179.249.18:80 b/scraper/screenshots/95.179.249.18:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.249.18:80 differ diff --git a/scraper/screenshots/95.179.250.198:80 b/scraper/screenshots/95.179.250.198:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.250.198:80 differ diff --git a/scraper/screenshots/95.179.250.237:80 b/scraper/screenshots/95.179.250.237:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.179.250.237:80 differ diff --git a/scraper/screenshots/95.179.250.243:443 b/scraper/screenshots/95.179.250.243:443 new file mode 100644 index 0000000..023a2eb Binary files /dev/null and b/scraper/screenshots/95.179.250.243:443 differ diff --git a/scraper/screenshots/95.179.250.44:80 b/scraper/screenshots/95.179.250.44:80 new file mode 100644 index 0000000..942bbb5 Binary files /dev/null and b/scraper/screenshots/95.179.250.44:80 differ diff --git a/scraper/screenshots/95.179.250.77:80 b/scraper/screenshots/95.179.250.77:80 new file mode 100644 index 0000000..61bd906 Binary files /dev/null and b/scraper/screenshots/95.179.250.77:80 differ diff --git a/scraper/screenshots/95.179.251.54:80 b/scraper/screenshots/95.179.251.54:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.251.54:80 differ diff --git a/scraper/screenshots/95.179.252.192:80 b/scraper/screenshots/95.179.252.192:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.179.252.192:80 differ diff --git a/scraper/screenshots/95.179.252.224:443 b/scraper/screenshots/95.179.252.224:443 new file mode 100644 index 0000000..26c7180 Binary files /dev/null and b/scraper/screenshots/95.179.252.224:443 differ diff --git a/scraper/screenshots/95.179.252.39:80 b/scraper/screenshots/95.179.252.39:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.252.39:80 differ diff --git a/scraper/screenshots/95.179.253.75:80 b/scraper/screenshots/95.179.253.75:80 new file mode 100644 index 0000000..4d84020 Binary files /dev/null and b/scraper/screenshots/95.179.253.75:80 differ diff --git a/scraper/screenshots/95.179.254.117:80 b/scraper/screenshots/95.179.254.117:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.254.117:80 differ diff --git a/scraper/screenshots/95.179.254.217:80 b/scraper/screenshots/95.179.254.217:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.179.254.217:80 differ diff --git a/scraper/screenshots/95.179.254.232:80 b/scraper/screenshots/95.179.254.232:80 new file mode 100644 index 0000000..091f2fe Binary files /dev/null and b/scraper/screenshots/95.179.254.232:80 differ diff --git a/scraper/screenshots/95.179.254.30:80 b/scraper/screenshots/95.179.254.30:80 new file mode 100644 index 0000000..3575da3 Binary files /dev/null and b/scraper/screenshots/95.179.254.30:80 differ diff --git a/scraper/screenshots/95.179.254.51:80 b/scraper/screenshots/95.179.254.51:80 new file mode 100644 index 0000000..fac75c0 Binary files /dev/null and b/scraper/screenshots/95.179.254.51:80 differ diff --git a/scraper/screenshots/95.179.255.141:80 b/scraper/screenshots/95.179.255.141:80 new file mode 100644 index 0000000..1c8a1bb Binary files /dev/null and b/scraper/screenshots/95.179.255.141:80 differ diff --git a/scraper/screenshots/95.179.255.183:80 b/scraper/screenshots/95.179.255.183:80 new file mode 100644 index 0000000..7977ddd Binary files /dev/null and b/scraper/screenshots/95.179.255.183:80 differ diff --git a/scraper/screenshots/95.179.255.188:80 b/scraper/screenshots/95.179.255.188:80 new file mode 100644 index 0000000..fa86f8d Binary files /dev/null and b/scraper/screenshots/95.179.255.188:80 differ diff --git a/scraper/screenshots/95.179.255.56:80 b/scraper/screenshots/95.179.255.56:80 new file mode 100644 index 0000000..3575da3 Binary files /dev/null and b/scraper/screenshots/95.179.255.56:80 differ diff --git a/scraper/screenshots/95.179.255.59:80 b/scraper/screenshots/95.179.255.59:80 new file mode 100644 index 0000000..3575da3 Binary files /dev/null and b/scraper/screenshots/95.179.255.59:80 differ diff --git a/scraper/screenshots/95.181.151.109:443 b/scraper/screenshots/95.181.151.109:443 new file mode 100644 index 0000000..adb2d2a Binary files /dev/null and b/scraper/screenshots/95.181.151.109:443 differ diff --git a/scraper/screenshots/95.181.151.131:80 b/scraper/screenshots/95.181.151.131:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.181.151.131:80 differ diff --git a/scraper/screenshots/95.181.151.140:80 b/scraper/screenshots/95.181.151.140:80 new file mode 100644 index 0000000..8be6579 Binary files /dev/null and b/scraper/screenshots/95.181.151.140:80 differ diff --git a/scraper/screenshots/95.181.151.15:443 b/scraper/screenshots/95.181.151.15:443 new file mode 100644 index 0000000..d874c29 Binary files /dev/null and b/scraper/screenshots/95.181.151.15:443 differ diff --git a/scraper/screenshots/95.181.151.15:80 b/scraper/screenshots/95.181.151.15:80 new file mode 100644 index 0000000..7ec1059 Binary files /dev/null and b/scraper/screenshots/95.181.151.15:80 differ diff --git a/scraper/screenshots/95.181.151.16:80 b/scraper/screenshots/95.181.151.16:80 new file mode 100644 index 0000000..6ad842f Binary files /dev/null and b/scraper/screenshots/95.181.151.16:80 differ diff --git a/scraper/screenshots/95.181.151.17:80 b/scraper/screenshots/95.181.151.17:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.181.151.17:80 differ diff --git a/scraper/screenshots/95.181.151.18:443 b/scraper/screenshots/95.181.151.18:443 new file mode 100644 index 0000000..bc23517 Binary files /dev/null and b/scraper/screenshots/95.181.151.18:443 differ diff --git a/scraper/screenshots/95.181.151.18:80 b/scraper/screenshots/95.181.151.18:80 new file mode 100644 index 0000000..68c5a7b Binary files /dev/null and b/scraper/screenshots/95.181.151.18:80 differ diff --git a/scraper/screenshots/95.181.151.208:443 b/scraper/screenshots/95.181.151.208:443 new file mode 100644 index 0000000..d212299 Binary files /dev/null and b/scraper/screenshots/95.181.151.208:443 differ diff --git a/scraper/screenshots/95.181.151.214:80 b/scraper/screenshots/95.181.151.214:80 new file mode 100644 index 0000000..17434ca Binary files /dev/null and b/scraper/screenshots/95.181.151.214:80 differ diff --git a/scraper/screenshots/95.181.151.222:443 b/scraper/screenshots/95.181.151.222:443 new file mode 100644 index 0000000..fbd53fb Binary files /dev/null and b/scraper/screenshots/95.181.151.222:443 differ diff --git a/scraper/screenshots/95.181.151.22:8080 b/scraper/screenshots/95.181.151.22:8080 new file mode 100644 index 0000000..6ff0fbc Binary files /dev/null and b/scraper/screenshots/95.181.151.22:8080 differ diff --git a/scraper/screenshots/95.181.151.25:80 b/scraper/screenshots/95.181.151.25:80 new file mode 100644 index 0000000..6ad842f Binary files /dev/null and b/scraper/screenshots/95.181.151.25:80 differ diff --git a/scraper/screenshots/95.181.151.27:443 b/scraper/screenshots/95.181.151.27:443 new file mode 100644 index 0000000..27fef87 Binary files /dev/null and b/scraper/screenshots/95.181.151.27:443 differ diff --git a/scraper/screenshots/95.181.151.36:80 b/scraper/screenshots/95.181.151.36:80 new file mode 100644 index 0000000..0578f38 Binary files /dev/null and b/scraper/screenshots/95.181.151.36:80 differ diff --git a/scraper/screenshots/95.181.151.3:443 b/scraper/screenshots/95.181.151.3:443 new file mode 100644 index 0000000..e9bbf11 Binary files /dev/null and b/scraper/screenshots/95.181.151.3:443 differ diff --git a/scraper/screenshots/95.181.151.41:80 b/scraper/screenshots/95.181.151.41:80 new file mode 100644 index 0000000..e838260 Binary files /dev/null and b/scraper/screenshots/95.181.151.41:80 differ diff --git a/scraper/screenshots/95.181.151.41:8080 b/scraper/screenshots/95.181.151.41:8080 new file mode 100644 index 0000000..e846d73 Binary files /dev/null and b/scraper/screenshots/95.181.151.41:8080 differ diff --git a/scraper/screenshots/95.181.151.58:443 b/scraper/screenshots/95.181.151.58:443 new file mode 100644 index 0000000..f9c32d9 Binary files /dev/null and b/scraper/screenshots/95.181.151.58:443 differ diff --git a/scraper/screenshots/95.181.151.86:80 b/scraper/screenshots/95.181.151.86:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.181.151.86:80 differ diff --git a/scraper/screenshots/95.181.161.122:8080 b/scraper/screenshots/95.181.161.122:8080 new file mode 100644 index 0000000..230e2e4 Binary files /dev/null and b/scraper/screenshots/95.181.161.122:8080 differ diff --git a/scraper/screenshots/95.181.161.16:80.png b/scraper/screenshots/95.181.161.16:80.png new file mode 100644 index 0000000..67f7a79 Binary files /dev/null and b/scraper/screenshots/95.181.161.16:80.png differ diff --git a/scraper/screenshots/95.181.161.250:80 b/scraper/screenshots/95.181.161.250:80 new file mode 100644 index 0000000..8be6579 Binary files /dev/null and b/scraper/screenshots/95.181.161.250:80 differ diff --git a/scraper/screenshots/95.181.161.31:80 b/scraper/screenshots/95.181.161.31:80 new file mode 100644 index 0000000..47b7d25 Binary files /dev/null and b/scraper/screenshots/95.181.161.31:80 differ diff --git a/scraper/screenshots/95.181.161.39:80 b/scraper/screenshots/95.181.161.39:80 new file mode 100644 index 0000000..f918357 Binary files /dev/null and b/scraper/screenshots/95.181.161.39:80 differ diff --git a/scraper/screenshots/95.181.161.3:443 b/scraper/screenshots/95.181.161.3:443 new file mode 100644 index 0000000..4218074 Binary files /dev/null and b/scraper/screenshots/95.181.161.3:443 differ diff --git a/scraper/screenshots/95.181.161.40:80 b/scraper/screenshots/95.181.161.40:80 new file mode 100644 index 0000000..9d49c25 Binary files /dev/null and b/scraper/screenshots/95.181.161.40:80 differ diff --git a/scraper/screenshots/95.181.161.44:8080 b/scraper/screenshots/95.181.161.44:8080 new file mode 100644 index 0000000..ac877d2 Binary files /dev/null and b/scraper/screenshots/95.181.161.44:8080 differ diff --git a/scraper/screenshots/95.181.161.92:80 b/scraper/screenshots/95.181.161.92:80 new file mode 100644 index 0000000..6921648 Binary files /dev/null and b/scraper/screenshots/95.181.161.92:80 differ diff --git a/scraper/screenshots/95.208.115.61:443 b/scraper/screenshots/95.208.115.61:443 new file mode 100644 index 0000000..fa5dcff Binary files /dev/null and b/scraper/screenshots/95.208.115.61:443 differ diff --git a/scraper/screenshots/95.208.115.61:80 b/scraper/screenshots/95.208.115.61:80 new file mode 100644 index 0000000..7ec1059 Binary files /dev/null and b/scraper/screenshots/95.208.115.61:80 differ diff --git a/scraper/screenshots/95.208.204.213:80 b/scraper/screenshots/95.208.204.213:80 new file mode 100644 index 0000000..b3686c5 Binary files /dev/null and b/scraper/screenshots/95.208.204.213:80 differ diff --git a/scraper/screenshots/95.208.240.32:443 b/scraper/screenshots/95.208.240.32:443 new file mode 100644 index 0000000..2f52889 Binary files /dev/null and b/scraper/screenshots/95.208.240.32:443 differ diff --git a/scraper/screenshots/95.208.245.154:80 b/scraper/screenshots/95.208.245.154:80 new file mode 100644 index 0000000..478b271 Binary files /dev/null and b/scraper/screenshots/95.208.245.154:80 differ diff --git a/scraper/screenshots/95.214.10.120:443 b/scraper/screenshots/95.214.10.120:443 new file mode 100644 index 0000000..19e9f3e Binary files /dev/null and b/scraper/screenshots/95.214.10.120:443 differ diff --git a/scraper/screenshots/95.214.11.160:80 b/scraper/screenshots/95.214.11.160:80 new file mode 100644 index 0000000..2fd778f Binary files /dev/null and b/scraper/screenshots/95.214.11.160:80 differ diff --git a/scraper/screenshots/95.214.11.83:8080 b/scraper/screenshots/95.214.11.83:8080 new file mode 100644 index 0000000..b541e6e Binary files /dev/null and b/scraper/screenshots/95.214.11.83:8080 differ diff --git a/scraper/screenshots/95.214.11.98:80 b/scraper/screenshots/95.214.11.98:80 new file mode 100644 index 0000000..6b7940d Binary files /dev/null and b/scraper/screenshots/95.214.11.98:80 differ diff --git a/scraper/screenshots/95.214.169.198:80 b/scraper/screenshots/95.214.169.198:80 new file mode 100644 index 0000000..e905b16 Binary files /dev/null and b/scraper/screenshots/95.214.169.198:80 differ diff --git a/scraper/screenshots/95.214.169.47:80 b/scraper/screenshots/95.214.169.47:80 new file mode 100644 index 0000000..bd44243 Binary files /dev/null and b/scraper/screenshots/95.214.169.47:80 differ diff --git a/scraper/screenshots/95.214.169.65:80 b/scraper/screenshots/95.214.169.65:80 new file mode 100644 index 0000000..f591e0c Binary files /dev/null and b/scraper/screenshots/95.214.169.65:80 differ diff --git a/scraper/screenshots/95.214.180.12:80 b/scraper/screenshots/95.214.180.12:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/95.214.180.12:80 differ diff --git a/scraper/screenshots/95.214.180.23:30120 b/scraper/screenshots/95.214.180.23:30120 new file mode 100644 index 0000000..d9b5c97 Binary files /dev/null and b/scraper/screenshots/95.214.180.23:30120 differ diff --git a/scraper/screenshots/95.214.180.26:80 b/scraper/screenshots/95.214.180.26:80 new file mode 100644 index 0000000..66ca139 Binary files /dev/null and b/scraper/screenshots/95.214.180.26:80 differ diff --git a/scraper/screenshots/95.214.180.2:30120 b/scraper/screenshots/95.214.180.2:30120 new file mode 100644 index 0000000..3f8e654 Binary files /dev/null and b/scraper/screenshots/95.214.180.2:30120 differ diff --git a/scraper/screenshots/95.214.180.2:80 b/scraper/screenshots/95.214.180.2:80 new file mode 100644 index 0000000..773f418 Binary files /dev/null and b/scraper/screenshots/95.214.180.2:80 differ diff --git a/scraper/screenshots/95.214.180.33:30120 b/scraper/screenshots/95.214.180.33:30120 new file mode 100644 index 0000000..82be763 Binary files /dev/null and b/scraper/screenshots/95.214.180.33:30120 differ diff --git a/scraper/screenshots/95.214.180.3:80 b/scraper/screenshots/95.214.180.3:80 new file mode 100644 index 0000000..ecbd53b Binary files /dev/null and b/scraper/screenshots/95.214.180.3:80 differ diff --git a/scraper/screenshots/95.214.180.72:80 b/scraper/screenshots/95.214.180.72:80 new file mode 100644 index 0000000..8e29765 Binary files /dev/null and b/scraper/screenshots/95.214.180.72:80 differ diff --git a/scraper/screenshots/95.214.180.7:30120 b/scraper/screenshots/95.214.180.7:30120 new file mode 100644 index 0000000..eee0e23 Binary files /dev/null and b/scraper/screenshots/95.214.180.7:30120 differ diff --git a/scraper/screenshots/95.214.180.93:443 b/scraper/screenshots/95.214.180.93:443 new file mode 100644 index 0000000..83d2b34 Binary files /dev/null and b/scraper/screenshots/95.214.180.93:443 differ diff --git a/scraper/screenshots/95.223.195.214:80 b/scraper/screenshots/95.223.195.214:80 new file mode 100644 index 0000000..09e481a Binary files /dev/null and b/scraper/screenshots/95.223.195.214:80 differ diff --git a/scraper/screenshots/95.33.241.139:80 b/scraper/screenshots/95.33.241.139:80 new file mode 100644 index 0000000..d291ea5 Binary files /dev/null and b/scraper/screenshots/95.33.241.139:80 differ diff --git a/scraper/screenshots/95.91.47.201:443 b/scraper/screenshots/95.91.47.201:443 new file mode 100644 index 0000000..5c49488 Binary files /dev/null and b/scraper/screenshots/95.91.47.201:443 differ diff --git a/scraper/screenshots/96.16.90.10:80 b/scraper/screenshots/96.16.90.10:80 new file mode 100644 index 0000000..597d964 Binary files /dev/null and b/scraper/screenshots/96.16.90.10:80 differ diff --git a/scraper/screenshots/96.16.90.13:80 b/scraper/screenshots/96.16.90.13:80 new file mode 100644 index 0000000..48b06ab Binary files /dev/null and b/scraper/screenshots/96.16.90.13:80 differ diff --git a/scraper/screenshots/96.16.90.14:443 b/scraper/screenshots/96.16.90.14:443 new file mode 100644 index 0000000..e6191cf Binary files /dev/null and b/scraper/screenshots/96.16.90.14:443 differ diff --git a/scraper/screenshots/96.16.90.14:80 b/scraper/screenshots/96.16.90.14:80 new file mode 100644 index 0000000..59e31f1 Binary files /dev/null and b/scraper/screenshots/96.16.90.14:80 differ diff --git a/scraper/screenshots/96.16.90.15:80 b/scraper/screenshots/96.16.90.15:80 new file mode 100644 index 0000000..22ae59e Binary files /dev/null and b/scraper/screenshots/96.16.90.15:80 differ diff --git a/scraper/screenshots/96.16.90.16:80 b/scraper/screenshots/96.16.90.16:80 new file mode 100644 index 0000000..0ddfa2c Binary files /dev/null and b/scraper/screenshots/96.16.90.16:80 differ diff --git a/scraper/screenshots/96.16.90.17:80 b/scraper/screenshots/96.16.90.17:80 new file mode 100644 index 0000000..a96c802 Binary files /dev/null and b/scraper/screenshots/96.16.90.17:80 differ diff --git a/scraper/screenshots/96.16.90.18:80 b/scraper/screenshots/96.16.90.18:80 new file mode 100644 index 0000000..aaa843d Binary files /dev/null and b/scraper/screenshots/96.16.90.18:80 differ diff --git a/scraper/screenshots/96.16.90.19:80 b/scraper/screenshots/96.16.90.19:80 new file mode 100644 index 0000000..d324b70 Binary files /dev/null and b/scraper/screenshots/96.16.90.19:80 differ diff --git a/scraper/screenshots/96.16.90.206:80 b/scraper/screenshots/96.16.90.206:80 new file mode 100644 index 0000000..f362d80 Binary files /dev/null and b/scraper/screenshots/96.16.90.206:80 differ diff --git a/scraper/screenshots/96.16.90.20:443 b/scraper/screenshots/96.16.90.20:443 new file mode 100644 index 0000000..4abb56f Binary files /dev/null and b/scraper/screenshots/96.16.90.20:443 differ diff --git a/scraper/screenshots/96.16.90.20:80 b/scraper/screenshots/96.16.90.20:80 new file mode 100644 index 0000000..6a3b51e Binary files /dev/null and b/scraper/screenshots/96.16.90.20:80 differ diff --git a/scraper/screenshots/96.16.90.21:80 b/scraper/screenshots/96.16.90.21:80 new file mode 100644 index 0000000..34751c0 Binary files /dev/null and b/scraper/screenshots/96.16.90.21:80 differ diff --git a/scraper/screenshots/96.16.90.222:80 b/scraper/screenshots/96.16.90.222:80 new file mode 100644 index 0000000..63f8368 Binary files /dev/null and b/scraper/screenshots/96.16.90.222:80 differ diff --git a/scraper/screenshots/96.16.90.22:80 b/scraper/screenshots/96.16.90.22:80 new file mode 100644 index 0000000..944b0fc Binary files /dev/null and b/scraper/screenshots/96.16.90.22:80 differ diff --git a/scraper/screenshots/96.16.90.237:80 b/scraper/screenshots/96.16.90.237:80 new file mode 100644 index 0000000..b46b061 Binary files /dev/null and b/scraper/screenshots/96.16.90.237:80 differ diff --git a/scraper/screenshots/96.16.90.23:80 b/scraper/screenshots/96.16.90.23:80 new file mode 100644 index 0000000..5370b62 Binary files /dev/null and b/scraper/screenshots/96.16.90.23:80 differ diff --git a/scraper/screenshots/96.16.90.24:80 b/scraper/screenshots/96.16.90.24:80 new file mode 100644 index 0000000..89abba7 Binary files /dev/null and b/scraper/screenshots/96.16.90.24:80 differ diff --git a/scraper/screenshots/96.16.90.25:80 b/scraper/screenshots/96.16.90.25:80 new file mode 100644 index 0000000..cf67d9b Binary files /dev/null and b/scraper/screenshots/96.16.90.25:80 differ diff --git a/scraper/screenshots/96.16.90.26:80 b/scraper/screenshots/96.16.90.26:80 new file mode 100644 index 0000000..eaa660d Binary files /dev/null and b/scraper/screenshots/96.16.90.26:80 differ diff --git a/scraper/screenshots/96.16.90.27:80 b/scraper/screenshots/96.16.90.27:80 new file mode 100644 index 0000000..81fbf68 Binary files /dev/null and b/scraper/screenshots/96.16.90.27:80 differ diff --git a/scraper/screenshots/96.16.90.28:443 b/scraper/screenshots/96.16.90.28:443 new file mode 100644 index 0000000..4bcda90 Binary files /dev/null and b/scraper/screenshots/96.16.90.28:443 differ diff --git a/scraper/screenshots/96.16.90.28:80 b/scraper/screenshots/96.16.90.28:80 new file mode 100644 index 0000000..8c1ffe1 Binary files /dev/null and b/scraper/screenshots/96.16.90.28:80 differ diff --git a/scraper/screenshots/96.16.90.29:80 b/scraper/screenshots/96.16.90.29:80 new file mode 100644 index 0000000..e9ac211 Binary files /dev/null and b/scraper/screenshots/96.16.90.29:80 differ diff --git a/scraper/screenshots/96.16.90.2:80 b/scraper/screenshots/96.16.90.2:80 new file mode 100644 index 0000000..00a8635 Binary files /dev/null and b/scraper/screenshots/96.16.90.2:80 differ diff --git a/scraper/screenshots/96.16.90.30:80 b/scraper/screenshots/96.16.90.30:80 new file mode 100644 index 0000000..39df75d Binary files /dev/null and b/scraper/screenshots/96.16.90.30:80 differ diff --git a/scraper/screenshots/96.16.90.35:443 b/scraper/screenshots/96.16.90.35:443 new file mode 100644 index 0000000..670b5e5 Binary files /dev/null and b/scraper/screenshots/96.16.90.35:443 differ diff --git a/scraper/screenshots/96.16.90.35:80 b/scraper/screenshots/96.16.90.35:80 new file mode 100644 index 0000000..a69e1f1 Binary files /dev/null and b/scraper/screenshots/96.16.90.35:80 differ diff --git a/scraper/screenshots/96.16.90.36:80 b/scraper/screenshots/96.16.90.36:80 new file mode 100644 index 0000000..4b9e0fe Binary files /dev/null and b/scraper/screenshots/96.16.90.36:80 differ diff --git a/scraper/screenshots/96.16.90.37:443 b/scraper/screenshots/96.16.90.37:443 new file mode 100644 index 0000000..ffecc70 Binary files /dev/null and b/scraper/screenshots/96.16.90.37:443 differ diff --git a/scraper/screenshots/96.16.90.37:80 b/scraper/screenshots/96.16.90.37:80 new file mode 100644 index 0000000..556104b Binary files /dev/null and b/scraper/screenshots/96.16.90.37:80 differ diff --git a/scraper/screenshots/96.16.90.38:80 b/scraper/screenshots/96.16.90.38:80 new file mode 100644 index 0000000..1c69f72 Binary files /dev/null and b/scraper/screenshots/96.16.90.38:80 differ diff --git a/scraper/screenshots/96.16.90.39:80 b/scraper/screenshots/96.16.90.39:80 new file mode 100644 index 0000000..79fddc9 Binary files /dev/null and b/scraper/screenshots/96.16.90.39:80 differ diff --git a/scraper/screenshots/96.16.90.3:80 b/scraper/screenshots/96.16.90.3:80 new file mode 100644 index 0000000..c07a51b Binary files /dev/null and b/scraper/screenshots/96.16.90.3:80 differ diff --git a/scraper/screenshots/96.16.90.42:80 b/scraper/screenshots/96.16.90.42:80 new file mode 100644 index 0000000..4c66f1d Binary files /dev/null and b/scraper/screenshots/96.16.90.42:80 differ diff --git a/scraper/screenshots/96.16.90.43:80 b/scraper/screenshots/96.16.90.43:80 new file mode 100644 index 0000000..8374eed Binary files /dev/null and b/scraper/screenshots/96.16.90.43:80 differ diff --git a/scraper/screenshots/96.16.90.44:80 b/scraper/screenshots/96.16.90.44:80 new file mode 100644 index 0000000..b3be716 Binary files /dev/null and b/scraper/screenshots/96.16.90.44:80 differ diff --git a/scraper/screenshots/96.16.90.45:80 b/scraper/screenshots/96.16.90.45:80 new file mode 100644 index 0000000..e667f3a Binary files /dev/null and b/scraper/screenshots/96.16.90.45:80 differ diff --git a/scraper/screenshots/96.16.90.49:80 b/scraper/screenshots/96.16.90.49:80 new file mode 100644 index 0000000..6b0c0b6 Binary files /dev/null and b/scraper/screenshots/96.16.90.49:80 differ diff --git a/scraper/screenshots/96.16.90.4:80 b/scraper/screenshots/96.16.90.4:80 new file mode 100644 index 0000000..d63a03b Binary files /dev/null and b/scraper/screenshots/96.16.90.4:80 differ diff --git a/scraper/screenshots/96.16.90.50:80 b/scraper/screenshots/96.16.90.50:80 new file mode 100644 index 0000000..000a033 Binary files /dev/null and b/scraper/screenshots/96.16.90.50:80 differ diff --git a/scraper/screenshots/96.16.90.55:80 b/scraper/screenshots/96.16.90.55:80 new file mode 100644 index 0000000..80d02b8 Binary files /dev/null and b/scraper/screenshots/96.16.90.55:80 differ diff --git a/scraper/screenshots/96.16.90.56:80 b/scraper/screenshots/96.16.90.56:80 new file mode 100644 index 0000000..d77303d Binary files /dev/null and b/scraper/screenshots/96.16.90.56:80 differ diff --git a/scraper/screenshots/96.16.90.57:80 b/scraper/screenshots/96.16.90.57:80 new file mode 100644 index 0000000..4e9f972 Binary files /dev/null and b/scraper/screenshots/96.16.90.57:80 differ diff --git a/scraper/screenshots/96.16.90.5:80 b/scraper/screenshots/96.16.90.5:80 new file mode 100644 index 0000000..4e898cd Binary files /dev/null and b/scraper/screenshots/96.16.90.5:80 differ diff --git a/scraper/screenshots/96.16.90.62:80 b/scraper/screenshots/96.16.90.62:80 new file mode 100644 index 0000000..6ca6e70 Binary files /dev/null and b/scraper/screenshots/96.16.90.62:80 differ diff --git a/scraper/screenshots/96.16.90.63:80 b/scraper/screenshots/96.16.90.63:80 new file mode 100644 index 0000000..18dbc08 Binary files /dev/null and b/scraper/screenshots/96.16.90.63:80 differ diff --git a/scraper/screenshots/96.16.90.65:80 b/scraper/screenshots/96.16.90.65:80 new file mode 100644 index 0000000..54401f5 Binary files /dev/null and b/scraper/screenshots/96.16.90.65:80 differ diff --git a/scraper/screenshots/96.16.90.6:80 b/scraper/screenshots/96.16.90.6:80 new file mode 100644 index 0000000..bbfc669 Binary files /dev/null and b/scraper/screenshots/96.16.90.6:80 differ diff --git a/scraper/screenshots/96.16.90.72:443 b/scraper/screenshots/96.16.90.72:443 new file mode 100644 index 0000000..51722d4 Binary files /dev/null and b/scraper/screenshots/96.16.90.72:443 differ diff --git a/scraper/screenshots/96.16.90.73:80 b/scraper/screenshots/96.16.90.73:80 new file mode 100644 index 0000000..a37d829 Binary files /dev/null and b/scraper/screenshots/96.16.90.73:80 differ diff --git a/scraper/screenshots/96.16.90.7:443 b/scraper/screenshots/96.16.90.7:443 new file mode 100644 index 0000000..647e332 Binary files /dev/null and b/scraper/screenshots/96.16.90.7:443 differ diff --git a/scraper/screenshots/96.16.90.7:80 b/scraper/screenshots/96.16.90.7:80 new file mode 100644 index 0000000..ac672fb Binary files /dev/null and b/scraper/screenshots/96.16.90.7:80 differ diff --git a/scraper/screenshots/96.16.90.82:80 b/scraper/screenshots/96.16.90.82:80 new file mode 100644 index 0000000..a3a2382 Binary files /dev/null and b/scraper/screenshots/96.16.90.82:80 differ diff --git a/scraper/screenshots/96.16.90.8:80 b/scraper/screenshots/96.16.90.8:80 new file mode 100644 index 0000000..7a18bfc Binary files /dev/null and b/scraper/screenshots/96.16.90.8:80 differ diff --git a/scraper/screenshots/96.16.90.9:443 b/scraper/screenshots/96.16.90.9:443 new file mode 100644 index 0000000..04675b1 Binary files /dev/null and b/scraper/screenshots/96.16.90.9:443 differ diff --git a/scraper/screenshots/96.16.90.9:80 b/scraper/screenshots/96.16.90.9:80 new file mode 100644 index 0000000..8f05612 Binary files /dev/null and b/scraper/screenshots/96.16.90.9:80 differ diff --git a/scraper/screenshots/96.16.91.10:80 b/scraper/screenshots/96.16.91.10:80 new file mode 100644 index 0000000..6a6d927 Binary files /dev/null and b/scraper/screenshots/96.16.91.10:80 differ diff --git a/scraper/screenshots/96.16.91.229:80 b/scraper/screenshots/96.16.91.229:80 new file mode 100644 index 0000000..963855e Binary files /dev/null and b/scraper/screenshots/96.16.91.229:80 differ diff --git a/scraper/screenshots/96.16.91.35:80 b/scraper/screenshots/96.16.91.35:80 new file mode 100644 index 0000000..a783f3c Binary files /dev/null and b/scraper/screenshots/96.16.91.35:80 differ diff --git a/scraper/screenshots/98.142.253.154:443 b/scraper/screenshots/98.142.253.154:443 new file mode 100644 index 0000000..612eaff Binary files /dev/null and b/scraper/screenshots/98.142.253.154:443 differ diff --git a/scraper/screenshots/98.142.253.179:80 b/scraper/screenshots/98.142.253.179:80 new file mode 100644 index 0000000..358f969 Binary files /dev/null and b/scraper/screenshots/98.142.253.179:80 differ diff --git a/scraper/screenshots/98.142.253.18:80 b/scraper/screenshots/98.142.253.18:80 new file mode 100644 index 0000000..93be0e8 Binary files /dev/null and b/scraper/screenshots/98.142.253.18:80 differ diff --git a/scraper/screenshots/98.142.253.3:80 b/scraper/screenshots/98.142.253.3:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/98.142.253.3:80 differ diff --git a/scraper/screenshots/98.142.253.58:80 b/scraper/screenshots/98.142.253.58:80 new file mode 100644 index 0000000..8be6579 Binary files /dev/null and b/scraper/screenshots/98.142.253.58:80 differ diff --git a/scraper/screenshots/98.67.162.9:80 b/scraper/screenshots/98.67.162.9:80 new file mode 100644 index 0000000..2f8ede9 Binary files /dev/null and b/scraper/screenshots/98.67.162.9:80 differ diff --git a/scraper/screenshots/98.67.233.88:80 b/scraper/screenshots/98.67.233.88:80 new file mode 100644 index 0000000..40c990f Binary files /dev/null and b/scraper/screenshots/98.67.233.88:80 differ diff --git a/scraper/screenshots/98.67.243.136:80 b/scraper/screenshots/98.67.243.136:80 new file mode 100644 index 0000000..6296098 Binary files /dev/null and b/scraper/screenshots/98.67.243.136:80 differ diff --git a/scraper/screenshots/98.67.246.2:8080 b/scraper/screenshots/98.67.246.2:8080 new file mode 100644 index 0000000..31c9da4 Binary files /dev/null and b/scraper/screenshots/98.67.246.2:8080 differ diff --git a/scraper/screenshots/98.67.248.158:80 b/scraper/screenshots/98.67.248.158:80 new file mode 100644 index 0000000..135224e Binary files /dev/null and b/scraper/screenshots/98.67.248.158:80 differ diff --git a/scraper/screenshots/98.67.252.10:80 b/scraper/screenshots/98.67.252.10:80 new file mode 100644 index 0000000..6296098 Binary files /dev/null and b/scraper/screenshots/98.67.252.10:80 differ diff --git a/scraper/screenshots/98.67.253.87:80 b/scraper/screenshots/98.67.253.87:80 new file mode 100644 index 0000000..7009aae Binary files /dev/null and b/scraper/screenshots/98.67.253.87:80 differ diff --git a/scraper/screenshots/98.67.254.233:80 b/scraper/screenshots/98.67.254.233:80 new file mode 100644 index 0000000..6296098 Binary files /dev/null and b/scraper/screenshots/98.67.254.233:80 differ diff --git a/scraper/screenshots/98.67.254.40:80 b/scraper/screenshots/98.67.254.40:80 new file mode 100644 index 0000000..463867f Binary files /dev/null and b/scraper/screenshots/98.67.254.40:80 differ diff --git a/scraper/screenshots/98.67.254.45:80 b/scraper/screenshots/98.67.254.45:80 new file mode 100644 index 0000000..09c638a Binary files /dev/null and b/scraper/screenshots/98.67.254.45:80 differ diff --git a/scraper/screenshots/98.67.255.221:80 b/scraper/screenshots/98.67.255.221:80 new file mode 100644 index 0000000..39b1002 Binary files /dev/null and b/scraper/screenshots/98.67.255.221:80 differ diff --git a/scraper/screenshots/98.67.255.237:80 b/scraper/screenshots/98.67.255.237:80 new file mode 100644 index 0000000..c4121d5 Binary files /dev/null and b/scraper/screenshots/98.67.255.237:80 differ diff --git a/scraper/screenshots/99.86.0.112:80 b/scraper/screenshots/99.86.0.112:80 new file mode 100644 index 0000000..63205ad Binary files /dev/null and b/scraper/screenshots/99.86.0.112:80 differ diff --git a/scraper/screenshots/99.86.0.125:80 b/scraper/screenshots/99.86.0.125:80 new file mode 100644 index 0000000..76b677e Binary files /dev/null and b/scraper/screenshots/99.86.0.125:80 differ diff --git a/scraper/screenshots/99.86.0.13:80 b/scraper/screenshots/99.86.0.13:80 new file mode 100644 index 0000000..b74e9c5 Binary files /dev/null and b/scraper/screenshots/99.86.0.13:80 differ diff --git a/scraper/screenshots/99.86.0.153:80 b/scraper/screenshots/99.86.0.153:80 new file mode 100644 index 0000000..af7dab8 Binary files /dev/null and b/scraper/screenshots/99.86.0.153:80 differ diff --git a/scraper/screenshots/99.86.0.162:443 b/scraper/screenshots/99.86.0.162:443 new file mode 100644 index 0000000..3726045 Binary files /dev/null and b/scraper/screenshots/99.86.0.162:443 differ diff --git a/scraper/screenshots/99.86.0.205:80 b/scraper/screenshots/99.86.0.205:80 new file mode 100644 index 0000000..17be04d Binary files /dev/null and b/scraper/screenshots/99.86.0.205:80 differ diff --git a/scraper/screenshots/99.86.0.33:80 b/scraper/screenshots/99.86.0.33:80 new file mode 100644 index 0000000..fd4522a Binary files /dev/null and b/scraper/screenshots/99.86.0.33:80 differ diff --git a/scraper/screenshots/99.86.0.37:80 b/scraper/screenshots/99.86.0.37:80 new file mode 100644 index 0000000..109fe90 Binary files /dev/null and b/scraper/screenshots/99.86.0.37:80 differ diff --git a/scraper/screenshots/99.86.0.43:443 b/scraper/screenshots/99.86.0.43:443 new file mode 100644 index 0000000..d2ebc57 Binary files /dev/null and b/scraper/screenshots/99.86.0.43:443 differ diff --git a/scraper/screenshots/99.86.0.45:80 b/scraper/screenshots/99.86.0.45:80 new file mode 100644 index 0000000..5ad463e Binary files /dev/null and b/scraper/screenshots/99.86.0.45:80 differ diff --git a/scraper/screenshots/99.86.0.50:80 b/scraper/screenshots/99.86.0.50:80 new file mode 100644 index 0000000..c03438f Binary files /dev/null and b/scraper/screenshots/99.86.0.50:80 differ diff --git a/scraper/screenshots/99.86.0.56:80 b/scraper/screenshots/99.86.0.56:80 new file mode 100644 index 0000000..3ff5bab Binary files /dev/null and b/scraper/screenshots/99.86.0.56:80 differ diff --git a/scraper/screenshots/99.86.0.62:80 b/scraper/screenshots/99.86.0.62:80 new file mode 100644 index 0000000..33cf5b5 Binary files /dev/null and b/scraper/screenshots/99.86.0.62:80 differ diff --git a/scraper/screenshots/99.86.0.63:80 b/scraper/screenshots/99.86.0.63:80 new file mode 100644 index 0000000..7eb5c57 Binary files /dev/null and b/scraper/screenshots/99.86.0.63:80 differ diff --git a/scraper/screenshots/99.86.0.67:80 b/scraper/screenshots/99.86.0.67:80 new file mode 100644 index 0000000..a43c1d4 Binary files /dev/null and b/scraper/screenshots/99.86.0.67:80 differ diff --git a/scraper/screenshots/99.86.0.72:443 b/scraper/screenshots/99.86.0.72:443 new file mode 100644 index 0000000..32a3124 Binary files /dev/null and b/scraper/screenshots/99.86.0.72:443 differ diff --git a/scraper/screenshots/99.86.0.72:80 b/scraper/screenshots/99.86.0.72:80 new file mode 100644 index 0000000..d38c9c0 Binary files /dev/null and b/scraper/screenshots/99.86.0.72:80 differ diff --git a/scraper/screenshots/99.86.0.77:443 b/scraper/screenshots/99.86.0.77:443 new file mode 100644 index 0000000..cbf58b7 Binary files /dev/null and b/scraper/screenshots/99.86.0.77:443 differ diff --git a/scraper/screenshots/99.86.0.77:80 b/scraper/screenshots/99.86.0.77:80 new file mode 100644 index 0000000..1730ce4 Binary files /dev/null and b/scraper/screenshots/99.86.0.77:80 differ diff --git a/scraper/screenshots/99.86.0.83:443 b/scraper/screenshots/99.86.0.83:443 new file mode 100644 index 0000000..b6c22c8 Binary files /dev/null and b/scraper/screenshots/99.86.0.83:443 differ diff --git a/scraper/screenshots/99.86.0.83:80 b/scraper/screenshots/99.86.0.83:80 new file mode 100644 index 0000000..7bb4fbc Binary files /dev/null and b/scraper/screenshots/99.86.0.83:80 differ diff --git a/scraper/screenshots/99.86.0.90:80 b/scraper/screenshots/99.86.0.90:80 new file mode 100644 index 0000000..143b4b3 Binary files /dev/null and b/scraper/screenshots/99.86.0.90:80 differ diff --git a/scraper/screenshots/99.86.0.93:443 b/scraper/screenshots/99.86.0.93:443 new file mode 100644 index 0000000..77e542f Binary files /dev/null and b/scraper/screenshots/99.86.0.93:443 differ diff --git a/scraper/screenshots/99.86.1.107:80 b/scraper/screenshots/99.86.1.107:80 new file mode 100644 index 0000000..d694b0e Binary files /dev/null and b/scraper/screenshots/99.86.1.107:80 differ diff --git a/scraper/screenshots/99.86.1.117:80 b/scraper/screenshots/99.86.1.117:80 new file mode 100644 index 0000000..5d34656 Binary files /dev/null and b/scraper/screenshots/99.86.1.117:80 differ diff --git a/scraper/screenshots/99.86.1.151:80 b/scraper/screenshots/99.86.1.151:80 new file mode 100644 index 0000000..913f025 Binary files /dev/null and b/scraper/screenshots/99.86.1.151:80 differ diff --git a/scraper/screenshots/99.86.1.153:80 b/scraper/screenshots/99.86.1.153:80 new file mode 100644 index 0000000..19aff22 Binary files /dev/null and b/scraper/screenshots/99.86.1.153:80 differ diff --git a/scraper/screenshots/99.86.1.196:80 b/scraper/screenshots/99.86.1.196:80 new file mode 100644 index 0000000..486098a Binary files /dev/null and b/scraper/screenshots/99.86.1.196:80 differ diff --git a/scraper/screenshots/99.86.1.215:80 b/scraper/screenshots/99.86.1.215:80 new file mode 100644 index 0000000..a0162d8 Binary files /dev/null and b/scraper/screenshots/99.86.1.215:80 differ diff --git a/scraper/screenshots/99.86.1.21:80 b/scraper/screenshots/99.86.1.21:80 new file mode 100644 index 0000000..31f1d98 Binary files /dev/null and b/scraper/screenshots/99.86.1.21:80 differ diff --git a/scraper/screenshots/99.86.1.234:80 b/scraper/screenshots/99.86.1.234:80 new file mode 100644 index 0000000..3be8aa8 Binary files /dev/null and b/scraper/screenshots/99.86.1.234:80 differ diff --git a/scraper/screenshots/99.86.1.31:80 b/scraper/screenshots/99.86.1.31:80 new file mode 100644 index 0000000..8553551 Binary files /dev/null and b/scraper/screenshots/99.86.1.31:80 differ diff --git a/scraper/screenshots/99.86.1.45:80 b/scraper/screenshots/99.86.1.45:80 new file mode 100644 index 0000000..468b89e Binary files /dev/null and b/scraper/screenshots/99.86.1.45:80 differ diff --git a/scraper/screenshots/99.86.1.58:80 b/scraper/screenshots/99.86.1.58:80 new file mode 100644 index 0000000..b7d74fa Binary files /dev/null and b/scraper/screenshots/99.86.1.58:80 differ diff --git a/scraper/screenshots/99.86.1.77:80 b/scraper/screenshots/99.86.1.77:80 new file mode 100644 index 0000000..4a0552d Binary files /dev/null and b/scraper/screenshots/99.86.1.77:80 differ diff --git a/scraper/screenshots/99.86.2.105:443 b/scraper/screenshots/99.86.2.105:443 new file mode 100644 index 0000000..57590e1 Binary files /dev/null and b/scraper/screenshots/99.86.2.105:443 differ diff --git a/scraper/screenshots/99.86.2.112:80 b/scraper/screenshots/99.86.2.112:80 new file mode 100644 index 0000000..bfb5614 Binary files /dev/null and b/scraper/screenshots/99.86.2.112:80 differ diff --git a/scraper/screenshots/99.86.2.118:80 b/scraper/screenshots/99.86.2.118:80 new file mode 100644 index 0000000..e1fce8d Binary files /dev/null and b/scraper/screenshots/99.86.2.118:80 differ diff --git a/scraper/screenshots/99.86.2.133:80 b/scraper/screenshots/99.86.2.133:80 new file mode 100644 index 0000000..86d5386 Binary files /dev/null and b/scraper/screenshots/99.86.2.133:80 differ diff --git a/scraper/screenshots/99.86.2.153:443 b/scraper/screenshots/99.86.2.153:443 new file mode 100644 index 0000000..e24fd46 Binary files /dev/null and b/scraper/screenshots/99.86.2.153:443 differ diff --git a/scraper/screenshots/99.86.2.161:443 b/scraper/screenshots/99.86.2.161:443 new file mode 100644 index 0000000..2cc6d74 Binary files /dev/null and b/scraper/screenshots/99.86.2.161:443 differ diff --git a/scraper/screenshots/99.86.2.227:443 b/scraper/screenshots/99.86.2.227:443 new file mode 100644 index 0000000..5dfb39d Binary files /dev/null and b/scraper/screenshots/99.86.2.227:443 differ diff --git a/scraper/screenshots/99.86.2.53:80 b/scraper/screenshots/99.86.2.53:80 new file mode 100644 index 0000000..27289a2 Binary files /dev/null and b/scraper/screenshots/99.86.2.53:80 differ diff --git a/scraper/screenshots/99.86.2.77:443 b/scraper/screenshots/99.86.2.77:443 new file mode 100644 index 0000000..8da34cf Binary files /dev/null and b/scraper/screenshots/99.86.2.77:443 differ diff --git a/scraper/screenshots/99.86.2.93:80 b/scraper/screenshots/99.86.2.93:80 new file mode 100644 index 0000000..90836ce Binary files /dev/null and b/scraper/screenshots/99.86.2.93:80 differ diff --git a/scraper/screenshots/99.86.3.104:80 b/scraper/screenshots/99.86.3.104:80 new file mode 100644 index 0000000..aec3080 Binary files /dev/null and b/scraper/screenshots/99.86.3.104:80 differ diff --git a/scraper/screenshots/99.86.3.115:80 b/scraper/screenshots/99.86.3.115:80 new file mode 100644 index 0000000..b33deee Binary files /dev/null and b/scraper/screenshots/99.86.3.115:80 differ diff --git a/scraper/screenshots/99.86.3.141:80 b/scraper/screenshots/99.86.3.141:80 new file mode 100644 index 0000000..140af45 Binary files /dev/null and b/scraper/screenshots/99.86.3.141:80 differ diff --git a/scraper/screenshots/99.86.3.142:443 b/scraper/screenshots/99.86.3.142:443 new file mode 100644 index 0000000..427b484 Binary files /dev/null and b/scraper/screenshots/99.86.3.142:443 differ diff --git a/scraper/screenshots/99.86.3.142:80 b/scraper/screenshots/99.86.3.142:80 new file mode 100644 index 0000000..304c345 Binary files /dev/null and b/scraper/screenshots/99.86.3.142:80 differ diff --git a/scraper/screenshots/99.86.3.158:443 b/scraper/screenshots/99.86.3.158:443 new file mode 100644 index 0000000..8da2db0 Binary files /dev/null and b/scraper/screenshots/99.86.3.158:443 differ diff --git a/scraper/screenshots/99.86.3.165:80 b/scraper/screenshots/99.86.3.165:80 new file mode 100644 index 0000000..2417ef6 Binary files /dev/null and b/scraper/screenshots/99.86.3.165:80 differ diff --git a/scraper/screenshots/99.86.3.196:443 b/scraper/screenshots/99.86.3.196:443 new file mode 100644 index 0000000..45051dd Binary files /dev/null and b/scraper/screenshots/99.86.3.196:443 differ diff --git a/scraper/screenshots/99.86.3.218:443 b/scraper/screenshots/99.86.3.218:443 new file mode 100644 index 0000000..f7809dd Binary files /dev/null and b/scraper/screenshots/99.86.3.218:443 differ diff --git a/scraper/screenshots/99.86.3.237:80 b/scraper/screenshots/99.86.3.237:80 new file mode 100644 index 0000000..e84e4ca Binary files /dev/null and b/scraper/screenshots/99.86.3.237:80 differ diff --git a/scraper/screenshots/99.86.3.64:80 b/scraper/screenshots/99.86.3.64:80 new file mode 100644 index 0000000..d594376 Binary files /dev/null and b/scraper/screenshots/99.86.3.64:80 differ diff --git a/scraper/screenshots/99.86.3.73:80 b/scraper/screenshots/99.86.3.73:80 new file mode 100644 index 0000000..5721b82 Binary files /dev/null and b/scraper/screenshots/99.86.3.73:80 differ diff --git a/scraper/screenshots/99.86.3.89:80 b/scraper/screenshots/99.86.3.89:80 new file mode 100644 index 0000000..4b5b5cc Binary files /dev/null and b/scraper/screenshots/99.86.3.89:80 differ diff --git a/scraper/screenshots/99.86.4.114:443 b/scraper/screenshots/99.86.4.114:443 new file mode 100644 index 0000000..4a7ba4d Binary files /dev/null and b/scraper/screenshots/99.86.4.114:443 differ diff --git a/scraper/screenshots/99.86.4.127:80 b/scraper/screenshots/99.86.4.127:80 new file mode 100644 index 0000000..3b0f6b4 Binary files /dev/null and b/scraper/screenshots/99.86.4.127:80 differ diff --git a/scraper/screenshots/99.86.4.162:80 b/scraper/screenshots/99.86.4.162:80 new file mode 100644 index 0000000..5cbf264 Binary files /dev/null and b/scraper/screenshots/99.86.4.162:80 differ diff --git a/scraper/screenshots/99.86.4.187:443 b/scraper/screenshots/99.86.4.187:443 new file mode 100644 index 0000000..cd9370c Binary files /dev/null and b/scraper/screenshots/99.86.4.187:443 differ diff --git a/scraper/screenshots/99.86.4.191:443 b/scraper/screenshots/99.86.4.191:443 new file mode 100644 index 0000000..70cb519 Binary files /dev/null and b/scraper/screenshots/99.86.4.191:443 differ diff --git a/scraper/screenshots/99.86.4.203:443 b/scraper/screenshots/99.86.4.203:443 new file mode 100644 index 0000000..e256e87 Binary files /dev/null and b/scraper/screenshots/99.86.4.203:443 differ diff --git a/scraper/screenshots/99.86.4.216:443 b/scraper/screenshots/99.86.4.216:443 new file mode 100644 index 0000000..f39a808 Binary files /dev/null and b/scraper/screenshots/99.86.4.216:443 differ diff --git a/scraper/screenshots/99.86.4.220:80 b/scraper/screenshots/99.86.4.220:80 new file mode 100644 index 0000000..1a3bfb9 Binary files /dev/null and b/scraper/screenshots/99.86.4.220:80 differ diff --git a/scraper/screenshots/99.86.4.57:443 b/scraper/screenshots/99.86.4.57:443 new file mode 100644 index 0000000..b1b868c Binary files /dev/null and b/scraper/screenshots/99.86.4.57:443 differ diff --git a/scraper/screenshots/99.86.4.99:443 b/scraper/screenshots/99.86.4.99:443 new file mode 100644 index 0000000..29efe36 Binary files /dev/null and b/scraper/screenshots/99.86.4.99:443 differ diff --git a/scraper/screenshots/99.86.5.11:80 b/scraper/screenshots/99.86.5.11:80 new file mode 100644 index 0000000..f15d0f9 Binary files /dev/null and b/scraper/screenshots/99.86.5.11:80 differ diff --git a/scraper/screenshots/99.86.5.160:80 b/scraper/screenshots/99.86.5.160:80 new file mode 100644 index 0000000..b5b83f0 Binary files /dev/null and b/scraper/screenshots/99.86.5.160:80 differ diff --git a/scraper/screenshots/99.86.5.174:80 b/scraper/screenshots/99.86.5.174:80 new file mode 100644 index 0000000..33ddfb9 Binary files /dev/null and b/scraper/screenshots/99.86.5.174:80 differ diff --git a/scraper/screenshots/99.86.5.176:80 b/scraper/screenshots/99.86.5.176:80 new file mode 100644 index 0000000..762b5ac Binary files /dev/null and b/scraper/screenshots/99.86.5.176:80 differ diff --git a/scraper/screenshots/99.86.5.178:80 b/scraper/screenshots/99.86.5.178:80 new file mode 100644 index 0000000..4ed03c5 Binary files /dev/null and b/scraper/screenshots/99.86.5.178:80 differ diff --git a/scraper/screenshots/99.86.5.21:80 b/scraper/screenshots/99.86.5.21:80 new file mode 100644 index 0000000..6fe05cd Binary files /dev/null and b/scraper/screenshots/99.86.5.21:80 differ diff --git a/scraper/screenshots/99.86.5.32:80 b/scraper/screenshots/99.86.5.32:80 new file mode 100644 index 0000000..1556d1f Binary files /dev/null and b/scraper/screenshots/99.86.5.32:80 differ diff --git a/scraper/screenshots/99.86.6.204:443 b/scraper/screenshots/99.86.6.204:443 new file mode 100644 index 0000000..6e96601 Binary files /dev/null and b/scraper/screenshots/99.86.6.204:443 differ diff --git a/scraper/screenshots/99.86.6.225:80 b/scraper/screenshots/99.86.6.225:80 new file mode 100644 index 0000000..c130850 Binary files /dev/null and b/scraper/screenshots/99.86.6.225:80 differ diff --git a/scraper/screenshots/99.86.6.41:443 b/scraper/screenshots/99.86.6.41:443 new file mode 100644 index 0000000..416fe61 Binary files /dev/null and b/scraper/screenshots/99.86.6.41:443 differ diff --git a/scraper/screenshots/99.86.6.42:80 b/scraper/screenshots/99.86.6.42:80 new file mode 100644 index 0000000..fa77c59 Binary files /dev/null and b/scraper/screenshots/99.86.6.42:80 differ diff --git a/scraper/screenshots/99.86.6.71:80 b/scraper/screenshots/99.86.6.71:80 new file mode 100644 index 0000000..68e6897 Binary files /dev/null and b/scraper/screenshots/99.86.6.71:80 differ diff --git a/scraper/screenshots/99.86.6.73:80 b/scraper/screenshots/99.86.6.73:80 new file mode 100644 index 0000000..f1c50f1 Binary files /dev/null and b/scraper/screenshots/99.86.6.73:80 differ diff --git a/scraper/screenshots/99.86.7.130:80 b/scraper/screenshots/99.86.7.130:80 new file mode 100644 index 0000000..95cdd16 Binary files /dev/null and b/scraper/screenshots/99.86.7.130:80 differ diff --git a/scraper/screenshots/99.86.7.172:443 b/scraper/screenshots/99.86.7.172:443 new file mode 100644 index 0000000..df9c9fc Binary files /dev/null and b/scraper/screenshots/99.86.7.172:443 differ diff --git a/scraper/screenshots/99.86.7.183:443 b/scraper/screenshots/99.86.7.183:443 new file mode 100644 index 0000000..eee2372 Binary files /dev/null and b/scraper/screenshots/99.86.7.183:443 differ diff --git a/scraper/screenshots/99.86.7.221:443 b/scraper/screenshots/99.86.7.221:443 new file mode 100644 index 0000000..983e4ed Binary files /dev/null and b/scraper/screenshots/99.86.7.221:443 differ diff --git a/scraper/screenshots/99.86.7.231:80 b/scraper/screenshots/99.86.7.231:80 new file mode 100644 index 0000000..d86ad0f Binary files /dev/null and b/scraper/screenshots/99.86.7.231:80 differ diff --git a/scraper/screenshots/99.86.7.246:80 b/scraper/screenshots/99.86.7.246:80 new file mode 100644 index 0000000..b181c3e Binary files /dev/null and b/scraper/screenshots/99.86.7.246:80 differ diff --git a/scraper/screenshots/99.86.7.249:80 b/scraper/screenshots/99.86.7.249:80 new file mode 100644 index 0000000..123d67f Binary files /dev/null and b/scraper/screenshots/99.86.7.249:80 differ diff --git a/scraper/screenshots/99.86.7.34:443 b/scraper/screenshots/99.86.7.34:443 new file mode 100644 index 0000000..54862bf Binary files /dev/null and b/scraper/screenshots/99.86.7.34:443 differ diff --git a/scraper/screenshots/99.86.7.47:80 b/scraper/screenshots/99.86.7.47:80 new file mode 100644 index 0000000..8585add Binary files /dev/null and b/scraper/screenshots/99.86.7.47:80 differ diff --git a/scraper/screenshots/99.86.7.85:443 b/scraper/screenshots/99.86.7.85:443 new file mode 100644 index 0000000..b8d0f34 Binary files /dev/null and b/scraper/screenshots/99.86.7.85:443 differ diff --git a/scraper/screenshots/99.86.7.98:80 b/scraper/screenshots/99.86.7.98:80 new file mode 100644 index 0000000..d6084f4 Binary files /dev/null and b/scraper/screenshots/99.86.7.98:80 differ diff --git a/scraper/screenshots/99.86.8.117:80 b/scraper/screenshots/99.86.8.117:80 new file mode 100644 index 0000000..2f49d08 Binary files /dev/null and b/scraper/screenshots/99.86.8.117:80 differ diff --git a/scraper/screenshots/99.86.8.12:80 b/scraper/screenshots/99.86.8.12:80 new file mode 100644 index 0000000..7989a96 Binary files /dev/null and b/scraper/screenshots/99.86.8.12:80 differ diff --git a/scraper/screenshots/99.86.8.133:443 b/scraper/screenshots/99.86.8.133:443 new file mode 100644 index 0000000..c861c13 Binary files /dev/null and b/scraper/screenshots/99.86.8.133:443 differ diff --git a/scraper/screenshots/99.86.8.149:80 b/scraper/screenshots/99.86.8.149:80 new file mode 100644 index 0000000..044a1af Binary files /dev/null and b/scraper/screenshots/99.86.8.149:80 differ diff --git a/scraper/screenshots/99.86.8.158:80 b/scraper/screenshots/99.86.8.158:80 new file mode 100644 index 0000000..d28c04a Binary files /dev/null and b/scraper/screenshots/99.86.8.158:80 differ diff --git a/scraper/screenshots/99.86.8.181:80 b/scraper/screenshots/99.86.8.181:80 new file mode 100644 index 0000000..5a21f80 Binary files /dev/null and b/scraper/screenshots/99.86.8.181:80 differ diff --git a/scraper/screenshots/99.86.8.204:80 b/scraper/screenshots/99.86.8.204:80 new file mode 100644 index 0000000..765e752 Binary files /dev/null and b/scraper/screenshots/99.86.8.204:80 differ diff --git a/scraper/screenshots/99.86.8.46:443 b/scraper/screenshots/99.86.8.46:443 new file mode 100644 index 0000000..677723c Binary files /dev/null and b/scraper/screenshots/99.86.8.46:443 differ diff --git a/scraper/screenshots/99.86.8.7:80 b/scraper/screenshots/99.86.8.7:80 new file mode 100644 index 0000000..70b70f6 Binary files /dev/null and b/scraper/screenshots/99.86.8.7:80 differ diff --git a/scraper/selenium-server.jar b/scraper/selenium-server.jar new file mode 100644 index 0000000..51f4afa Binary files /dev/null and b/scraper/selenium-server.jar differ diff --git a/scraper/selenium.go b/scraper/selenium.go new file mode 100644 index 0000000..5d7214b --- /dev/null +++ b/scraper/selenium.go @@ -0,0 +1,76 @@ +package main + +import ( + "fmt" + "log" + "os" + "time" + + "github.com/tebeka/selenium" + "github.com/tebeka/selenium/firefox" +) + +const ( + seleniumPath = "/home/uzivatel/Desktop/scraper/selenium-server.jar" // Adjust this path + geckoDriverPath = "/home/uzivatel/Desktop/scraper/geckodriver" // Adjust this path + port = 5553 +) + +func screenshotwebpage(targetURL string, targetPort int) { + opts := []selenium.ServiceOption{ + selenium.StartFrameBuffer(), // Start an X frame buffer for the browser to run in + selenium.GeckoDriver(geckoDriverPath), // Specify the path to GeckoDriver + } + + // Start a Selenium WebDriver server instance + service, err := selenium.NewSeleniumService(seleniumPath, port, opts...) + if err != nil { + log.Fatalf("Error starting the Selenium server: %v", err) + } + defer service.Stop() + + // Connect to the WebDriver instance running locally + caps := selenium.Capabilities{"browserName": "firefox"} + firefoxCaps := firefox.Capabilities{ + Args: []string{"--ignore-certificate-errors"}, + } + caps.AddFirefox(firefoxCaps) + + wd, err := selenium.NewRemote(caps, fmt.Sprintf("http://localhost:%d/wd/hub", port)) + if err != nil { + log.Fatalf("Error connecting to the WebDriver server: %v", err) + } + defer wd.Quit() + + // Check if the port is 443 for HTTPS + protocol := "http" + if targetPort == 443 { + protocol = "https" + } + + // Open the target URL + wd.Get(protocol + "://" + targetURL + "/") + + time.Sleep(2 * time.Second) + alert, err := wd.AlertText() + _ = alert + if err == nil { + + // Accept the alert + err = wd.AcceptAlert() + if err != nil { + log.Fatalf("Error accepting the alert: %v", err) + } + } + + // Take a screenshot + screenshot, err := wd.Screenshot() + if err != nil { + fmt.Println("Error taking screenshot: %v", err) + } + + // Save the screenshot to a file + if err := os.WriteFile("/home/uzivatel/Desktop/scraper/screenshots/"+targetURL, screenshot, 0644); err != nil { + log.Fatalf("Error saving screenshot: %v", err) + } +} diff --git a/scraper/send.go b/scraper/send.go new file mode 100644 index 0000000..43494fc --- /dev/null +++ b/scraper/send.go @@ -0,0 +1,30 @@ +package main + +import ( + "bytes" + "encoding/json" + "fmt" + "net/http" +) + +// Function to post data to an endpoint +func postData(data map[string]interface{}) error { + postURL := "http://localhost:8000/add_website" // Replace with your actual endpoint + jsonData, err := json.Marshal(data) + if err != nil { + return err + } + + resp, err := http.Post(postURL, "application/json", bytes.NewBuffer(jsonData)) + if err != nil { + return err + } + defer resp.Body.Close() + + // Check response status if needed + if resp.StatusCode != http.StatusCreated { + return fmt.Errorf("unexpected status: %s", resp.Status) + } + + return nil +} diff --git a/search/__pycache__/main.cpython-310.pyc b/search/__pycache__/main.cpython-310.pyc new file mode 100644 index 0000000..14b0c54 Binary files /dev/null and b/search/__pycache__/main.cpython-310.pyc differ diff --git a/search/main.py b/search/main.py new file mode 100644 index 0000000..ebf02f6 --- /dev/null +++ b/search/main.py @@ -0,0 +1,106 @@ +from flask import Flask, request, jsonify +from flask_sqlalchemy import SQLAlchemy +from sqlalchemy.orm import backref +from flask_cors import CORS # Import CORS from flask_cors module +from sqlalchemy import text + +app = Flask(__name__) +CORS(app) # Enable CORS for your Flask app +app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://IPSearch:R&>r"UhWArXy398@192.168.50.166/IPSearch' +db = SQLAlchemy(app) + +class Website(db.Model): + id = db.Column(db.Integer, primary_key=True) + url = db.Column(db.String(2048), nullable=False) + keywords = db.relationship('Keyword', backref='website', lazy=True) + +class Keyword(db.Model): + id = db.Column(db.Integer, primary_key=True) + word = db.Column(db.String(255), nullable=False) + website_id = db.Column(db.Integer, db.ForeignKey('website.id'), nullable=False) + + + def __repr__(self): + return '' % self.word +with app.app_context(): + db.create_all() + +@app.route('/add_website', methods=['POST']) +def add_website(): + data = request.get_json() + url = str(data.get('url')).lower().replace(" ", "") + keywords = data.get('keywords', []) + + print("Received keywords:", keywords) # Debugging output + + if keywords is not None: + website = Website(url=url) + db.session.add(website) + db.session.commit() + + for word in keywords: + # Convert each keyword to lowercase + keyword = Keyword(word=word.lower(), website_id=website.id) + db.session.add(keyword) + db.session.commit() + else: + return jsonify({'message': 'No keywords'}), 418 + + return jsonify({'message': 'Website added successfully'}), 201 + + +@app.route('/search', methods=['POST']) +def search(): + data = request.get_json() + keywords = data.get('keywords', []) + #Make the query lowercase + keywords = [x.lower() for x in keywords] + print(keywords) + + # Construct the initial query with a limit of 50 results + query = "SELECT * FROM Keyword WHERE " + " OR ".join([f"word LIKE '%{kw}%'" for kw in keywords]) + " LIMIT 50" + + with db.engine.connect() as connection: + # Execute the initial query + result = connection.execute(text(query)) + results = result.mappings().all() + + # Iterate over the results and execute the second query for each website_id + output = [] + for row in results: + website_id = row['website_id'] + keyword = row['word'] + second_query = text(''' + SELECT url + FROM Website + WHERE id = :website_id; + ''') + second_result = connection.execute(second_query, {'website_id': website_id}) + urls = [r['url'] for r in second_result.mappings().all()] + + # Append URLs and keywords to the output + for url in urls: + output.append({'url': url, 'keywords': keyword}) + + # Close the connection + connection.close() + + return jsonify(output) + +@app.route('/random', methods=['GET']) +def random_websites(): + with db.engine.connect() as connection: + # Query to select 50 random websites + result = connection.execute(text(''' + SELECT url FROM Website ORDER BY RANDOM() LIMIT 50; + ''')) + websites = [row[0] for row in result] + connection.close() + + return jsonify(websites) + + + +if __name__ == '__main__': + + app.run(debug=False, host="0.0.0.0") diff --git a/search/run.py b/search/run.py new file mode 100644 index 0000000..8a1aa2a --- /dev/null +++ b/search/run.py @@ -0,0 +1,30 @@ +# run.py + +from gunicorn.app.base import BaseApplication +from main import app # Import your Flask app instance + +class FlaskApplication(BaseApplication): + def __init__(self, app, options=None): + self.options = options or {} + self.application = app + super().__init__() + + def load_config(self): + config = {key: value for key, value in self.options.items() if key in self.cfg.settings and value is not None} + for key, value in config.items(): + self.cfg.set(key.lower(), value) + + def load(self): + return self.application + +if __name__ == '__main__': + options = { + 'bind': '0.0.0.0:8000', # Bind to 0.0.0.0:8000 + 'workers': 5, # Number of Gunicorn worker processes + 'threads': 4, # Number of threads per worker process + 'worker_class': 'sync', # Use sync worker class for simplicity + 'accesslog': '-', # Log to stdout + 'errorlog': '-', # Log to stdout + } + + FlaskApplication(app, options).run() diff --git a/search/trc.py b/search/trc.py new file mode 100644 index 0000000..e7bd859 --- /dev/null +++ b/search/trc.py @@ -0,0 +1,46 @@ +import requests +import subprocess +import socket + +def trace_route(ip_address): + traceroute = subprocess.Popen(["traceroute", ip_address], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + trace_output, _ = traceroute.communicate() + return trace_output.decode('utf-8') + +def resolve_hostname(hostname): + return socket.gethostbyname(hostname) + +def send_http_request(url): + try: + response = requests.get(url) + return response.status_code, response.headers + except requests.RequestException as e: + return None, str(e) + + +def main(): + url = input("Enter URL to trace: ") + + try: + hostname = url.split('/')[2] # Extract hostname from URL + ip_address = resolve_hostname(hostname) + + print(f"Tracing route to {hostname} [{ip_address}]") + trace_output = trace_route(ip_address) + print(trace_output) + + status_code, headers = send_http_request(url) + if status_code: + print(f"\nHTTP Response from {url}:") + print(f"Status code: {status_code}") + print("Headers:") + for header, value in headers.items(): + print(f"{header}: {value}") + else: + print(f"\nFailed to retrieve HTTP response: {headers}") + + except Exception as e: + print(f"Error: {str(e)}") + +if __name__ == "__main__": + main()