2020-08-29 01:16:06 -07:00
|
|
|
# known IPs of any DNS located in China:
|
|
|
|
china = {
|
|
|
|
"1.1.8.8",
|
|
|
|
"1.1.8.9",
|
|
|
|
"1.2.4.8",
|
|
|
|
"1.8.1.8",
|
|
|
|
"1.8.8.8",
|
2020-08-31 23:20:48 -07:00
|
|
|
"58.213.28.126",
|
|
|
|
"58.221.250.86",
|
|
|
|
"58.222.226.146",
|
2020-08-29 01:16:06 -07:00
|
|
|
"114.254.201.131",
|
2020-08-31 23:20:48 -07:00
|
|
|
# "204.13.152.3", # not china but seems to be poisoned
|
|
|
|
"218.94.128.126",
|
|
|
|
"218.94.193.170",
|
2020-08-29 01:16:06 -07:00
|
|
|
"218.107.55.108",
|
2020-08-31 23:20:48 -07:00
|
|
|
"221.231.0.210",
|
2020-08-29 01:16:06 -07:00
|
|
|
"222.216.2.236",
|
|
|
|
}
|
|
|
|
|
|
|
|
# known IPs (not servers) that are used to deny access to websites:
|
|
|
|
blocks = {
|
|
|
|
"1.2.3.4", # timeout
|
2020-08-31 06:06:41 -07:00
|
|
|
"5.129.186.222",
|
|
|
|
"31.204.161.41",
|
|
|
|
"34.218.72.125",
|
|
|
|
"36.86.63.185",
|
|
|
|
"49.128.177.13",
|
|
|
|
"52.15.96.207",
|
2020-08-31 04:59:28 -07:00
|
|
|
"54.242.237.204",
|
2020-08-31 06:06:41 -07:00
|
|
|
"62.77.154.37",
|
|
|
|
"62.85.160.222",
|
|
|
|
"62.113.48.25",
|
|
|
|
"85.214.151.164",
|
|
|
|
"91.195.127.75",
|
2020-08-31 04:59:28 -07:00
|
|
|
"93.158.134.250",
|
2020-08-31 06:06:41 -07:00
|
|
|
"95.77.94.80",
|
2020-08-31 04:59:28 -07:00
|
|
|
"114.6.128.8",
|
|
|
|
"118.97.116.27",
|
|
|
|
"119.235.29.59",
|
|
|
|
"124.40.255.99",
|
2020-08-31 06:06:41 -07:00
|
|
|
"146.112.61.104",
|
|
|
|
"146.112.61.105",
|
2020-08-31 04:59:28 -07:00
|
|
|
"146.112.61.106",
|
2020-08-31 06:06:41 -07:00
|
|
|
"146.112.61.107",
|
|
|
|
"146.112.61.108",
|
|
|
|
"146.112.61.109",
|
|
|
|
"146.112.61.110",
|
|
|
|
"146.112.61.111",
|
|
|
|
"146.112.61.112",
|
|
|
|
"146.112.61.113",
|
2020-08-31 04:59:28 -07:00
|
|
|
"163.28.10.160",
|
2020-08-31 06:06:41 -07:00
|
|
|
"165.21.74.4",
|
2020-08-31 04:59:28 -07:00
|
|
|
"175.139.142.25",
|
2020-08-31 06:06:41 -07:00
|
|
|
"176.103.130.130",
|
|
|
|
"176.103.130.131",
|
|
|
|
"176.103.130.132",
|
|
|
|
"176.103.130.133",
|
|
|
|
"176.103.130.134",
|
2020-08-31 04:59:28 -07:00
|
|
|
"176.103.130.135",
|
|
|
|
"182.93.64.126",
|
2020-08-31 06:06:41 -07:00
|
|
|
"188.186.157.49",
|
2020-08-31 04:59:28 -07:00
|
|
|
"192.99.140.48",
|
2020-08-31 06:06:41 -07:00
|
|
|
"193.58.251.1",
|
|
|
|
"195.46.39.1",
|
2020-08-31 04:59:28 -07:00
|
|
|
"195.175.254.2",
|
2020-08-31 06:06:41 -07:00
|
|
|
"195.186.208.169",
|
|
|
|
"195.208.152.206",
|
|
|
|
"195.234.22.137",
|
2020-08-31 04:59:28 -07:00
|
|
|
"202.40.187.91",
|
|
|
|
"202.162.209.133",
|
|
|
|
"202.165.36.253",
|
2020-08-31 06:06:41 -07:00
|
|
|
"202.169.44.80",
|
2020-08-31 04:59:28 -07:00
|
|
|
"203.119.13.75",
|
|
|
|
"203.119.13.76",
|
2020-08-31 06:06:41 -07:00
|
|
|
"203.119.13.77",
|
|
|
|
"203.119.13.78",
|
2020-08-31 04:59:28 -07:00
|
|
|
"203.190.55.217",
|
2020-08-31 06:06:41 -07:00
|
|
|
"203.195.99.1",
|
|
|
|
"213.177.28.90",
|
|
|
|
"213.224.83.39",
|
|
|
|
"217.175.53.72",
|
2020-08-29 01:16:06 -07:00
|
|
|
}
|
|
|
|
|
2020-08-31 06:06:41 -07:00
|
|
|
for i in range(1, 255):
|
|
|
|
blocks.add(f"156.154.112.{i}")
|
|
|
|
blocks.add(f"156.154.113.{i}")
|
|
|
|
blocks.add(f"156.154.175.{i}")
|
|
|
|
blocks.add(f"156.154.176.{i}")
|
|
|
|
|
2020-08-31 23:20:48 -07:00
|
|
|
gfw_ips = {
|
|
|
|
"4.36.66.178",
|
|
|
|
"8.7.198.45",
|
|
|
|
"8.7.198.46",
|
|
|
|
"46.82.174.68",
|
|
|
|
"46.82.174.69",
|
|
|
|
"49.2.123.56",
|
|
|
|
"54.76.135.1",
|
|
|
|
"59.24.3.173",
|
|
|
|
"59.24.3.174",
|
|
|
|
"64.13.192.74",
|
|
|
|
"67.15.100.252",
|
|
|
|
"67.15.129.210",
|
|
|
|
"67.228.102.32",
|
|
|
|
"67.228.235.91",
|
|
|
|
"67.228.235.93",
|
|
|
|
"77.4.7.92",
|
|
|
|
"78.16.49.15",
|
|
|
|
"88.191.249.182",
|
|
|
|
"88.191.249.183",
|
|
|
|
"88.191.253.157",
|
|
|
|
"93.46.8.89",
|
|
|
|
"93.46.8.90",
|
|
|
|
"173.252.73.48",
|
|
|
|
"173.252.100.21",
|
|
|
|
"173.252.100.32",
|
|
|
|
"173.252.102.16",
|
|
|
|
"173.252.102.241",
|
|
|
|
"173.252.103.64",
|
|
|
|
"173.252.110.21",
|
|
|
|
"174.36.196.242",
|
|
|
|
"174.36.228.136",
|
|
|
|
"174.37.54.20",
|
|
|
|
"174.37.154.236",
|
|
|
|
"174.37.175.229",
|
|
|
|
"199.16.158.190"
|
|
|
|
"199.59.148.97",
|
|
|
|
"199.59.148.209",
|
|
|
|
"199.59.149.136",
|
|
|
|
"199.59.149.244",
|
|
|
|
"199.59.150.49",
|
|
|
|
"203.98.7.65",
|
|
|
|
"203.161.230.171",
|
|
|
|
"205.186.152.122",
|
|
|
|
"208.43.170.231",
|
|
|
|
"208.43.237.140",
|
|
|
|
"208.101.21.43",
|
|
|
|
"208.101.60.87",
|
|
|
|
"243.185.187.39",
|
|
|
|
"249.129.46.48",
|
|
|
|
"253.157.14.165",
|
|
|
|
}
|
|
|
|
|
2020-08-29 01:16:06 -07:00
|
|
|
bogon_checks = [
|
|
|
|
"0.",
|
|
|
|
"10.",
|
|
|
|
"127.",
|
|
|
|
"169.254.",
|
|
|
|
"192.0.0.",
|
|
|
|
"192.0.2.",
|
|
|
|
"192.168.",
|
|
|
|
"198.18.",
|
|
|
|
"198.19.",
|
|
|
|
"198.51.100.",
|
|
|
|
"203.0.113.",
|
|
|
|
] + [
|
|
|
|
"100.{}.".format(i) for i in range(64, 128)
|
|
|
|
] + [
|
|
|
|
"172.{}.".format(i) for i in range(16, 32)
|
|
|
|
] + [
|
|
|
|
"{}.".format(i) for i in range(224, 256)
|
|
|
|
]
|
|
|
|
|
2020-08-29 06:34:46 -07:00
|
|
|
|
2020-08-29 01:16:06 -07:00
|
|
|
def is_bogon(ip):
|
|
|
|
return any(ip.startswith(check) for check in bogon_checks)
|