diff --git a/.gitignore b/.gitignore index 74b95f3..5ceb386 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ venv -code \ No newline at end of file diff --git a/MirrorListV4 b/MirrorListV4 index 48d322b..77053e8 100644 --- a/MirrorListV4 +++ b/MirrorListV4 @@ -1,342 +1,342 @@ -213.129.232.18 -82.209.230.71 -213.129.232.18 -144.208.213.156 -83.164.133.195 -89.106.208.14 -213.129.232.18 -129.27.3.13 -46.102.157.26 -195.234.45.114 -195.234.45.114 -193.138.101.179 -193.190.198.27 -195.234.45.114 -185.111.204.146 -200.236.31.3 -200.236.31.3 -200.236.31.3 -200.237.203.89 -170.233.231.184 -143.106.7.135 -143.208.160.8 -200.133.233.210 -62.44.96.11 -62.44.96.11 -212.50.0.19 -195.85.215.251 -185.117.82.66 -84.43.191.5 -217.79.83.126 -62.44.96.11 -87.121.121.4 -78.128.80.70 -78.128.80.69 -207.210.46.249 -207.210.46.249 -199.188.220.121 -207.210.46.249 -129.97.134.71 -208.89.84.55 -99.199.64.121 -137.82.116.21 -138.204.231.181 -45.125.0.6 -138.204.231.181 -190.93.84.7 -190.97.169.220 -138.186.10.35 -138.204.231.181 -146.83.205.200 -161.53.160.11 -161.53.160.11 -161.53.160.11 -213.191.133.160 -78.128.211.127 -78.128.211.127 -81.91.81.11 -95.168.211.41 -147.32.160.17 -78.128.211.127 -147.32.127.196 -147.228.57.10 -147.229.176.19 -89.102.0.150 -195.113.250.60 -217.31.202.63 -194.71.11.163 -194.71.11.165 -194.71.11.165 -194.71.11.163 -46.30.211.12 -130.225.254.116 -77.247.64.34 -194.71.11.165 -194.71.11.163 -194.71.11.165 -194.71.11.163 -195.140.195.56 -193.166.3.3 -212.27.32.66 -212.27.32.66 -46.105.185.24 -213.32.5.7 -145.238.186.56 -193.48.57.38 -212.27.32.66 -193.55.175.161 -149.62.156.14 -82.67.51.130 -147.94.19.20 -132.227.74.17 -77.95.64.41 -194.167.156.234 -193.49.184.24 -130.79.200.5 -194.214.218.193 -80.93.84.15 -80.67.163.159 -194.254.245.145 -136.243.89.31 -62.138.222.4 -129.102.1.37 -137.226.34.46 -141.76.2.4 -45.125.0.6 -137.226.34.46 -141.76.2.4 -193.175.72.15 -141.76.2.4 -85.25.128.62 -62.201.161.86 -129.187.10.100 -194.8.197.22 -134.169.192.5 -91.199.118.172 -147.142.19.60 -131.188.12.211 -134.76.12.6 -137.226.34.46 -80.237.136.138 -129.143.116.10 -212.201.68.60 -212.201.68.61 -134.109.228.1 -139.174.32.6 -132.180.8.60 -130.75.2.22 -131.246.123.4 -134.93.178.166 -129.69.0.41 -129.69.0.42 -217.243.224.144 -212.83.32.30 -5.1.73.59 -37.58.58.140 -185.3.234.216 -217.72.206.21 -139.20.16.130 -194.29.226.88 -185.41.106.155 -82.98.66.230 -62.133.35.14 -213.202.193.253 -213.209.102.29 -194.95.104.50 -109.69.69.17 -78.129.164.123 -78.129.164.123 -185.165.170.20 -85.94.199.210 -203.178.137.175 -153.127.75.11 -210.117.237.2 -85.94.199.210 -109.73.80.190 -151.0.128.28 -90.147.160.72 -85.94.199.210 -130.251.19.2 -140.105.48.55 -158.129.159.169 -158.129.159.169 -158.129.159.169 -83.171.27.40 -91.211.244.15 -178.17.160.48 -178.17.160.48 -178.17.160.48 -130.89.149.21 -103.2.187.5 -103.2.187.6 -163.7.134.112 -130.89.149.21 -130.89.149.21 -23.151.136.174 -185.244.24.35 -83.137.149.3 -109.200.196.213 -85.159.239.121 -50.118.225.16 -185.229.191.144 -5.79.108.33 -185.15.209.238 -45.84.31.11 -78.142.193.130 -45.88.5.78 -185.183.113.131 -185.246.188.7 -194.127.172.131 -129.240.118.47 -129.240.118.47 -129.240.118.47 -153.19.251.221 -153.19.251.221 -149.156.96.11 -193.219.28.2 -150.254.173.17 -153.19.251.222 -193.136.216.34 -85.143.112.112 -193.136.216.34 -193.136.216.34 -193.137.214.36 -193.136.164.6 -23.147.168.189 -195.80.174.186 -195.80.174.186 -91.221.4.48 -88.212.10.12 -195.80.174.186 -213.129.232.18 -213.129.232.18 -130.89.148.12 -130.89.148.12 -80.64.47.13 -193.145.15.20 -95.20.11.14 -193.146.32.81 -147.83.91.172 -150.214.5.134 -193.144.61.75 -91.132.103.246 -193.146.75.19 -155.210.4.97 -82.194.78.250 -194.71.11.163 -194.71.11.165 -194.71.11.165 -194.71.11.163 -130.235.34.30 -193.11.30.180 -194.71.11.165 -194.71.11.163 -194.132.225.213 -94.103.202.216 -109.74.12.226 -129.132.53.171 -140.110.240.80 -193.140.98.183 -129.132.53.171 -129.132.53.171 -188.184.104.250 -188.185.25.162 -188.184.90.134 -188.185.65.208 -188.184.23.33 -188.184.79.248 -188.184.105.5 -188.184.91.52 -188.184.111.122 -188.185.8.192 -188.185.29.10 -83.166.143.42 -83.166.143.43 -109.202.202.202 -212.25.8.232 -185.73.240.250 -89.145.166.16 -78.129.164.123 -78.129.164.123 -83.170.94.3 -78.158.65.70 -78.129.164.123 -90.207.225.196 -94.229.65.150 -213.230.211.73 -46.235.229.21 -93.93.131.18 -163.1.221.67 -163.1.160.163 -80.87.134.17 -85.13.241.50 -212.219.56.184 -81.179.123.56 -185.28.240.10 -5.180.211.190 -64.50.233.100 -64.50.236.52 -208.80.154.139 -64.50.233.100 -64.50.236.52 -208.80.154.139 -92.119.16.152 -172.179.119.208 -128.180.2.105 -128.30.3.141 -128.226.118.13 -128.226.118.15 -128.226.118.14 -128.226.118.12 -108.61.5.92 -140.211.166.134 -64.50.233.100 -64.50.236.52 -128.135.10.29 -77.247.126.176 -108.86.224.23 -15.204.41.243 -204.157.3.70 -161.129.154.250 -184.105.240.111 -76.252.192.212 -216.127.35.166 -148.137.11.75 -192.158.27.72 -206.82.17.213 -141.219.180.70 -104.189.183.57 -162.255.118.133 -169.229.200.70 -208.100.4.53 -69.166.55.80 -208.80.154.139 -142.147.88.7 -23.145.168.14 -207.244.94.80 -185.142.32.136 -74.208.240.17 -94.154.159.241 -128.211.151.252 -138.247.115.248 -200.14.116.3 -190.105.216.42 -45.162.204.37 -185.37.252.138 -212.205.74.89 -152.66.115.246 -45.67.159.244 -89.111.47.130 -91.220.43.19 -185.242.104.18 -132.248.59.73 -37.251.174.43 -81.196.9.142 -89.213.174.152 -91.188.226.250 -188.241.222.52 -5.154.224.26 -5.83.47.15 -176.124.104.176 -185.100.87.86 -164.73.233.2 +213.129.232.18/32 +82.209.230.71/32 +213.129.232.18/32 +144.208.213.156/32 +83.164.133.195/32 +89.106.208.14/32 +213.129.232.18/32 +129.27.3.13/32 +46.102.157.26/32 +195.234.45.114/32 +195.234.45.114/32 +193.138.101.179/32 +193.190.198.27/32 +195.234.45.114/32 +185.111.204.146/32 +200.236.31.3/32 +200.236.31.3/32 +200.236.31.3/32 +200.237.203.89/32 +170.233.231.184/32 +143.106.7.135/32 +143.208.160.8/32 +200.133.233.210/32 +62.44.96.11/32 +62.44.96.11/32 +212.50.0.19/32 +195.85.215.251/32 +185.117.82.66/32 +84.43.191.5/32 +217.79.83.126/32 +62.44.96.11/32 +87.121.121.4/32 +78.128.80.69/32 +78.128.80.70/32 +207.210.46.249/32 +207.210.46.249/32 +199.188.220.121/32 +207.210.46.249/32 +129.97.134.71/32 +208.89.84.55/32 +99.199.64.121/32 +137.82.116.21/32 +138.204.231.181/32 +45.125.0.6/32 +138.204.231.181/32 +190.93.84.7/32 +190.97.169.220/32 +138.186.10.35/32 +138.204.231.181/32 +146.83.205.200/32 +161.53.160.11/32 +161.53.160.11/32 +161.53.160.11/32 +213.191.133.160/32 +78.128.211.127/32 +78.128.211.127/32 +81.91.81.11/32 +95.168.211.41/32 +147.32.160.17/32 +78.128.211.127/32 +147.32.127.196/32 +147.228.57.10/32 +147.229.176.19/32 +89.102.0.150/32 +195.113.250.60/32 +217.31.202.63/32 +194.71.11.163/32 +194.71.11.165/32 +194.71.11.165/32 +194.71.11.163/32 +46.30.211.12/32 +130.225.254.116/32 +77.247.64.34/32 +194.71.11.163/32 +194.71.11.165/32 +194.71.11.165/32 +194.71.11.163/32 +195.140.195.56/32 +193.166.3.3/32 +212.27.32.66/32 +212.27.32.66/32 +46.105.185.24/32 +213.32.5.7/32 +145.238.186.56/32 +193.48.57.38/32 +212.27.32.66/32 +193.55.175.161/32 +149.62.156.14/32 +82.67.51.130/32 +147.94.19.20/32 +132.227.74.17/32 +77.95.64.41/32 +194.167.156.234/32 +193.49.184.24/32 +130.79.200.5/32 +194.214.218.193/32 +80.93.84.15/32 +80.67.163.159/32 +194.254.245.145/32 +136.243.89.31/32 +62.138.222.4/32 +129.102.1.37/32 +137.226.34.46/32 +141.76.2.4/32 +45.125.0.6/32 +137.226.34.46/32 +141.76.2.4/32 +193.175.72.15/32 +141.76.2.4/32 +85.25.128.62/32 +62.201.161.86/32 +129.187.10.100/32 +194.8.197.22/32 +134.169.192.5/32 +91.199.118.172/32 +147.142.19.60/32 +131.188.12.211/32 +134.76.12.6/32 +137.226.34.46/32 +80.237.136.138/32 +129.143.116.10/32 +212.201.68.61/32 +212.201.68.60/32 +134.109.228.1/32 +139.174.32.6/32 +132.180.8.60/32 +130.75.2.22/32 +131.246.123.4/32 +134.93.178.166/32 +129.69.0.41/32 +129.69.0.42/32 +217.243.224.144/32 +212.83.32.30/32 +5.1.73.59/32 +37.58.58.140/32 +185.3.234.216/32 +217.72.206.21/32 +139.20.16.130/32 +194.29.226.88/32 +185.41.106.155/32 +82.98.66.230/32 +62.133.35.14/32 +213.202.193.253/32 +213.209.102.29/32 +194.95.104.50/32 +109.69.69.17/32 +78.129.164.123/32 +78.129.164.123/32 +185.165.170.20/32 +85.94.199.210/32 +203.178.137.175/32 +153.127.75.11/32 +210.117.237.2/32 +85.94.199.210/32 +109.73.80.190/32 +151.0.128.28/32 +90.147.160.72/32 +85.94.199.210/32 +130.251.19.2/32 +140.105.48.55/32 +158.129.159.169/32 +158.129.159.169/32 +158.129.159.169/32 +83.171.27.40/32 +91.211.244.15/32 +178.17.160.48/32 +178.17.160.48/32 +178.17.160.48/32 +130.89.149.21/32 +103.2.187.5/32 +103.2.187.6/32 +163.7.134.112/32 +130.89.149.21/32 +130.89.149.21/32 +23.151.136.174/32 +185.244.24.35/32 +83.137.149.3/32 +109.200.196.213/32 +85.159.239.121/32 +50.118.225.16/32 +185.229.191.144/32 +5.79.108.33/32 +185.15.209.238/32 +45.84.31.11/32 +78.142.193.130/32 +45.88.5.78/32 +185.183.113.131/32 +185.246.188.7/32 +194.127.172.131/32 +129.240.118.47/32 +129.240.118.47/32 +129.240.118.47/32 +153.19.251.221/32 +153.19.251.221/32 +149.156.96.11/32 +193.219.28.2/32 +150.254.173.17/32 +153.19.251.222/32 +193.136.216.34/32 +85.143.112.112/32 +193.136.216.34/32 +193.136.216.34/32 +193.137.214.36/32 +193.136.164.6/32 +23.147.168.189/32 +195.80.174.186/32 +195.80.174.186/32 +91.221.4.48/32 +88.212.10.12/32 +195.80.174.186/32 +213.129.232.18/32 +213.129.232.18/32 +130.89.148.12/32 +130.89.148.12/32 +80.64.47.13/32 +193.145.15.20/32 +95.20.11.14/32 +193.146.32.81/32 +147.83.91.172/32 +150.214.5.134/32 +193.144.61.75/32 +91.132.103.246/32 +193.146.75.19/32 +155.210.4.97/32 +82.194.78.250/32 +194.71.11.165/32 +194.71.11.163/32 +194.71.11.163/32 +194.71.11.165/32 +130.235.34.30/32 +193.11.30.180/32 +194.71.11.165/32 +194.71.11.163/32 +194.132.225.213/32 +94.103.202.216/32 +109.74.12.226/32 +129.132.53.171/32 +140.110.240.80/32 +193.140.98.183/32 +129.132.53.171/32 +129.132.53.171/32 +188.184.104.250/32 +188.185.25.162/32 +188.184.90.134/32 +188.185.65.208/32 +188.184.23.33/32 +188.184.79.248/32 +188.184.105.5/32 +188.184.91.52/32 +188.184.111.122/32 +188.185.8.192/32 +188.185.29.10/32 +83.166.143.42/32 +83.166.143.43/32 +109.202.202.202/32 +212.25.8.232/32 +185.73.240.250/32 +89.145.166.16/32 +78.129.164.123/32 +78.129.164.123/32 +83.170.94.3/32 +78.158.65.70/32 +78.129.164.123/32 +90.207.225.196/32 +94.229.65.150/32 +213.230.211.73/32 +46.235.229.21/32 +93.93.131.18/32 +163.1.221.67/32 +163.1.160.163/32 +80.87.134.17/32 +85.13.241.50/32 +212.219.56.184/32 +81.179.123.56/32 +185.28.240.10/32 +5.180.211.190/32 +208.80.154.139/32 +64.50.233.100/32 +64.50.236.52/32 +64.50.236.52/32 +208.80.154.139/32 +64.50.233.100/32 +92.119.16.152/32 +172.179.119.208/32 +128.180.2.105/32 +128.30.3.141/32 +128.226.118.15/32 +128.226.118.13/32 +128.226.118.12/32 +128.226.118.14/32 +108.61.5.92/32 +140.211.166.134/32 +64.50.233.100/32 +64.50.236.52/32 +128.135.10.29/32 +77.247.126.176/32 +108.86.224.23/32 +15.204.41.243/32 +204.157.3.70/32 +161.129.154.250/32 +184.105.240.111/32 +76.252.192.212/32 +216.127.35.166/32 +148.137.11.75/32 +192.158.27.72/32 +206.82.17.213/32 +141.219.180.70/32 +104.189.183.57/32 +162.255.118.133/32 +169.229.200.70/32 +208.100.4.53/32 +69.166.55.80/32 +208.80.154.139/32 +142.147.88.7/32 +23.145.168.14/32 +207.244.94.80/32 +185.142.32.136/32 +74.208.240.17/32 +94.154.159.241/32 +128.211.151.252/32 +138.247.115.248/32 +200.14.116.3/32 +190.105.216.42/32 +45.162.204.37/32 +185.37.252.138/32 +212.205.74.89/32 +152.66.115.246/32 +45.67.159.244/32 +89.111.47.130/32 +91.220.43.19/32 +185.242.104.18/32 +132.248.59.73/32 +37.251.174.43/32 +81.196.9.142/32 +89.213.174.152/32 +91.188.226.250/32 +188.241.222.52/32 +5.154.224.26/32 +5.83.47.15/32 +176.124.104.176/32 +185.100.87.86/32 +164.73.233.2/32 diff --git a/MirrorListV6 b/MirrorListV6 index 9467113..004d734 100644 --- a/MirrorListV6 +++ b/MirrorListV6 @@ -1,264 +1,264 @@ -2001:858:2:1::10 -2a02:2208:0:2b:ffff::71 -2001:858:2:1::10 -2a00:11c0:48:b:144:208:213:156 -2a00:1860:1:2::deb -2a02:3e0::14 -2001:858:2:1::10 -2a0d:f302:99:0:e207:1bff:fe6a:e7b1 -2a05:7300:0:100:195:234:45:114 -2a05:7300:0:100:195:234:45:114 -2001:6a8:3c80::27 -2a05:7300:0:100:195:234:45:114 -2a04:6480:101::146 -2801:82:80ff:8000::4 -2801:82:80ff:8000::4 -2801:82:80ff:8000::4 -2801:80:a88:4088::1 -2804:2c24:deb::1111 -2801:8a:40c0:7d::135 -2804:1f04:3000:138::8 -2801:b0:9:37::210 -2001:67c:20d0:f::11 -2001:67c:20d0:f::11 -2a01:288:4000:6::2 -2a01:9e40::251 -2001:67c:21bc:1e::1 -2a00:82a0:900::5 -2a02:7900:1:3::deb -2001:67c:20d0:f::11 -2a00:1728:20::5 -2a01:8740:ffff:fffc::31 -2a01:8740:ffff:fffc::32 -2604:1500:f001:0:216:3eff:fe3f:746b -2604:1500:f001:0:216:3eff:fe3f:746b -2604:1500:f001:0:216:3eff:fe3f:746b -2620:101:f000:4901:c5c:0:f:1055 -2403:2c80:5::6 -2803:30d0:100::7 -2803:8240:50:1035::35 -2001:b68:ff:1::11 -2001:b68:ff:1::11 -2001:b68:ff:1::11 -2001:718:1:1f:50:56ff:feee:127 -2001:718:1:1f:50:56ff:feee:127 -2001:1568:2::11 -2001:718:1:1f:50:56ff:feee:127 -2001:718:2::196 -2001:718:1801:1057::1:10 -2001:67c:1220:8b0::93e5:b013 -2a02:8301:0:2::150 -2001:718:1007:48::1:60 -2001:1488:ffff::63 -2001:6b0:19::163 -2001:6b0:19::165 -2001:6b0:19::165 -2001:6b0:19::163 -2a02:2350::211:12 -2001:878:346::116 -2a02:4de0:21::2 -2001:6b0:19::163 -2001:6b0:19::165 -2001:6b0:19::165 -2001:6b0:19::163 -2001:67c:2b0:19:201:aeff:fe64:6562 -2001:708:10:8::3 -2a01:e0c:1:1598::2 -2a01:e0c:1:1598::2 -2001:41d0:a:37bf::6666 -2a01:e0c:1:1598::2 -2a01:e0a:425:1220:250:56ff:fe24:6618 -2001:660:5404:191::20 -2001:660:3302:282a:d294:66ff:fe8b:9c18 -2001:660:4208:100::24 -2001:660:2402::6 -2a0c:1100:100:0:1:c2d6:dac1:0 -2a00:c70:1:80:93:84:15:2 -2a00:c70:1:80:93:84:15:1 -2001:910:0:40::159 -2001:660:500b:245::145 -2a02:cbf7:100::400 -2001:660:3004:4003::37:80 -2a00:8a60:e012:a00::21 -2a13:dd80:deb::deb -2403:2c80:5::6 -2a00:8a60:e012:a00::21 -2a13:dd80:deb::deb -2a13:dd80:deb::deb -2001:868:0:182::6 -2001:4ca0:0:101:0:80:21:1 -2001:4dd0:1234:1::deb -2001:638:602:4300:250:56ff:feb7:4da3 -2a0f:9440:1:d::2 -2001:638:a000:1021:21::1 -2a06:93c7:f0::f79 -2a00:8a60:e012:a00::21 -2a01:488:10:1::50ed:888a -2001:7c0:700::10 -2a00:5ba0:8000:e:92e2:baff:fe36:3cd0 -2a00:5ba0:8000:e:92e2:baff:fe36:3e88 -2001:638:911:b0e:134:109:228:1 -2001:638:605:20:1::6 -2001:638:208:ef1b:0:ff:fe00:4 -2001:4c80:40:628:215:5dff:fe01:be02 -2001:7c0:2041:48::41 -2001:7c0:2041:48::42 -2003:d1:3012::400 -2a00:f48:1007:32::30 -2a07:6fc0:1:0:73::59 -2a00:c98:2030:a034::21 -2a02:2b80:101:269::11 -2001:8d8:5c0:404::3 -2a02:f28:2:0:194:29:226:88 -2a01:55e0::a1f -2a02:2e0:2810:207:82:98:66:230 -2a09:0:8::14 -2a01:480:1::101 -2a02:2028:d000::6 -2001:638:a01:1094::50 -2a02:16d0:0:2a::2 -2001:1b40:5600:ff80:f8ee::1 -2001:1b40:5600:ff80:f8ee::1 -2a06:1700:2:34::1 -2001:4b78:2000:1::1 -2001:320:237::2 -2001:4b78:2000:1::1 -2a00:1cc8:0:ff0a::2 -2001:760:ffff:b6:4:100:0:70 -2001:4b78:2000:1::1 -2001:760:2e03::ca:26:0 -2a05:7cc0::91:211:244:15 -2a00:1dc0::f00d -2a00:1dc0::f00d -2a00:1dc0::f00d -2001:67c:2564:a120::21 -2404:e400::443:b -2404:e400::443:a -2404:138:4000:: -2001:67c:2564:a120::21 -2001:67c:2564:a120::21 -2a14:3f87:c800:2980::2980 -2001:678:d64:564d::443 -2a01:1b0:7999:419::3 -2a00:1630:3400::214 -2a00:1768:1000:22:1::1 -2a0f:ca80:1337::da0:c1c5 -2a02:6ea0:c036::10 -2001:1af8:4700:b210::33 -2a03:afc0:1:1114:: -2a05:44c1:1:5::555 -2a0c:59c0::26 -2a05:e4c1:1:3::2 -2a06:1700:3:12::12 -2a0f:93c0:0:d::2 -2001:700:100:118::47 -2001:700:100:118::47 -2001:700:100:118::47 -2001:4070:1:2::3 -2001:4070:1:2::3 -2001:6d8:10:1060::600b -2001:6a0:0:31::2 -2001:808::173:17 -2001:4070:1:2::2 -2001:690:2006:200::34 -2001:690:2006:200::34 -2001:690:2006:200::34 -2001:690:2100:80::6 -2602:faa5:189:: -2602:faa5:190:: -2a0c:c500:fe04::30 -2a02:130:9900:30::12 -2001:858:2:1::10 -2001:858:2:1::10 -2001:67c:2564:a119::148:12 -2001:67c:2564:a119::148:12 -2001:720:424:1::1:20 -2001:470:c8b6:0:10:1:2:4 -2001:720:1214:4200::81 -2a00:9ac0:c1ca:5::134 -2a12:d282:102:f6::1 -2001:720:1c14::ffff:c192:4b13 -2001:6b0:19::163 -2001:6b0:19::165 -2001:6b0:19::165 -2001:6b0:19::163 -2001:6b0:5:50::180 -2001:6b0:19::163 -2001:6b0:19::165 -2a01:8e01:c1ea:6c5c::5 -2a01:8e01:c1ea:6c5c::8 -2a02:750:9::e8 -2001:67c:10ec:3dd1::42 -2001:e10:2000:240:e643:4bff:fee8:a63c -2001:67c:10ec:3dd1::42 -2001:67c:10ec:3dd1::42 -2001:1458:d00:2d::100:d4 -2001:1458:d00:2c::100:229 -2001:1458:d00:34::100:328 -2001:1458:d00:68::100:e4 -2001:1458:d00:67::100:429 -2001:1458:201:e4::100:35c -2001:1458:201:e4::100:22c -2001:1458:d00:2d::100:1cb -2001:1458:d00:63::100:106 -2001:1458:d00:1::100:408 -2001:1458:d00:6f::100:89 -2001:1600:0:aaaa::2:2 -2001:1600:0:aaaa::2:1 -2001:1620::1620 -2001:8e0:41:600::232 -2a05:4740:199::1 -2a04:c43:e00:c4d7:4a5:88ff:fe00:8af -2001:1b40:5600:ff80:f8ee::1 -2001:1b40:5600:ff80:f8ee::1 -2a01:550:0:402::2:1 -2001:1b40:5600:ff80:f8ee::1 -2a01:70:1:211:2::73 -2a00:1098:0:86:1000::25 -2a00:1098:1::5 -2a01:c0:2:3d::2 -2001:630:341:12::184 -2a0d:5082:0:7::2 -2600:3402:200:227::2 -2600:3404:200:237::2 -2620:0:861:2:208:80:154:139 -2600:3402:200:227::2 -2600:3404:200:237::2 -2620:0:861:2:208:80:154:139 -2a10:4dc0:2:5::2 -2603:1030:c02:9::507 -2001:19f0:1595:1403::1092 -2605:bc80:3010::134 -2600:3402:200:227::2 -2600:3404:200:237::2 -2a0b:f301:2:7::2 -2604:2dc0:200:1b57::a -2604:fbc0:4::2 -2001:470:1:863::110:2 -2600:1700:3d24:740f:e43b:4cff:fe00:212d -2620:1d5:ffd:1702::213 -2607:f140:0:32::70 -2607:f128:1:3::2 -2620:0:861:2:208:80:154:139 -2604:a840::7 -2604:9a00:2010:a0b8::5 -2a03:afc0:3:1508:: -2607:f1c0:5c0:2::1:0 -2a0b:f300:2:b::2 -2001:18e8:804:35::1337 -2801:0:140:a::deb1 -2803:6d00:8000:9::deb1 -2a04:6f00::138 -2a02:587:dff:501::89 -2001:738:2001:2001::c1ca -2a09:7ac0::4 -2a00:17c0:c6::1:3 -2a0c:16c1:1:55:601a:1dff:fe6c:368 -2a02:2f0c:d000:14::2 -2a0f:9400:7e11:cb92:b00b:babe:cafe:bad -2a06:cd40:100:cafe::2 -2a00:ece0:6718:103::a -2a02:13f0:8200::b064:c4fe -2001:67c:744:7::2 -2a06:1700:0:38::1 -2001:1328:54:fff::2 +2001:858:2:1::10/128 +2a02:2208:0:2b:ffff::71/128 +2001:858:2:1::10/128 +2a00:11c0:48:b:144:208:213:156/128 +2a00:1860:1:2::deb/128 +2a02:3e0::14/128 +2001:858:2:1::10/128 +2a0d:f302:99:0:e207:1bff:fe6a:e7b1/128 +2a05:7300:0:100:195:234:45:114/128 +2a05:7300:0:100:195:234:45:114/128 +2001:6a8:3c80::27/128 +2a05:7300:0:100:195:234:45:114/128 +2a04:6480:101::146/128 +2801:82:80ff:8000::4/128 +2801:82:80ff:8000::4/128 +2801:82:80ff:8000::4/128 +2801:80:a88:4088::1/128 +2804:2c24:deb::1111/128 +2801:8a:40c0:7d::135/128 +2804:1f04:3000:138::8/128 +2801:b0:9:37::210/128 +2001:67c:20d0:f::11/128 +2001:67c:20d0:f::11/128 +2a01:288:4000:6::2/128 +2a01:9e40::251/128 +2001:67c:21bc:1e::1/128 +2a00:82a0:900::5/128 +2a02:7900:1:3::deb/128 +2001:67c:20d0:f::11/128 +2a00:1728:20::5/128 +2a01:8740:ffff:fffc::32/128 +2a01:8740:ffff:fffc::31/128 +2604:1500:f001:0:216:3eff:fe3f:746b/128 +2604:1500:f001:0:216:3eff:fe3f:746b/128 +2604:1500:f001:0:216:3eff:fe3f:746b/128 +2620:101:f000:4901:c5c:0:f:1055/128 +2403:2c80:5::6/128 +2803:30d0:100::7/128 +2803:8240:50:1035::35/128 +2001:b68:ff:1::11/128 +2001:b68:ff:1::11/128 +2001:b68:ff:1::11/128 +2001:718:1:1f:50:56ff:feee:127/128 +2001:718:1:1f:50:56ff:feee:127/128 +2001:1568:2::11/128 +2001:718:1:1f:50:56ff:feee:127/128 +2001:718:2::196/128 +2001:718:1801:1057::1:10/128 +2001:67c:1220:8b0::93e5:b013/128 +2a02:8301:0:2::150/128 +2001:718:1007:48::1:60/128 +2001:1488:ffff::63/128 +2001:6b0:19::165/128 +2001:6b0:19::163/128 +2001:6b0:19::163/128 +2001:6b0:19::165/128 +2a02:2350::211:12/128 +2001:878:346::116/128 +2a02:4de0:21::2/128 +2001:6b0:19::165/128 +2001:6b0:19::163/128 +2001:6b0:19::163/128 +2001:6b0:19::165/128 +2001:67c:2b0:19:201:aeff:fe64:6562/128 +2001:708:10:8::3/128 +2a01:e0c:1:1598::2/128 +2a01:e0c:1:1598::2/128 +2001:41d0:a:37bf::6666/128 +2a01:e0c:1:1598::2/128 +2a01:e0a:425:1220:250:56ff:fe24:6618/128 +2001:660:5404:191::20/128 +2001:660:3302:282a:d294:66ff:fe8b:9c18/128 +2001:660:4208:100::24/128 +2001:660:2402::6/128 +2a0c:1100:100:0:1:c2d6:dac1:0/128 +2a00:c70:1:80:93:84:15:2/128 +2a00:c70:1:80:93:84:15:1/128 +2001:910:0:40::159/128 +2001:660:500b:245::145/128 +2a02:cbf7:100::400/128 +2001:660:3004:4003::37:80/128 +2a00:8a60:e012:a00::21/128 +2a13:dd80:deb::deb/128 +2403:2c80:5::6/128 +2a00:8a60:e012:a00::21/128 +2a13:dd80:deb::deb/128 +2a13:dd80:deb::deb/128 +2001:868:0:182::6/128 +2001:4ca0:0:101:0:80:21:1/128 +2001:4dd0:1234:1::deb/128 +2001:638:602:4300:250:56ff:feb7:4da3/128 +2a0f:9440:1:d::2/128 +2001:638:a000:1021:21::1/128 +2a06:93c7:f0::f79/128 +2a00:8a60:e012:a00::21/128 +2a01:488:10:1::50ed:888a/128 +2001:7c0:700::10/128 +2a00:5ba0:8000:e:92e2:baff:fe36:3e88/128 +2a00:5ba0:8000:e:92e2:baff:fe36:3cd0/128 +2001:638:911:b0e:134:109:228:1/128 +2001:638:605:20:1::6/128 +2001:638:208:ef1b:0:ff:fe00:4/128 +2001:4c80:40:628:215:5dff:fe01:be02/128 +2001:7c0:2041:48::41/128 +2001:7c0:2041:48::42/128 +2003:d1:3012::400/128 +2a00:f48:1007:32::30/128 +2a07:6fc0:1:0:73::59/128 +2a00:c98:2030:a034::21/128 +2a02:2b80:101:269::11/128 +2001:8d8:5c0:404::3/128 +2a02:f28:2:0:194:29:226:88/128 +2a01:55e0::a1f/128 +2a02:2e0:2810:207:82:98:66:230/128 +2a09:0:8::14/128 +2a01:480:1::101/128 +2a02:2028:d000::6/128 +2001:638:a01:1094::50/128 +2a02:16d0:0:2a::2/128 +2001:1b40:5600:ff80:f8ee::1/128 +2001:1b40:5600:ff80:f8ee::1/128 +2a06:1700:2:34::1/128 +2001:4b78:2000:1::1/128 +2001:320:237::2/128 +2001:4b78:2000:1::1/128 +2a00:1cc8:0:ff0a::2/128 +2001:760:ffff:b6:4:100:0:70/128 +2001:4b78:2000:1::1/128 +2001:760:2e03::ca:26:0/128 +2a05:7cc0::91:211:244:15/128 +2a00:1dc0::f00d/128 +2a00:1dc0::f00d/128 +2a00:1dc0::f00d/128 +2001:67c:2564:a120::21/128 +2404:e400::443:a/128 +2404:e400::443:b/128 +2404:138:4000::/128 +2001:67c:2564:a120::21/128 +2001:67c:2564:a120::21/128 +2a14:3f87:c800:2980::2980/128 +2001:678:d64:564d::443/128 +2a01:1b0:7999:419::3/128 +2a00:1630:3400::214/128 +2a00:1768:1000:22:1::1/128 +2a0f:ca80:1337::da0:c1c5/128 +2a02:6ea0:c036::10/128 +2001:1af8:4700:b210::33/128 +2a03:afc0:1:1114::/128 +2a05:44c1:1:5::555/128 +2a0c:59c0::26/128 +2a05:e4c1:1:3::2/128 +2a06:1700:3:12::12/128 +2a0f:93c0:0:d::2/128 +2001:700:100:118::47/128 +2001:700:100:118::47/128 +2001:700:100:118::47/128 +2001:4070:1:2::3/128 +2001:4070:1:2::3/128 +2001:6d8:10:1060::600b/128 +2001:6a0:0:31::2/128 +2001:808::173:17/128 +2001:4070:1:2::2/128 +2001:690:2006:200::34/128 +2001:690:2006:200::34/128 +2001:690:2006:200::34/128 +2001:690:2100:80::6/128 +2602:faa5:189::/128 +2602:faa5:190::/128 +2a0c:c500:fe04::30/128 +2a02:130:9900:30::12/128 +2001:858:2:1::10/128 +2001:858:2:1::10/128 +2001:67c:2564:a119::148:12/128 +2001:67c:2564:a119::148:12/128 +2001:720:424:1::1:20/128 +2001:470:c8b6:0:10:1:2:4/128 +2001:720:1214:4200::81/128 +2a00:9ac0:c1ca:5::134/128 +2a12:d282:102:f6::1/128 +2001:720:1c14::ffff:c192:4b13/128 +2001:6b0:19::165/128 +2001:6b0:19::163/128 +2001:6b0:19::163/128 +2001:6b0:19::165/128 +2001:6b0:5:50::180/128 +2001:6b0:19::163/128 +2001:6b0:19::165/128 +2a01:8e01:c1ea:6c5c::5/128 +2a01:8e01:c1ea:6c5c::8/128 +2a02:750:9::e8/128 +2001:67c:10ec:3dd1::42/128 +2001:e10:2000:240:e643:4bff:fee8:a63c/128 +2001:67c:10ec:3dd1::42/128 +2001:67c:10ec:3dd1::42/128 +2001:1458:d00:2d::100:d4/128 +2001:1458:d00:2c::100:229/128 +2001:1458:d00:34::100:328/128 +2001:1458:d00:68::100:e4/128 +2001:1458:d00:67::100:429/128 +2001:1458:201:e4::100:35c/128 +2001:1458:201:e4::100:22c/128 +2001:1458:d00:2d::100:1cb/128 +2001:1458:d00:63::100:106/128 +2001:1458:d00:1::100:408/128 +2001:1458:d00:6f::100:89/128 +2001:1600:0:aaaa::2:2/128 +2001:1600:0:aaaa::2:1/128 +2001:1620::1620/128 +2001:8e0:41:600::232/128 +2a05:4740:199::1/128 +2a04:c43:e00:c4d7:4a5:88ff:fe00:8af/128 +2001:1b40:5600:ff80:f8ee::1/128 +2001:1b40:5600:ff80:f8ee::1/128 +2a01:550:0:402::2:1/128 +2001:1b40:5600:ff80:f8ee::1/128 +2a01:70:1:211:2::73/128 +2a00:1098:0:86:1000::25/128 +2a00:1098:1::5/128 +2a01:c0:2:3d::2/128 +2001:630:341:12::184/128 +2a0d:5082:0:7::2/128 +2620:0:861:2:208:80:154:139/128 +2600:3402:200:227::2/128 +2600:3404:200:237::2/128 +2600:3404:200:237::2/128 +2620:0:861:2:208:80:154:139/128 +2600:3402:200:227::2/128 +2a10:4dc0:2:5::2/128 +2603:1030:c02:9::507/128 +2001:19f0:1595:1403::1092/128 +2600:3402:200:227::2/128 +2605:bc80:3010::134/128 +2600:3404:200:237::2/128 +2a0b:f301:2:7::2/128 +2604:2dc0:200:1b57::a/128 +2604:fbc0:4::2/128 +2001:470:1:863::110:2/128 +2600:1700:3d24:740f:e43b:4cff:fe00:212d/128 +2620:1d5:ffd:1702::213/128 +2607:f140:0:32::70/128 +2607:f128:1:3::2/128 +2620:0:861:2:208:80:154:139/128 +2604:a840::7/128 +2604:9a00:2010:a0b8::5/128 +2a03:afc0:3:1508::/128 +2607:f1c0:5c0:2::1:0/128 +2a0b:f300:2:b::2/128 +2001:18e8:804:35::1337/128 +2801:0:140:a::deb1/128 +2803:6d00:8000:9::deb1/128 +2a04:6f00::138/128 +2a02:587:dff:501::89/128 +2001:738:2001:2001::c1ca/128 +2a09:7ac0::4/128 +2a00:17c0:c6::1:3/128 +2a0c:16c1:1:55:601a:1dff:fe6c:368/128 +2a02:2f0c:d000:14::2/128 +2a0f:9400:7e11:cb92:b00b:babe:cafe:bad/128 +2a06:cd40:100:cafe::2/128 +2a00:ece0:6718:103::a/128 +2a02:13f0:8200::b064:c4fe/128 +2001:67c:744:7::2/128 +2a06:1700:0:38::1/128 +2001:1328:54:fff::2/128 diff --git a/code/.gitignore b/code/.gitignore new file mode 100644 index 0000000..ed8ebf5 --- /dev/null +++ b/code/.gitignore @@ -0,0 +1 @@ +__pycache__ \ No newline at end of file diff --git a/code/main.py b/code/main.py new file mode 100644 index 0000000..ccd58ff --- /dev/null +++ b/code/main.py @@ -0,0 +1,151 @@ +import requests, schedule, time +from bs4 import BeautifulSoup +from collections import defaultdict +from whatDomain import * + +DEBMIRRORURL = "https://www.debian.org/mirror/list" +IPv4FILE = "../MirrorListV4" +IPv6FILE = "../MirrorListV6" + + +# Define EU and American countries +target_countries = set([ + # Europe + "Austria", "Belgium", "Bulgaria", "Croatia", "Czech Republic", "Denmark", + "Estonia", "Finland", "France", "Germany", "Greece", "Hungary", "Iceland", + "Ireland", "Italy", "Latvia", "Lithuania", "Netherlands", "Norway", "Poland", + "Portugal", "Romania", "Slovakia", "Slovenia", "Spain", "Sweden", "Switzerland", + "United Kingdom", "Moldova", + # America + "Argentina", "Brazil", "Canada", "Chile", "Colombia", "Costa Rica", "Ecuador", + "Mexico", "Peru", "United States", "Uruguay", "Venezuela" +]) + + +def sanitizeURL(inpurl: str): + if "https://" in inpurl: + outurl = inpurl[8:] + elif "http://" in inpurl: + outurl = inpurl[7:] + elif "http://" or "https://" not in url: + outurl = inpurl + else: + return -1 + + i = 0 + for char in outurl: + i += 1 + if char == "/": + outurl = outurl[:i] + + if char == "/": + outurl = outurl[:-1] + return outurl + + +def getFreshData(): + payload = requests.get(DEBMIRRORURL) + soup = BeautifulSoup(payload.content, "html.parser") + return soup + + +def sanitizeUrlsGodWhatTheFuckIsThis(SoupInput: BeautifulSoup): + + outMirrorDict = {} + current_country = None + + # Iterate through all table rows + for table in SoupInput.find_all("table"): + for row in table.find_all("tr"): + # Check for country name in a full-row header () + strong = row.find("strong") + if strong: + country_name = strong.get_text(strip=True) + if country_name in target_countries: + current_country = country_name + else: + current_country = None + continue # move to next row + + # Check for inline country name in first column + cols = row.find_all("td") + if len(cols) >= 2: + possible_country = cols[0].get_text(strip=True) + link_tag = cols[1].find("a", href=True) + if possible_country in target_countries: + current_country = possible_country + if current_country and link_tag: + url = link_tag['href'] + if current_country not in outMirrorDict: + outMirrorDict[current_country] = [] + outMirrorDict[current_country].append(url) + + return outMirrorDict + +def LeJob(): + + print("Starting lookup") + + LeSoup = getFreshData() + + LeMirrorDict = sanitizeUrlsGodWhatTheFuckIsThis(LeSoup) + + # print(LeMirrorDict) + + with open(IPv4FILE, "r",) as fR, open(IPv4FILE, "w",) as fW: + + for key, urls in LeMirrorDict.items(): + # print(urls) + if key in target_countries: + + for url in urls: + # print(url) + + if url not in fR: + + goodurl = sanitizeURL(url) + # print(goodurl) + + ip4Dict = ermWhatATheIpFromDomainYaCrazy(goodurl) + + if ip4Dict == -1: + continue + + for key, ip in ip4Dict.items(): + # print(ip) + + fW.write(ip + "/32" + "\n") + + + with open(IPv6FILE, "r",) as fR, open(IPv6FILE, "w",) as fW: + + for key, urls in LeMirrorDict.items(): + if key in target_countries: + + for url in urls: + + if url not in fR: + + goodurl = sanitizeURL(url) + # print(goodurl) + + ip6Dict = ermWhatAAAATheIpFromDomainYaCrazy(goodurl) + + if ip6Dict == -1: + continue + + for key, ip in ip6Dict.items(): + # print(ip) + + fW.write(ip + "/128" + "\n") + + +# schedule.every().day.at("12:45").do(LeJob) +schedule.every().day.at("12:40").do(LeJob) + +while True: + schedule.run_pending() + print("Waiting...") + time.sleep(30) #Wait one minute + # LeJob() + diff --git a/code/requirements.txt b/code/requirements.txt new file mode 100644 index 0000000..e779096 --- /dev/null +++ b/code/requirements.txt @@ -0,0 +1,3 @@ +beautifulsoup4==4.13.4 +requests==2.32.3 +schedule==1.2.2 \ No newline at end of file diff --git a/code/test.py b/code/test.py new file mode 100644 index 0000000..72220e9 --- /dev/null +++ b/code/test.py @@ -0,0 +1,52 @@ +from typing import Optional, Annotated +import dns, dns.resolver, socket + + + + +def ermWhatATheIpFromDomainYaCrazy(inpDomainNameOrSomething: Annotated[str, "Domain name to lookup IP for"]): + #dns_query = Nslookup() + """ + Tells you what IPv4 address/es a domain point to. + Returns: + dict: A dictionary with IP addresses associated with that domain. + + """ + + # i = 0 + outDict = {} + + #result = dns_query.dns_lookup("example.com") + #result = Nslookup.dns_lookup(inpDomainNameOrSomething) + result = dns.resolver.resolve(inpDomainNameOrSomething, 'A') + # result = dns.resolver.resolve_name(inpDomainNameOrSomething) + for i, something in enumerate(result): + outDict[i] = something.to_text() + # i += 1 + + return outDict + + +# print(socket.getaddrinfo(url, "443")) + +url = "https://data.fubukus.net/assets/" +# url = "http://ftp.eq.uc.pt/software/Linux/debian/" + +if "https://" in url: + url = url[8:] +elif "http://" in url: + url = url[7:] +i = 0 +for char in url: + # print(char) + i += 1 + if char == "/": + url = url[:i] + # i = 0 + + # print("skibidi") +if char == "/": + url = url[:-1] + +print(url) +# print(ermWhatATheIpFromDomainYaCrazy(url)) \ No newline at end of file diff --git a/code/whatDomain.py b/code/whatDomain.py new file mode 100644 index 0000000..d0a0a4d --- /dev/null +++ b/code/whatDomain.py @@ -0,0 +1,87 @@ +#from nslookup import Nslookup +from typing import Optional, Annotated +import dns, dns.resolver + +# https://www.codeunderscored.com/nslookup-python/ + +def ermWhatATheIpFromDomainYaCrazy(inpDomainNameOrSomething: Annotated[str, "Domain name to lookup IP for"]): + #dns_query = Nslookup() + """ + Tells you what IPv4 address/es a domain point to. + Returns: + dict: A dictionary with IP addresses associated with that domain. + + """ + + # i = 0 + outDict = {} + + #result = dns_query.dns_lookup("example.com") + #result = Nslookup.dns_lookup(inpDomainNameOrSomething) + try: + result = dns.resolver.resolve(inpDomainNameOrSomething, 'A') + except dns.resolver.NoAnswer: + return -1 + for i, something in enumerate(result): + outDict[i] = something.to_text() + # i += 1 + + return outDict + +def ermWhatAAAATheIpFromDomainYaCrazy(inpDomainNameOrSomething: Annotated[str, "Domain name to lookup IP for"]): + #dns_query = Nslookup() + """ + Tells you what IPv6 address/es a domain point to. + Returns: + dict: A dictionary with IP addresses associated with that domain. + + """ + + + # i = 0 + outDict = {} + + #result = dns_query.dns_lookup("example.com") + #result = Nslookup.dns_lookup(inpDomainNameOrSomething) + try: + result = dns.resolver.resolve(inpDomainNameOrSomething, 'AAAA') + except dns.resolver.NoAnswer: + return -1 + for i, something in enumerate(result): + outDict[i] = something.to_text() + # i += 1 + + return outDict + + +def ermWhatPTRTheIpFromDomainYaCrazy(inpIpAddressOrSomething: Annotated[str, "IP address to lookup domain for"]): + #dns_query = Nslookup() + """ + Tells you what IPv6 address/es a domain point to. + Returns: + dict: A dictionary with IP addresses associated with that domain. + + """ + + whatToCheck = inpIpAddressOrSomething + ".in-addr.arpa" + + + # i = 0 + outDict = {} + + #result = dns_query.dns_lookup("example.com") + #result = Nslookup.dns_lookup(inpDomainNameOrSomething) + try: + result = dns.resolver.resolve(whatToCheck, 'PTR') + except dns.resolver.NoAnswer: + return -1 + for i, something in enumerate(result): + outDict[i] = something.to_text() + # i += 1 + + return outDict + + +#print(ermWhatATheIpFromDomainYaCrazy("fubukus.net")) +#print(ermWhatAAAATheIpFromDomainYaCrazy("fubukus.net")) +#print(ermWhatPTRTheIpFromDomainYaCrazy("192.168.1.226"))