├── .gitignore ├── .jenkins.sh ├── .travis.yml ├── CHANGES ├── COPYING ├── Makefile.am ├── README.md ├── autogen.sh ├── chnroute.txt ├── config.h.in ├── configure.ac ├── iplist.txt ├── openwrt ├── Makefile └── files │ └── chinadns.init ├── packaging ├── build_all.sh └── release.sh ├── src ├── Makefile.am ├── chinadns.c ├── local_ns_parser.c └── local_ns_parser.h └── tests ├── facebook.com ├── google.com ├── iplist.py ├── taobao.com ├── test.py ├── twitter.com ├── www.facebook.com └── x_8888 /.gitignore: -------------------------------------------------------------------------------- 1 | *.cmake 2 | *.dSYM 3 | *.exp 4 | *.la 5 | *.lo 6 | *.log 7 | *.o 8 | *.plist 9 | *.scan 10 | *.sdf 11 | *.status 12 | *.tar.* 13 | *.gcov 14 | *.gcda 15 | *.gcno 16 | *.html 17 | *~ 18 | .DS_Store 19 | .deps 20 | .dirstamp 21 | .done 22 | .libs 23 | Build 24 | Makefile 25 | Makefile.in 26 | aclocal.m4 27 | autom4te.cache 28 | build 29 | compile 30 | confdefs.h 31 | config.h 32 | configure 33 | depcomp 34 | android-toolchain 35 | install-sh 36 | libtool 37 | ltmain.sh 38 | m4/argz.m4 39 | m4/libtool.m4 40 | m4/ltoptions.m4 41 | m4/ltsugar.m4 42 | m4/ltversion.m4 43 | m4/lt~obsolete.m4 44 | src/chinadns 45 | missing 46 | stamp-h1 47 | -------------------------------------------------------------------------------- /.jenkins.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | result=0 4 | 5 | function run_test { 6 | printf '\e[0;36m' 7 | echo "running test: $command $@" 8 | printf '\e[0m' 9 | 10 | $command "$@" 11 | status=$? 12 | if [ $status -ne 0 ]; then 13 | printf '\e[0;31m' 14 | echo "test failed: $command $@" 15 | printf '\e[0m' 16 | echo 17 | result=1 18 | else 19 | printf '\e[0;32m' 20 | echo OK 21 | printf '\e[0m' 22 | echo 23 | fi 24 | return 0 25 | } 26 | 27 | rm src/*.gc* 28 | run_test ./autogen.sh 29 | run_test ./configure --enable-debug 30 | make clean 31 | run_test make 32 | 33 | run_test src/chinadns -h 34 | run_test src/chinadns -V 35 | 36 | run_test tests/test.py -a '-c chnroute.txt -l iplist.txt' -t tests/google.com 37 | run_test tests/test.py -a '-c chnroute.txt -l iplist.txt' -t tests/facebook.com 38 | run_test tests/test.py -a '-c chnroute.txt -s 114.114.114.114,8.8.8.8 -l iplist.txt' -t tests/google.com 39 | run_test tests/test.py -a '-c chnroute.txt -y 0.5 -l iplist.txt' -t tests/google.com 40 | run_test tests/test.py -a '-c chnroute.txt -b 0.0.0.0 -l iplist.txt' -t tests/google.com 41 | 42 | run_test tests/test.py -a '-c chnroute.txt -l iplist.txt' -t tests/twitter.com 43 | run_test tests/test.py -a '-d -c chnroute.txt -l iplist.txt' -t tests/twitter.com 44 | run_test tests/test.py -a '-c chnroute.txt' -t tests/twitter.com 45 | run_test tests/test.py -a '-m -c chnroute.txt' -t tests/twitter.com 46 | 47 | run_test tests/test.py -a '-c chnroute.txt -l iplist.txt' -t tests/taobao.com 48 | run_test tests/test.py -a '-d -c chnroute.txt -l iplist.txt' -t tests/taobao.com 49 | run_test tests/test.py -a '-c chnroute.txt' -t tests/taobao.com 50 | run_test tests/test.py -a '-m -c chnroute.txt' -t tests/taobao.com 51 | 52 | run_test tests/test.py -a '-c chnroute.txt -l iplist.txt' -t tests/x_8888 53 | run_test tests/test.py -a '-d -c chnroute.txt -l iplist.txt' -t tests/x_8888 54 | run_test tests/test.py -a '-c chnroute.txt' -t tests/x_8888 55 | run_test tests/test.py -a '-m -c chnroute.txt' -t tests/x_8888 56 | 57 | gcov src/*.c 58 | rm src/*.html 59 | cd src && gcovr -r . --html --html-details -o index.html 60 | gcovr -r . | grep TOTAL | rev | cut -d' ' -f 1 | rev > /tmp/chinadns-coverage 61 | 62 | exit $result 63 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | 3 | os: 4 | - linux 5 | - osx 6 | 7 | compiler: 8 | - clang 9 | - gcc 10 | 11 | before_script: 12 | - sudo apt-get update -qq 13 | - sudo apt-get install dnsutils 14 | - sudo pip install gcovr 15 | - ./autogen.sh 16 | - ./configure 17 | 18 | script: 19 | - ./.jenkins.sh 20 | -------------------------------------------------------------------------------- /CHANGES: -------------------------------------------------------------------------------- 1 | 1.3.2 2015-08-05 2 | - Fix compatibility issues 3 | 4 | 1.3.1 2015-03-14 5 | - Update strategy 6 | 7 | 1.3.0 2015-01-25 8 | - Support DNS compression pointer mutation 9 | 10 | 1.2.1 2015-01-01 11 | - Fix high CPU usage 12 | 13 | 1.2.0 2015-01-01 14 | - Happy new year and add a new filter strategy 15 | 16 | 1.1.9 2014-12-26 17 | - One Chinese DNS and one foreign DNS requirement is only a warning now 18 | - Update iplist 19 | 20 | 1.1.8 2014-11-19 21 | - Add -d option: also filter results inside China from foreign DNS servers 22 | 23 | 1.1.7 2014-09-16 24 | - Add 443 port of OpenDNS as default DNS 25 | 26 | 1.1.6 2014-09-16 27 | - Use fgets() for better portability 28 | - Fix logs format 29 | 30 | 1.1.5 2014-09-08 31 | - Support single IP address 32 | - Update IP list and CHNRoute 33 | 34 | 1.1.4 2014-08-27 35 | - Fix logs with stderr 36 | - Fix remote socket not in nonblocking mode 37 | - Fix restart function in OpenWRT init script 38 | 39 | 1.1.3 2014-08-11 40 | - Make CHNRoute an option 41 | - Output logs to stderr 42 | 43 | 1.1.2 2014-08-11 44 | - Fix mask > 0xFFFF with chnroute 45 | 46 | 1.1.1 2014-08-08 47 | - Use CIDR format in chnroute.txt 48 | 49 | 1.1.0 2014-08-07 50 | - Support chnroute 51 | 52 | 1.0.4 2014-08-05 53 | - Fix IP filter random failures 54 | 55 | 1.0.3 2014-07-29 56 | - Fix segment fault when queue is full 57 | 58 | 1.0.2 2014-07-29 59 | - Support -s hostname:port 60 | 61 | 1.0.1 2014-07-28 62 | - Use autotools 63 | 64 | 1.0.0 2014-07-25 65 | - Initial version 66 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = src 2 | dist_data_DATA = iplist.txt chnroute.txt 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ChinaDNS 2 | ======== 3 | 4 | [![Build Status]][Travis CI] 5 | [![Coverage Status]][Coverage] 6 | 7 | Traditional way to bypass DNS poisoning is to send all queries to 8 | a foreign DNS server via VPN. However some Chinese websites will get 9 | bad results if they have CDNs outside the country. 10 | 11 | The second way is to maintain a list of domains of which you want to 12 | resolve from local DNS or foreign DNS. This list changes too often, 13 | taking too much effort to maintain. 14 | 15 | ChinaDNS automatically queries local DNS servers to resolve Chinese domains 16 | and queries foreign DNS servers to resolve foreign domains. It is smart 17 | enough to work only with a Chinese IP range file, which doesn't change often. 18 | 19 | In order to bypass IP blocking, you SHOULD use VPN software like [ShadowVPN]. 20 | 21 | Install 22 | ------- 23 | 24 | * Linux / Unix 25 | 26 | [Download a release]. 27 | 28 | ./configure && make 29 | src/chinadns -m -c chnroute.txt 30 | 31 | * OpenWRT 32 | 33 | * [Download precompiled] for OpenWRT trunk and CPU: ar71xx, brcm63xx, 34 | brcm47xx, ramips_24kec. Open an issue if you think your CPU is a popular 35 | one but not listed here. 36 | * If you use other CPU or other OpenWRT versions, build yourself: 37 | cd into [SDK] root, then 38 | 39 | pushd package 40 | git clone https://github.com/clowwindy/ChinaDNS.git 41 | popd 42 | make menuconfig # select Network/ChinaDNS 43 | make -j 44 | make V=99 package/ChinaDNS/openwrt/compile 45 | 46 | * Tomoto 47 | 48 | * Download [Tomato toolchain], build by yourself. 49 | * Uncompress the downloaded file to `~/`. 50 | * Copy the `brcm` directory under 51 | `~/WRT54GL-US_v4.30.11_11/tools/` to `/opt`, then 52 | 53 | export PATH=/opt/brcm/hndtools-mipsel-uclibc/bin/:/opt/brcm/hndtools-mipsel-linux/bin/:$PATH 54 | git clone https://github.com/clowwindy/ChinaDNS.git 55 | cd ChinaDNS 56 | ./autogen.sh && ./configure --host=mipsel-linux --enable-static && make 57 | 58 | * Windows 59 | 60 | [Download] Python exe version. 61 | 62 | Usage 63 | ----- 64 | 65 | * Linux / Unix 66 | Recommand using with option "-m" ([DNS pointer mutation method]) 67 | Run `sudo chinadns -m -c chnroute.txt` on your local machine. ChinaDNS creates a 68 | UDP DNS Server at `0.0.0.0:53`. 69 | 70 | * OpenWRT 71 | 72 | opkg install ChinaDNS_1.x.x_ar71xx.ipk 73 | /etc/init.d/chinadns start 74 | /etc/init.d/chinadns enable 75 | 76 | Invoke the "enable" command to run the initscript on boot 77 | 78 | (Optional) We strongly recommend you to set ChinaDNS as a upstream DNS 79 | server for dnsmasq instead of using ChinaDNS directly: 80 | 81 | 1. Run `/etc/init.d/chinadns stop` 82 | 2. Remove the 2 lines containing `iptables` in `/etc/init.d/chinadns`. 83 | 3. Update `/etc/dnsmasq.conf` to use only 127.0.0.1#5353: 84 | 85 | no-resolv 86 | server=127.0.0.1#5353 87 | 88 | 4. Restart chinadns and dnsmasq 89 | 90 | Test if it works correctly: 91 | 92 | $ dig @192.168.1.1 www.youtube.com -p5353 93 | ; <<>> DiG 9.8.3-P1 <<>> @127.0.0.1 www.google.com -p5353 94 | ; (1 server found) 95 | ;; global options: +cmd 96 | ;; Got answer: 97 | ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29845 98 | ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 99 | 100 | ;; QUESTION SECTION: 101 | ;www.youtube.com. IN A 102 | 103 | ;; ANSWER SECTION: 104 | www.youtube.com. 21569 IN CNAME youtube-ui.l.google.com. 105 | youtube-ui.l.google.com. 269 IN A 216.58.220.174 106 | 107 | ;; Query time: 74 msec 108 | ;; SERVER: 127.0.0.1#5353(127.0.0.1) 109 | ;; WHEN: Fri Jan 30 18:37:57 2015 110 | ;; MSG SIZE rcvd: 83 111 | 112 | Currently ChinaDNS only supports UDP. Builtin OpenWRT init script works with 113 | dnsmasq, which handles TCP. If you use it directly without dnsmasq, you need to 114 | add a redirect rule for TCP: 115 | 116 | iptables -t nat -A PREROUTING -p tcp --dport 53 -j DNAT --to-destination 8.8.8.8:53 117 | 118 | Advanced 119 | -------- 120 | 121 | usage: chinadns [-h] [-l IPLIST_FILE] [-b BIND_ADDR] [-p BIND_PORT] 122 | [-c CHNROUTE_FILE] [-s DNS] [-v] 123 | Forward DNS requests. 124 | 125 | -h, --help show this help message and exit 126 | -l IPLIST_FILE path to ip blacklist file 127 | -c CHNROUTE_FILE path to china route file 128 | if not specified, CHNRoute will be turned off 129 | -d enable bi-directional CHNRoute filter 130 | -y delay time for suspects, default: 0.3 131 | -b BIND_ADDR address that listens, default: 127.0.0.1 132 | -p BIND_PORT port that listens, default: 53 133 | -s DNS DNS servers to use, default: 134 | 114.114.114.114,208.67.222.222:443,8.8.8.8 135 | -m Using DNS compression pointer mutation 136 | (backlist and delaying would be disabled) 137 | -v verbose logging 138 | 139 | About chnroute 140 | -------------- 141 | 142 | You can generate latest chnroute.txt using this command: 143 | 144 | curl 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | grep ipv4 | grep CN | awk -F\| '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > chnroute.txt 145 | 146 | 147 | License 148 | ------- 149 | 150 | Copyright (C) 2015 clowwindy 151 | 152 | This program is free software: you can redistribute it and/or modify 153 | it under the terms of the GNU General Public License as published by 154 | the Free Software Foundation, either version 3 of the License, or 155 | (at your option) any later version. 156 | 157 | This program is distributed in the hope that it will be useful, 158 | but WITHOUT ANY WARRANTY; without even the implied warranty of 159 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 160 | GNU General Public License for more details. 161 | 162 | You should have received a copy of the GNU General Public License 163 | along with this program. If not, see . 164 | 165 | Bugs and Issues 166 | ---------------- 167 | Please visit [Issue Tracker] 168 | 169 | Mailing list: http://groups.google.com/group/shadowsocks 170 | 171 | 172 | [Build Status]: https://travis-ci.org/clowwindy/ChinaDNS.svg?branch=master 173 | [ChinaDNS]: https://github.com/clowwindy/ChinaDNS 174 | [Coverage Status]: https://jenkins.shadowvpn.org/result/chinadns 175 | [Coverage]: https://jenkins.shadowvpn.org/job/ChinaDNS/ws/src/index.html 176 | [Download]: https://github.com/clowwindy/ChinaDNS/releases 177 | [Issue Tracker]: https://github.com/clowwindy/ChinaDNS/issues?state=open 178 | [Download precompiled]: https://github.com/clowwindy/ChinaDNS/releases 179 | [Download a release]: https://github.com/clowwindy/ChinaDNS/releases 180 | [SDK]: http://wiki.openwrt.org/doc/howto/obtain.firmware.sdk 181 | [ShadowVPN]: https://github.com/clowwindy/ShadowVPN 182 | [Tomato toolchain]: http://downloads.linksysbycisco.com/downloads/WRT54GL_v4.30.11_11_US.tgz 183 | [Travis CI]: https://travis-ci.org/clowwindy/ChinaDNS 184 | [DNS pointer mutation method]: https://gist.github.com/klzgrad/f124065c0616022b65e5 185 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | aclocal && \ 4 | automake --add-missing --force-missing --include-deps && \ 5 | autoconf 6 | -------------------------------------------------------------------------------- /chnroute.txt: -------------------------------------------------------------------------------- 1 | 1.0.1.0/24 2 | 1.0.2.0/23 3 | 1.0.8.0/21 4 | 1.0.32.0/19 5 | 1.1.0.0/24 6 | 1.1.2.0/23 7 | 1.1.4.0/22 8 | 1.1.8.0/21 9 | 1.1.16.0/20 10 | 1.1.32.0/19 11 | 1.2.0.0/23 12 | 1.2.2.0/24 13 | 1.2.4.0/24 14 | 1.2.5.0/24 15 | 1.2.6.0/23 16 | 1.2.8.0/24 17 | 1.2.9.0/24 18 | 1.2.10.0/23 19 | 1.2.12.0/22 20 | 1.2.16.0/20 21 | 1.2.32.0/19 22 | 1.2.64.0/18 23 | 1.3.0.0/16 24 | 1.4.1.0/24 25 | 1.4.2.0/23 26 | 1.4.4.0/24 27 | 1.4.5.0/24 28 | 1.4.6.0/23 29 | 1.4.8.0/21 30 | 1.4.16.0/20 31 | 1.4.32.0/19 32 | 1.4.64.0/18 33 | 1.8.0.0/16 34 | 1.10.0.0/21 35 | 1.10.8.0/23 36 | 1.10.11.0/24 37 | 1.10.12.0/22 38 | 1.10.16.0/20 39 | 1.10.32.0/19 40 | 1.10.64.0/18 41 | 1.12.0.0/14 42 | 1.24.0.0/13 43 | 1.45.0.0/16 44 | 1.48.0.0/15 45 | 1.50.0.0/16 46 | 1.51.0.0/16 47 | 1.56.0.0/13 48 | 1.68.0.0/14 49 | 1.80.0.0/13 50 | 1.88.0.0/14 51 | 1.92.0.0/15 52 | 1.94.0.0/15 53 | 1.116.0.0/14 54 | 1.180.0.0/14 55 | 1.184.0.0/15 56 | 1.188.0.0/14 57 | 1.192.0.0/13 58 | 1.202.0.0/15 59 | 1.204.0.0/14 60 | 14.0.0.0/21 61 | 14.0.12.0/22 62 | 14.1.0.0/22 63 | 14.16.0.0/12 64 | 14.102.128.0/22 65 | 14.102.156.0/22 66 | 14.103.0.0/16 67 | 14.104.0.0/13 68 | 14.112.0.0/12 69 | 14.130.0.0/15 70 | 14.134.0.0/15 71 | 14.144.0.0/12 72 | 14.192.60.0/22 73 | 14.192.76.0/22 74 | 14.196.0.0/15 75 | 14.204.0.0/15 76 | 14.208.0.0/12 77 | 27.8.0.0/13 78 | 27.16.0.0/12 79 | 27.34.232.0/21 80 | 27.36.0.0/14 81 | 27.40.0.0/13 82 | 27.50.40.0/21 83 | 27.50.128.0/17 84 | 27.54.72.0/21 85 | 27.54.152.0/21 86 | 27.54.192.0/18 87 | 27.98.208.0/20 88 | 27.98.224.0/19 89 | 27.99.128.0/17 90 | 27.103.0.0/16 91 | 27.106.128.0/18 92 | 27.106.204.0/22 93 | 27.109.32.0/19 94 | 27.112.0.0/18 95 | 27.112.80.0/20 96 | 27.113.128.0/18 97 | 27.115.0.0/17 98 | 27.116.44.0/22 99 | 27.121.72.0/21 100 | 27.121.120.0/21 101 | 27.128.0.0/15 102 | 27.131.220.0/22 103 | 27.144.0.0/16 104 | 27.148.0.0/14 105 | 27.152.0.0/13 106 | 27.184.0.0/13 107 | 27.192.0.0/11 108 | 27.224.0.0/14 109 | 36.0.0.0/22 110 | 36.0.8.0/21 111 | 36.0.16.0/20 112 | 36.0.32.0/19 113 | 36.0.64.0/18 114 | 36.0.128.0/17 115 | 36.1.0.0/16 116 | 36.4.0.0/14 117 | 36.16.0.0/12 118 | 36.32.0.0/14 119 | 36.36.0.0/16 120 | 36.37.0.0/19 121 | 36.37.36.0/23 122 | 36.37.39.0/24 123 | 36.37.40.0/21 124 | 36.37.48.0/20 125 | 36.40.0.0/13 126 | 36.48.0.0/15 127 | 36.51.0.0/16 128 | 36.56.0.0/13 129 | 36.96.0.0/11 130 | 36.128.0.0/10 131 | 36.192.0.0/11 132 | 36.248.0.0/14 133 | 36.254.0.0/16 134 | 39.0.0.0/24 135 | 39.0.2.0/23 136 | 39.0.4.0/22 137 | 39.0.8.0/21 138 | 39.0.16.0/20 139 | 39.0.32.0/19 140 | 39.0.64.0/18 141 | 39.0.128.0/17 142 | 39.64.0.0/11 143 | 39.128.0.0/10 144 | 42.0.0.0/22 145 | 42.0.8.0/21 146 | 42.0.16.0/21 147 | 42.0.24.0/22 148 | 42.0.32.0/19 149 | 42.0.128.0/17 150 | 42.1.0.0/19 151 | 42.1.32.0/20 152 | 42.1.48.0/21 153 | 42.1.56.0/22 154 | 42.1.128.0/17 155 | 42.4.0.0/14 156 | 42.48.0.0/15 157 | 42.50.0.0/16 158 | 42.51.0.0/16 159 | 42.52.0.0/14 160 | 42.56.0.0/14 161 | 42.62.0.0/17 162 | 42.62.128.0/19 163 | 42.62.160.0/20 164 | 42.62.180.0/22 165 | 42.62.184.0/21 166 | 42.63.0.0/16 167 | 42.80.0.0/15 168 | 42.83.64.0/20 169 | 42.83.80.0/22 170 | 42.83.88.0/21 171 | 42.83.96.0/19 172 | 42.83.128.0/17 173 | 42.84.0.0/14 174 | 42.88.0.0/13 175 | 42.96.64.0/19 176 | 42.96.96.0/21 177 | 42.96.108.0/22 178 | 42.96.112.0/20 179 | 42.96.128.0/17 180 | 42.97.0.0/16 181 | 42.99.0.0/18 182 | 42.99.64.0/19 183 | 42.99.96.0/20 184 | 42.99.112.0/22 185 | 42.99.120.0/21 186 | 42.100.0.0/14 187 | 42.120.0.0/15 188 | 42.122.0.0/16 189 | 42.123.0.0/19 190 | 42.123.36.0/22 191 | 42.123.40.0/21 192 | 42.123.48.0/20 193 | 42.123.64.0/18 194 | 42.123.128.0/17 195 | 42.128.0.0/12 196 | 42.156.0.0/19 197 | 42.156.36.0/22 198 | 42.156.40.0/21 199 | 42.156.48.0/20 200 | 42.156.64.0/18 201 | 42.156.128.0/17 202 | 42.157.0.0/16 203 | 42.158.0.0/15 204 | 42.160.0.0/12 205 | 42.176.0.0/13 206 | 42.184.0.0/15 207 | 42.186.0.0/16 208 | 42.187.0.0/18 209 | 42.187.64.0/19 210 | 42.187.96.0/20 211 | 42.187.112.0/21 212 | 42.187.120.0/22 213 | 42.187.128.0/17 214 | 42.192.0.0/15 215 | 42.194.0.0/21 216 | 42.194.8.0/22 217 | 42.194.12.0/22 218 | 42.194.16.0/20 219 | 42.194.32.0/19 220 | 42.194.64.0/18 221 | 42.194.128.0/17 222 | 42.195.0.0/16 223 | 42.196.0.0/14 224 | 42.201.0.0/17 225 | 42.202.0.0/15 226 | 42.204.0.0/14 227 | 42.208.0.0/12 228 | 42.224.0.0/12 229 | 42.240.0.0/17 230 | 42.240.128.0/17 231 | 42.242.0.0/15 232 | 42.244.0.0/14 233 | 42.248.0.0/13 234 | 43.236.0.0/22 235 | 43.236.4.0/22 236 | 43.236.8.0/22 237 | 43.236.12.0/22 238 | 43.236.16.0/22 239 | 43.236.20.0/22 240 | 43.236.24.0/22 241 | 43.236.28.0/22 242 | 43.236.32.0/22 243 | 43.236.36.0/22 244 | 43.236.40.0/22 245 | 43.236.44.0/22 246 | 43.236.48.0/22 247 | 43.236.52.0/22 248 | 43.236.56.0/22 249 | 43.236.60.0/22 250 | 43.236.64.0/22 251 | 43.236.68.0/22 252 | 43.236.72.0/22 253 | 43.236.76.0/22 254 | 43.236.80.0/22 255 | 43.236.84.0/22 256 | 43.236.88.0/22 257 | 43.236.92.0/22 258 | 43.236.96.0/22 259 | 43.236.100.0/22 260 | 43.236.104.0/22 261 | 43.236.108.0/22 262 | 43.236.112.0/22 263 | 43.236.116.0/22 264 | 43.236.120.0/22 265 | 43.236.124.0/22 266 | 43.236.128.0/22 267 | 43.236.132.0/22 268 | 43.236.136.0/22 269 | 43.236.140.0/22 270 | 43.236.144.0/22 271 | 43.236.148.0/22 272 | 43.236.152.0/22 273 | 43.236.156.0/22 274 | 43.236.160.0/22 275 | 43.236.164.0/22 276 | 43.236.168.0/22 277 | 43.236.172.0/22 278 | 43.236.176.0/22 279 | 43.236.180.0/22 280 | 43.236.184.0/22 281 | 43.236.188.0/22 282 | 43.236.192.0/22 283 | 43.236.196.0/22 284 | 43.236.200.0/22 285 | 43.236.204.0/22 286 | 43.236.208.0/22 287 | 43.236.212.0/22 288 | 43.236.216.0/22 289 | 43.236.220.0/22 290 | 43.236.224.0/22 291 | 43.236.228.0/22 292 | 43.236.232.0/22 293 | 43.236.236.0/22 294 | 43.236.240.0/22 295 | 43.236.244.0/22 296 | 43.236.248.0/22 297 | 43.236.252.0/22 298 | 43.237.0.0/22 299 | 43.237.4.0/22 300 | 43.237.8.0/22 301 | 43.237.12.0/22 302 | 43.237.16.0/22 303 | 43.237.20.0/22 304 | 43.237.24.0/22 305 | 43.237.28.0/22 306 | 43.237.32.0/22 307 | 43.237.36.0/22 308 | 43.237.40.0/22 309 | 43.237.44.0/22 310 | 43.237.48.0/22 311 | 43.237.52.0/22 312 | 43.237.56.0/22 313 | 43.237.60.0/22 314 | 43.237.64.0/22 315 | 43.237.68.0/22 316 | 43.237.72.0/22 317 | 43.237.76.0/22 318 | 43.237.80.0/22 319 | 43.237.84.0/22 320 | 43.237.88.0/22 321 | 43.237.92.0/22 322 | 43.237.96.0/22 323 | 43.237.100.0/22 324 | 43.237.104.0/22 325 | 43.237.108.0/22 326 | 43.237.112.0/22 327 | 43.237.116.0/22 328 | 43.237.120.0/22 329 | 43.237.124.0/22 330 | 43.237.128.0/22 331 | 43.237.132.0/22 332 | 43.237.136.0/22 333 | 43.237.140.0/22 334 | 43.237.144.0/22 335 | 43.237.148.0/22 336 | 43.237.152.0/22 337 | 43.237.156.0/22 338 | 43.237.160.0/22 339 | 43.237.164.0/22 340 | 43.237.168.0/22 341 | 43.237.172.0/22 342 | 43.237.176.0/22 343 | 43.237.180.0/22 344 | 43.237.184.0/22 345 | 43.237.188.0/22 346 | 43.237.192.0/22 347 | 43.237.196.0/22 348 | 43.237.200.0/22 349 | 43.237.204.0/22 350 | 43.237.208.0/22 351 | 43.237.212.0/22 352 | 43.237.216.0/22 353 | 43.237.220.0/22 354 | 43.237.224.0/22 355 | 43.237.228.0/22 356 | 43.237.232.0/22 357 | 43.237.236.0/22 358 | 43.237.240.0/22 359 | 43.237.244.0/22 360 | 43.237.248.0/22 361 | 43.237.252.0/22 362 | 43.238.0.0/22 363 | 43.238.4.0/22 364 | 43.238.8.0/22 365 | 43.238.12.0/22 366 | 43.238.16.0/22 367 | 43.238.20.0/22 368 | 43.238.24.0/22 369 | 43.238.28.0/22 370 | 43.238.32.0/22 371 | 43.238.36.0/22 372 | 43.238.40.0/22 373 | 43.238.44.0/22 374 | 43.238.48.0/22 375 | 43.238.52.0/22 376 | 43.238.56.0/22 377 | 43.238.60.0/22 378 | 43.238.64.0/22 379 | 43.238.68.0/22 380 | 43.238.72.0/22 381 | 43.238.76.0/22 382 | 43.238.80.0/22 383 | 43.238.84.0/22 384 | 43.238.88.0/22 385 | 43.238.92.0/22 386 | 43.238.96.0/22 387 | 43.238.100.0/22 388 | 43.238.104.0/22 389 | 43.238.108.0/22 390 | 43.238.112.0/22 391 | 43.238.116.0/22 392 | 43.238.120.0/22 393 | 43.238.124.0/22 394 | 43.238.128.0/22 395 | 43.238.132.0/22 396 | 43.238.136.0/22 397 | 43.238.140.0/22 398 | 43.238.144.0/22 399 | 43.238.148.0/22 400 | 43.238.152.0/22 401 | 43.238.156.0/22 402 | 43.238.160.0/22 403 | 43.238.164.0/22 404 | 43.238.168.0/22 405 | 43.238.172.0/22 406 | 43.238.176.0/22 407 | 43.238.180.0/22 408 | 43.238.184.0/22 409 | 43.238.188.0/22 410 | 43.238.192.0/22 411 | 43.238.196.0/22 412 | 43.238.200.0/22 413 | 43.238.204.0/22 414 | 43.238.208.0/22 415 | 43.238.212.0/22 416 | 43.238.216.0/22 417 | 43.238.220.0/22 418 | 43.238.224.0/22 419 | 43.238.228.0/22 420 | 43.238.232.0/22 421 | 43.238.236.0/22 422 | 43.238.240.0/22 423 | 43.238.244.0/22 424 | 43.238.248.0/22 425 | 43.238.252.0/22 426 | 43.239.0.0/22 427 | 43.239.4.0/22 428 | 43.239.8.0/21 429 | 43.239.16.0/22 430 | 43.239.20.0/22 431 | 43.239.24.0/22 432 | 43.239.28.0/22 433 | 43.239.32.0/22 434 | 43.239.36.0/22 435 | 43.239.40.0/22 436 | 43.239.44.0/22 437 | 43.239.48.0/22 438 | 43.240.0.0/22 439 | 43.240.48.0/22 440 | 43.240.56.0/22 441 | 43.240.60.0/22 442 | 43.240.68.0/22 443 | 43.240.72.0/22 444 | 43.240.76.0/22 445 | 43.240.84.0/22 446 | 43.240.124.0/22 447 | 43.240.128.0/22 448 | 43.240.132.0/22 449 | 43.240.136.0/22 450 | 43.240.156.0/22 451 | 43.240.160.0/22 452 | 43.240.164.0/22 453 | 43.240.168.0/22 454 | 43.240.172.0/22 455 | 43.240.176.0/22 456 | 43.240.180.0/22 457 | 43.240.184.0/22 458 | 43.240.188.0/22 459 | 43.240.192.0/22 460 | 43.240.196.0/22 461 | 43.240.200.0/22 462 | 43.240.204.0/22 463 | 43.240.208.0/22 464 | 43.240.212.0/22 465 | 43.240.216.0/22 466 | 43.240.220.0/22 467 | 43.240.236.0/22 468 | 43.240.240.0/22 469 | 43.240.244.0/22 470 | 43.240.248.0/22 471 | 43.240.252.0/22 472 | 43.241.0.0/22 473 | 43.241.4.0/22 474 | 43.241.8.0/22 475 | 43.241.12.0/22 476 | 43.241.16.0/22 477 | 43.241.20.0/22 478 | 43.241.48.0/22 479 | 43.241.76.0/22 480 | 43.241.80.0/22 481 | 43.241.84.0/22 482 | 43.241.88.0/22 483 | 43.241.92.0/22 484 | 43.241.112.0/22 485 | 43.241.168.0/22 486 | 43.241.172.0/22 487 | 43.241.176.0/22 488 | 43.241.180.0/22 489 | 43.241.184.0/22 490 | 43.241.196.0/22 491 | 43.241.208.0/22 492 | 43.241.212.0/22 493 | 43.241.216.0/22 494 | 43.241.220.0/22 495 | 43.241.224.0/22 496 | 43.241.228.0/22 497 | 43.241.232.0/22 498 | 43.241.236.0/22 499 | 43.241.240.0/22 500 | 43.241.248.0/22 501 | 43.241.252.0/22 502 | 43.242.8.0/22 503 | 43.242.12.0/22 504 | 43.242.16.0/22 505 | 43.242.20.0/22 506 | 43.242.24.0/22 507 | 43.242.28.0/22 508 | 43.242.32.0/22 509 | 43.242.44.0/22 510 | 43.242.48.0/22 511 | 43.242.52.0/22 512 | 43.242.56.0/22 513 | 43.242.60.0/22 514 | 43.242.64.0/22 515 | 43.242.72.0/22 516 | 43.242.76.0/22 517 | 43.242.80.0/22 518 | 43.242.84.0/22 519 | 43.242.88.0/22 520 | 43.242.92.0/22 521 | 43.242.96.0/22 522 | 43.242.144.0/22 523 | 43.242.148.0/22 524 | 43.242.152.0/22 525 | 43.242.156.0/22 526 | 43.242.160.0/22 527 | 43.242.164.0/22 528 | 43.242.168.0/22 529 | 43.242.180.0/22 530 | 43.242.188.0/22 531 | 43.242.192.0/22 532 | 43.242.196.0/22 533 | 43.242.204.0/22 534 | 43.242.216.0/22 535 | 43.242.220.0/22 536 | 43.242.252.0/22 537 | 43.243.4.0/22 538 | 43.243.8.0/22 539 | 43.243.12.0/22 540 | 43.246.0.0/22 541 | 43.246.4.0/22 542 | 43.246.8.0/22 543 | 43.246.12.0/22 544 | 43.246.16.0/22 545 | 43.246.20.0/22 546 | 43.246.24.0/22 547 | 43.246.28.0/22 548 | 43.246.32.0/22 549 | 43.246.36.0/22 550 | 43.246.40.0/22 551 | 43.246.44.0/22 552 | 43.246.48.0/22 553 | 43.246.52.0/22 554 | 43.246.56.0/22 555 | 43.246.60.0/22 556 | 43.246.64.0/22 557 | 43.246.68.0/22 558 | 43.246.72.0/22 559 | 43.246.76.0/22 560 | 43.246.80.0/22 561 | 43.246.84.0/22 562 | 43.246.88.0/22 563 | 43.246.92.0/22 564 | 43.246.96.0/22 565 | 43.247.4.0/22 566 | 43.247.8.0/22 567 | 43.247.44.0/22 568 | 43.247.48.0/22 569 | 43.247.68.0/22 570 | 43.247.76.0/22 571 | 43.247.84.0/22 572 | 43.247.88.0/22 573 | 43.247.92.0/22 574 | 43.247.96.0/22 575 | 43.247.100.0/22 576 | 43.247.108.0/22 577 | 43.247.112.0/22 578 | 43.247.148.0/22 579 | 43.247.152.0/22 580 | 43.247.176.0/22 581 | 43.247.180.0/22 582 | 43.247.184.0/22 583 | 43.247.188.0/22 584 | 43.247.196.0/22 585 | 43.247.200.0/22 586 | 43.247.204.0/22 587 | 43.247.208.0/22 588 | 43.247.212.0/22 589 | 43.247.216.0/22 590 | 43.247.220.0/22 591 | 43.247.224.0/22 592 | 43.247.228.0/22 593 | 43.247.232.0/22 594 | 43.247.236.0/22 595 | 43.247.240.0/22 596 | 43.247.244.0/22 597 | 43.247.248.0/22 598 | 43.247.252.0/22 599 | 43.252.40.0/22 600 | 43.252.48.0/22 601 | 43.252.56.0/22 602 | 43.252.224.0/22 603 | 43.254.0.0/22 604 | 43.254.4.0/22 605 | 43.254.8.0/22 606 | 43.254.24.0/22 607 | 43.254.36.0/22 608 | 43.254.44.0/22 609 | 43.254.52.0/22 610 | 43.254.64.0/22 611 | 43.254.72.0/22 612 | 43.254.84.0/22 613 | 43.254.88.0/22 614 | 43.254.92.0/22 615 | 43.254.100.0/22 616 | 43.254.104.0/22 617 | 43.254.112.0/22 618 | 43.254.116.0/22 619 | 43.254.128.0/22 620 | 43.254.136.0/22 621 | 43.254.140.0/22 622 | 43.254.144.0/22 623 | 43.254.148.0/22 624 | 43.254.152.0/22 625 | 43.254.156.0/22 626 | 43.254.168.0/22 627 | 43.254.172.0/22 628 | 43.254.180.0/22 629 | 43.254.184.0/22 630 | 43.254.188.0/22 631 | 43.254.192.0/22 632 | 43.254.196.0/22 633 | 43.254.200.0/22 634 | 43.254.208.0/22 635 | 43.254.220.0/22 636 | 43.254.224.0/22 637 | 43.254.228.0/22 638 | 43.254.232.0/22 639 | 43.254.236.0/22 640 | 43.254.240.0/22 641 | 43.254.248.0/22 642 | 43.254.252.0/22 643 | 43.255.0.0/22 644 | 43.255.4.0/22 645 | 43.255.8.0/22 646 | 43.255.16.0/22 647 | 43.255.48.0/22 648 | 43.255.60.0/22 649 | 43.255.64.0/22 650 | 43.255.68.0/22 651 | 43.255.72.0/22 652 | 43.255.76.0/22 653 | 43.255.84.0/22 654 | 43.255.96.0/22 655 | 43.255.108.0/22 656 | 43.255.144.0/22 657 | 43.255.168.0/22 658 | 43.255.176.0/22 659 | 43.255.184.0/22 660 | 43.255.192.0/22 661 | 43.255.200.0/22 662 | 43.255.204.0/22 663 | 43.255.208.0/22 664 | 43.255.212.0/22 665 | 43.255.224.0/22 666 | 43.255.228.0/22 667 | 43.255.232.0/22 668 | 43.255.244.0/22 669 | 45.64.112.0/23 670 | 49.4.0.0/14 671 | 49.51.0.0/16 672 | 49.52.0.0/14 673 | 49.64.0.0/11 674 | 49.112.0.0/13 675 | 49.120.0.0/14 676 | 49.128.0.0/24 677 | 49.128.2.0/23 678 | 49.140.0.0/15 679 | 49.152.0.0/14 680 | 49.208.0.0/15 681 | 49.210.0.0/15 682 | 49.220.0.0/14 683 | 49.232.0.0/14 684 | 49.239.0.0/18 685 | 49.239.192.0/18 686 | 49.246.224.0/19 687 | 54.222.0.0/15 688 | 58.14.0.0/15 689 | 58.16.0.0/16 690 | 58.17.0.0/17 691 | 58.17.128.0/17 692 | 58.18.0.0/16 693 | 58.19.0.0/16 694 | 58.20.0.0/16 695 | 58.21.0.0/16 696 | 58.22.0.0/15 697 | 58.24.0.0/15 698 | 58.30.0.0/15 699 | 58.32.0.0/13 700 | 58.40.0.0/15 701 | 58.42.0.0/16 702 | 58.43.0.0/16 703 | 58.44.0.0/14 704 | 58.48.0.0/13 705 | 58.56.0.0/15 706 | 58.58.0.0/16 707 | 58.59.0.0/17 708 | 58.59.128.0/17 709 | 58.60.0.0/14 710 | 58.65.232.0/21 711 | 58.66.0.0/15 712 | 58.68.128.0/17 713 | 58.82.0.0/17 714 | 58.83.0.0/17 715 | 58.83.128.0/17 716 | 58.87.64.0/18 717 | 58.99.128.0/17 718 | 58.100.0.0/15 719 | 58.116.0.0/14 720 | 58.128.0.0/13 721 | 58.144.0.0/16 722 | 58.154.0.0/15 723 | 58.192.0.0/15 724 | 58.194.0.0/15 725 | 58.196.0.0/15 726 | 58.198.0.0/15 727 | 58.200.0.0/13 728 | 58.208.0.0/12 729 | 58.240.0.0/15 730 | 58.242.0.0/15 731 | 58.244.0.0/15 732 | 58.246.0.0/15 733 | 58.248.0.0/13 734 | 59.32.0.0/13 735 | 59.40.0.0/15 736 | 59.42.0.0/16 737 | 59.43.0.0/16 738 | 59.44.0.0/14 739 | 59.48.0.0/16 740 | 59.49.0.0/17 741 | 59.49.128.0/17 742 | 59.50.0.0/16 743 | 59.51.0.0/17 744 | 59.51.128.0/17 745 | 59.52.0.0/14 746 | 59.56.0.0/14 747 | 59.60.0.0/15 748 | 59.62.0.0/15 749 | 59.64.0.0/14 750 | 59.68.0.0/14 751 | 59.72.0.0/15 752 | 59.74.0.0/15 753 | 59.76.0.0/16 754 | 59.77.0.0/16 755 | 59.78.0.0/15 756 | 59.80.0.0/15 757 | 59.82.0.0/15 758 | 59.107.0.0/17 759 | 59.107.128.0/17 760 | 59.108.0.0/15 761 | 59.110.0.0/15 762 | 59.151.0.0/17 763 | 59.155.0.0/16 764 | 59.172.0.0/15 765 | 59.174.0.0/15 766 | 59.191.0.0/17 767 | 59.191.240.0/20 768 | 59.192.0.0/10 769 | 60.0.0.0/13 770 | 60.8.0.0/15 771 | 60.10.0.0/16 772 | 60.11.0.0/16 773 | 60.12.0.0/16 774 | 60.13.0.0/18 775 | 60.13.64.0/18 776 | 60.13.128.0/17 777 | 60.14.0.0/15 778 | 60.16.0.0/13 779 | 60.24.0.0/14 780 | 60.28.0.0/15 781 | 60.30.0.0/16 782 | 60.31.0.0/16 783 | 60.55.0.0/16 784 | 60.63.0.0/16 785 | 60.160.0.0/15 786 | 60.162.0.0/15 787 | 60.164.0.0/15 788 | 60.166.0.0/15 789 | 60.168.0.0/13 790 | 60.176.0.0/12 791 | 60.194.0.0/15 792 | 60.200.0.0/14 793 | 60.204.0.0/16 794 | 60.205.0.0/16 795 | 60.206.0.0/15 796 | 60.208.0.0/13 797 | 60.216.0.0/15 798 | 60.218.0.0/15 799 | 60.220.0.0/14 800 | 60.232.0.0/15 801 | 60.235.0.0/16 802 | 60.245.128.0/17 803 | 60.247.0.0/16 804 | 60.252.0.0/16 805 | 60.253.128.0/17 806 | 60.255.0.0/16 807 | 61.4.80.0/22 808 | 61.4.84.0/22 809 | 61.4.88.0/21 810 | 61.4.176.0/20 811 | 61.8.160.0/20 812 | 61.28.0.0/20 813 | 61.28.16.0/20 814 | 61.28.32.0/19 815 | 61.28.64.0/18 816 | 61.29.128.0/18 817 | 61.29.192.0/19 818 | 61.29.224.0/20 819 | 61.29.240.0/20 820 | 61.45.128.0/18 821 | 61.45.224.0/20 822 | 61.47.128.0/18 823 | 61.48.0.0/14 824 | 61.52.0.0/15 825 | 61.54.0.0/16 826 | 61.55.0.0/16 827 | 61.87.192.0/18 828 | 61.128.0.0/15 829 | 61.130.0.0/15 830 | 61.132.0.0/16 831 | 61.133.0.0/17 832 | 61.133.128.0/17 833 | 61.134.0.0/18 834 | 61.134.64.0/19 835 | 61.134.96.0/19 836 | 61.134.128.0/18 837 | 61.134.192.0/18 838 | 61.135.0.0/16 839 | 61.136.0.0/18 840 | 61.136.64.0/18 841 | 61.136.128.0/17 842 | 61.137.0.0/17 843 | 61.137.128.0/17 844 | 61.138.0.0/18 845 | 61.138.64.0/18 846 | 61.138.128.0/18 847 | 61.138.192.0/18 848 | 61.139.0.0/17 849 | 61.139.128.0/18 850 | 61.139.192.0/18 851 | 61.140.0.0/14 852 | 61.144.0.0/14 853 | 61.148.0.0/15 854 | 61.150.0.0/15 855 | 61.152.0.0/16 856 | 61.153.0.0/16 857 | 61.154.0.0/15 858 | 61.156.0.0/16 859 | 61.157.0.0/16 860 | 61.158.0.0/17 861 | 61.158.128.0/17 862 | 61.159.0.0/18 863 | 61.159.64.0/18 864 | 61.159.128.0/17 865 | 61.160.0.0/16 866 | 61.161.0.0/18 867 | 61.161.64.0/18 868 | 61.161.128.0/17 869 | 61.162.0.0/16 870 | 61.163.0.0/16 871 | 61.164.0.0/16 872 | 61.165.0.0/16 873 | 61.166.0.0/16 874 | 61.167.0.0/16 875 | 61.168.0.0/16 876 | 61.169.0.0/16 877 | 61.170.0.0/15 878 | 61.172.0.0/14 879 | 61.176.0.0/16 880 | 61.177.0.0/16 881 | 61.178.0.0/16 882 | 61.179.0.0/16 883 | 61.180.0.0/17 884 | 61.180.128.0/17 885 | 61.181.0.0/16 886 | 61.182.0.0/16 887 | 61.183.0.0/16 888 | 61.184.0.0/14 889 | 61.188.0.0/16 890 | 61.189.0.0/17 891 | 61.189.128.0/17 892 | 61.190.0.0/15 893 | 61.232.0.0/14 894 | 61.236.0.0/15 895 | 61.240.0.0/14 896 | 101.0.0.0/22 897 | 101.1.0.0/22 898 | 101.2.172.0/22 899 | 101.4.0.0/14 900 | 101.16.0.0/12 901 | 101.32.0.0/12 902 | 101.48.0.0/15 903 | 101.50.56.0/22 904 | 101.52.0.0/16 905 | 101.53.100.0/22 906 | 101.54.0.0/16 907 | 101.55.224.0/21 908 | 101.64.0.0/13 909 | 101.72.0.0/14 910 | 101.76.0.0/15 911 | 101.78.0.0/22 912 | 101.78.32.0/19 913 | 101.80.0.0/12 914 | 101.96.0.0/21 915 | 101.96.8.0/22 916 | 101.96.16.0/20 917 | 101.96.128.0/17 918 | 101.99.96.0/19 919 | 101.101.64.0/19 920 | 101.101.100.0/24 921 | 101.101.102.0/23 922 | 101.101.104.0/21 923 | 101.101.112.0/20 924 | 101.102.64.0/19 925 | 101.102.100.0/23 926 | 101.102.102.0/24 927 | 101.102.104.0/21 928 | 101.102.112.0/20 929 | 101.104.0.0/14 930 | 101.110.64.0/19 931 | 101.110.96.0/20 932 | 101.110.116.0/22 933 | 101.110.120.0/21 934 | 101.120.0.0/14 935 | 101.124.0.0/15 936 | 101.126.0.0/16 937 | 101.128.0.0/22 938 | 101.128.8.0/21 939 | 101.128.16.0/20 940 | 101.128.32.0/19 941 | 101.129.0.0/16 942 | 101.130.0.0/15 943 | 101.132.0.0/14 944 | 101.144.0.0/12 945 | 101.192.0.0/14 946 | 101.196.0.0/14 947 | 101.200.0.0/15 948 | 101.203.128.0/19 949 | 101.203.160.0/21 950 | 101.203.172.0/22 951 | 101.203.176.0/20 952 | 101.204.0.0/14 953 | 101.224.0.0/13 954 | 101.232.0.0/15 955 | 101.234.64.0/21 956 | 101.234.76.0/22 957 | 101.234.80.0/20 958 | 101.234.96.0/19 959 | 101.236.0.0/14 960 | 101.240.0.0/14 961 | 101.244.0.0/14 962 | 101.248.0.0/15 963 | 101.251.0.0/22 964 | 101.251.8.0/21 965 | 101.251.16.0/20 966 | 101.251.32.0/19 967 | 101.251.64.0/18 968 | 101.251.128.0/17 969 | 101.252.0.0/15 970 | 101.254.0.0/16 971 | 103.1.8.0/22 972 | 103.1.20.0/22 973 | 103.1.24.0/22 974 | 103.1.72.0/22 975 | 103.1.88.0/22 976 | 103.1.168.0/22 977 | 103.2.108.0/22 978 | 103.2.156.0/22 979 | 103.2.164.0/22 980 | 103.2.200.0/22 981 | 103.2.204.0/22 982 | 103.2.208.0/22 983 | 103.2.212.0/22 984 | 103.3.84.0/22 985 | 103.3.88.0/22 986 | 103.3.92.0/22 987 | 103.3.96.0/22 988 | 103.3.100.0/22 989 | 103.3.104.0/22 990 | 103.3.108.0/22 991 | 103.3.112.0/22 992 | 103.3.116.0/22 993 | 103.3.120.0/22 994 | 103.3.124.0/22 995 | 103.3.128.0/22 996 | 103.3.132.0/22 997 | 103.3.136.0/22 998 | 103.3.140.0/22 999 | 103.3.148.0/22 1000 | 103.3.152.0/22 1001 | 103.3.156.0/22 1002 | 103.4.56.0/22 1003 | 103.4.168.0/22 1004 | 103.4.184.0/22 1005 | 103.5.36.0/22 1006 | 103.5.52.0/22 1007 | 103.5.56.0/22 1008 | 103.5.252.0/22 1009 | 103.6.76.0/22 1010 | 103.6.220.0/22 1011 | 103.7.4.0/22 1012 | 103.7.28.0/22 1013 | 103.7.212.0/22 1014 | 103.7.216.0/22 1015 | 103.7.220.0/22 1016 | 103.8.4.0/22 1017 | 103.8.8.0/22 1018 | 103.8.32.0/22 1019 | 103.8.52.0/22 1020 | 103.8.108.0/22 1021 | 103.8.156.0/22 1022 | 103.8.200.0/22 1023 | 103.8.204.0/22 1024 | 103.8.220.0/22 1025 | 103.9.152.0/22 1026 | 103.9.248.0/22 1027 | 103.9.252.0/22 1028 | 103.10.0.0/22 1029 | 103.10.16.0/22 1030 | 103.10.84.0/22 1031 | 103.10.111.0/24 1032 | 103.10.140.0/22 1033 | 103.11.180.0/22 1034 | 103.12.32.0/22 1035 | 103.12.68.0/22 1036 | 103.12.136.0/22 1037 | 103.12.184.0/22 1038 | 103.12.232.0/22 1039 | 103.13.124.0/22 1040 | 103.13.144.0/22 1041 | 103.13.196.0/22 1042 | 103.13.244.0/22 1043 | 103.14.84.0/22 1044 | 103.14.112.0/22 1045 | 103.14.132.0/22 1046 | 103.14.136.0/22 1047 | 103.14.156.0/22 1048 | 103.14.240.0/22 1049 | 103.15.4.0/22 1050 | 103.15.8.0/22 1051 | 103.15.16.0/22 1052 | 103.15.96.0/22 1053 | 103.15.200.0/22 1054 | 103.16.52.0/22 1055 | 103.16.80.0/22 1056 | 103.16.84.0/22 1057 | 103.16.88.0/22 1058 | 103.16.108.0/22 1059 | 103.16.124.0/22 1060 | 103.17.40.0/22 1061 | 103.17.120.0/22 1062 | 103.17.160.0/22 1063 | 103.17.204.0/22 1064 | 103.17.228.0/22 1065 | 103.18.192.0/22 1066 | 103.18.208.0/22 1067 | 103.18.212.0/22 1068 | 103.18.224.0/22 1069 | 103.19.12.0/22 1070 | 103.19.40.0/22 1071 | 103.19.44.0/22 1072 | 103.19.64.0/22 1073 | 103.19.68.0/22 1074 | 103.19.72.0/22 1075 | 103.19.232.0/22 1076 | 103.20.12.0/22 1077 | 103.20.32.0/22 1078 | 103.20.112.0/22 1079 | 103.20.128.0/22 1080 | 103.20.160.0/22 1081 | 103.20.248.0/22 1082 | 103.21.112.0/22 1083 | 103.21.116.0/22 1084 | 103.21.136.0/22 1085 | 103.21.140.0/22 1086 | 103.21.176.0/22 1087 | 103.21.208.0/22 1088 | 103.21.240.0/22 1089 | 103.22.0.0/22 1090 | 103.22.4.0/22 1091 | 103.22.8.0/22 1092 | 103.22.12.0/22 1093 | 103.22.16.0/22 1094 | 103.22.20.0/22 1095 | 103.22.24.0/22 1096 | 103.22.28.0/22 1097 | 103.22.32.0/22 1098 | 103.22.36.0/22 1099 | 103.22.40.0/22 1100 | 103.22.44.0/22 1101 | 103.22.48.0/22 1102 | 103.22.52.0/22 1103 | 103.22.56.0/22 1104 | 103.22.60.0/22 1105 | 103.22.64.0/22 1106 | 103.22.68.0/22 1107 | 103.22.72.0/22 1108 | 103.22.76.0/22 1109 | 103.22.80.0/22 1110 | 103.22.84.0/22 1111 | 103.22.88.0/22 1112 | 103.22.92.0/22 1113 | 103.22.100.0/22 1114 | 103.22.104.0/22 1115 | 103.22.108.0/22 1116 | 103.22.112.0/22 1117 | 103.22.116.0/22 1118 | 103.22.120.0/22 1119 | 103.22.124.0/22 1120 | 103.22.188.0/22 1121 | 103.22.228.0/22 1122 | 103.22.252.0/22 1123 | 103.23.8.0/22 1124 | 103.23.56.0/22 1125 | 103.23.160.0/22 1126 | 103.23.164.0/22 1127 | 103.23.176.0/22 1128 | 103.23.228.0/22 1129 | 103.24.116.0/22 1130 | 103.24.128.0/22 1131 | 103.24.144.0/22 1132 | 103.24.176.0/22 1133 | 103.24.184.0/22 1134 | 103.24.220.0/22 1135 | 103.24.228.0/22 1136 | 103.24.248.0/22 1137 | 103.24.252.0/22 1138 | 103.25.8.0/23 1139 | 103.25.20.0/22 1140 | 103.25.24.0/22 1141 | 103.25.28.0/22 1142 | 103.25.32.0/22 1143 | 103.25.36.0/22 1144 | 103.25.40.0/22 1145 | 103.25.48.0/22 1146 | 103.25.64.0/22 1147 | 103.25.68.0/22 1148 | 103.25.148.0/22 1149 | 103.25.156.0/22 1150 | 103.25.216.0/22 1151 | 103.26.0.0/22 1152 | 103.26.64.0/22 1153 | 103.26.156.0/22 1154 | 103.26.160.0/22 1155 | 103.26.228.0/22 1156 | 103.26.240.0/22 1157 | 103.27.4.0/22 1158 | 103.27.12.0/22 1159 | 103.27.24.0/22 1160 | 103.27.56.0/22 1161 | 103.27.96.0/22 1162 | 103.27.208.0/22 1163 | 103.27.240.0/22 1164 | 103.28.4.0/22 1165 | 103.28.8.0/22 1166 | 103.28.204.0/22 1167 | 103.29.16.0/22 1168 | 103.29.128.0/22 1169 | 103.29.132.0/22 1170 | 103.29.136.0/22 1171 | 103.30.20.0/22 1172 | 103.30.96.0/22 1173 | 103.30.148.0/22 1174 | 103.30.200.0/22 1175 | 103.30.216.0/22 1176 | 103.30.228.0/22 1177 | 103.30.236.0/22 1178 | 103.31.0.0/22 1179 | 103.31.48.0/22 1180 | 103.31.52.0/22 1181 | 103.31.56.0/22 1182 | 103.31.60.0/22 1183 | 103.31.64.0/22 1184 | 103.31.68.0/22 1185 | 103.31.72.0/22 1186 | 103.31.148.0/22 1187 | 103.31.160.0/22 1188 | 103.31.168.0/22 1189 | 103.31.200.0/22 1190 | 103.32.0.0/22 1191 | 103.32.4.0/22 1192 | 103.32.8.0/22 1193 | 103.32.12.0/22 1194 | 103.32.16.0/22 1195 | 103.32.20.0/22 1196 | 103.32.24.0/22 1197 | 103.32.28.0/22 1198 | 103.32.32.0/22 1199 | 103.32.36.0/22 1200 | 103.32.40.0/22 1201 | 103.32.44.0/22 1202 | 103.32.48.0/22 1203 | 103.32.52.0/22 1204 | 103.32.56.0/22 1205 | 103.32.60.0/22 1206 | 103.32.64.0/22 1207 | 103.32.68.0/22 1208 | 103.32.72.0/22 1209 | 103.32.76.0/22 1210 | 103.32.80.0/22 1211 | 103.32.84.0/22 1212 | 103.32.88.0/22 1213 | 103.32.92.0/22 1214 | 103.32.96.0/22 1215 | 103.32.100.0/22 1216 | 103.32.104.0/22 1217 | 103.32.108.0/22 1218 | 103.32.112.0/22 1219 | 103.32.116.0/22 1220 | 103.32.120.0/22 1221 | 103.32.124.0/22 1222 | 103.32.128.0/22 1223 | 103.32.132.0/22 1224 | 103.32.136.0/22 1225 | 103.32.140.0/22 1226 | 103.32.144.0/22 1227 | 103.32.148.0/22 1228 | 103.32.152.0/22 1229 | 103.32.156.0/22 1230 | 103.32.160.0/22 1231 | 103.32.164.0/22 1232 | 103.32.168.0/22 1233 | 103.32.172.0/22 1234 | 103.32.176.0/22 1235 | 103.32.180.0/22 1236 | 103.32.184.0/22 1237 | 103.32.188.0/22 1238 | 103.32.192.0/22 1239 | 103.32.196.0/22 1240 | 103.32.200.0/22 1241 | 103.32.204.0/22 1242 | 103.32.208.0/22 1243 | 103.32.212.0/22 1244 | 103.32.216.0/22 1245 | 103.32.220.0/22 1246 | 103.32.224.0/22 1247 | 103.32.228.0/22 1248 | 103.32.232.0/22 1249 | 103.32.236.0/22 1250 | 103.32.240.0/22 1251 | 103.32.244.0/22 1252 | 103.32.248.0/22 1253 | 103.32.252.0/22 1254 | 103.33.0.0/22 1255 | 103.33.4.0/22 1256 | 103.33.8.0/22 1257 | 103.33.12.0/22 1258 | 103.33.16.0/22 1259 | 103.33.20.0/22 1260 | 103.33.24.0/22 1261 | 103.33.28.0/22 1262 | 103.33.32.0/22 1263 | 103.33.36.0/22 1264 | 103.33.40.0/22 1265 | 103.33.44.0/22 1266 | 103.33.48.0/22 1267 | 103.33.52.0/22 1268 | 103.33.56.0/22 1269 | 103.33.60.0/22 1270 | 103.33.64.0/22 1271 | 103.33.68.0/22 1272 | 103.33.72.0/22 1273 | 103.33.76.0/22 1274 | 103.33.80.0/22 1275 | 103.33.84.0/22 1276 | 103.33.88.0/22 1277 | 103.33.92.0/22 1278 | 103.33.96.0/22 1279 | 103.33.100.0/22 1280 | 103.33.104.0/22 1281 | 103.33.108.0/22 1282 | 103.33.112.0/22 1283 | 103.33.116.0/22 1284 | 103.33.120.0/22 1285 | 103.33.124.0/22 1286 | 103.33.128.0/22 1287 | 103.33.132.0/22 1288 | 103.33.136.0/22 1289 | 103.33.140.0/22 1290 | 103.33.144.0/22 1291 | 103.33.148.0/22 1292 | 103.33.152.0/22 1293 | 103.33.156.0/22 1294 | 103.33.160.0/22 1295 | 103.33.164.0/22 1296 | 103.33.168.0/22 1297 | 103.33.172.0/22 1298 | 103.33.176.0/22 1299 | 103.33.180.0/22 1300 | 103.33.184.0/22 1301 | 103.33.188.0/22 1302 | 103.33.192.0/22 1303 | 103.33.196.0/22 1304 | 103.33.200.0/22 1305 | 103.33.204.0/22 1306 | 103.33.208.0/22 1307 | 103.33.212.0/22 1308 | 103.33.216.0/22 1309 | 103.33.220.0/22 1310 | 103.33.224.0/22 1311 | 103.33.228.0/22 1312 | 103.33.232.0/22 1313 | 103.33.236.0/22 1314 | 103.33.240.0/22 1315 | 103.33.244.0/22 1316 | 103.33.248.0/22 1317 | 103.33.252.0/22 1318 | 103.34.0.0/22 1319 | 103.34.4.0/22 1320 | 103.34.8.0/22 1321 | 103.34.12.0/22 1322 | 103.34.16.0/22 1323 | 103.34.20.0/22 1324 | 103.34.24.0/22 1325 | 103.34.28.0/22 1326 | 103.34.32.0/22 1327 | 103.34.36.0/22 1328 | 103.34.40.0/22 1329 | 103.34.44.0/22 1330 | 103.34.48.0/22 1331 | 103.34.52.0/22 1332 | 103.34.56.0/22 1333 | 103.34.60.0/22 1334 | 103.34.64.0/22 1335 | 103.34.68.0/22 1336 | 103.34.72.0/22 1337 | 103.34.76.0/22 1338 | 103.34.80.0/22 1339 | 103.34.84.0/22 1340 | 103.34.88.0/22 1341 | 103.34.92.0/22 1342 | 103.34.96.0/22 1343 | 103.34.100.0/22 1344 | 103.34.104.0/22 1345 | 103.34.108.0/22 1346 | 103.34.112.0/22 1347 | 103.34.116.0/22 1348 | 103.34.120.0/22 1349 | 103.34.124.0/22 1350 | 103.34.128.0/22 1351 | 103.34.132.0/22 1352 | 103.34.136.0/22 1353 | 103.34.140.0/22 1354 | 103.34.144.0/22 1355 | 103.34.148.0/22 1356 | 103.34.152.0/22 1357 | 103.34.156.0/22 1358 | 103.34.160.0/22 1359 | 103.34.164.0/22 1360 | 103.34.168.0/22 1361 | 103.34.172.0/22 1362 | 103.34.176.0/22 1363 | 103.34.180.0/22 1364 | 103.34.184.0/22 1365 | 103.34.188.0/22 1366 | 103.34.192.0/22 1367 | 103.34.196.0/22 1368 | 103.34.200.0/22 1369 | 103.34.204.0/22 1370 | 103.34.208.0/22 1371 | 103.34.212.0/22 1372 | 103.34.216.0/22 1373 | 103.34.220.0/22 1374 | 103.34.224.0/22 1375 | 103.34.228.0/22 1376 | 103.34.232.0/22 1377 | 103.34.236.0/22 1378 | 103.34.240.0/22 1379 | 103.34.244.0/22 1380 | 103.34.248.0/22 1381 | 103.34.252.0/22 1382 | 103.35.0.0/22 1383 | 103.35.4.0/22 1384 | 103.35.8.0/22 1385 | 103.35.12.0/22 1386 | 103.35.16.0/22 1387 | 103.35.20.0/22 1388 | 103.35.24.0/22 1389 | 103.35.28.0/22 1390 | 103.35.32.0/22 1391 | 103.35.36.0/22 1392 | 103.35.40.0/22 1393 | 103.35.44.0/22 1394 | 103.35.48.0/22 1395 | 103.36.20.0/22 1396 | 103.36.28.0/22 1397 | 103.36.36.0/22 1398 | 103.36.56.0/22 1399 | 103.36.60.0/22 1400 | 103.36.64.0/22 1401 | 103.36.72.0/22 1402 | 103.36.96.0/22 1403 | 103.36.132.0/22 1404 | 103.36.136.0/22 1405 | 103.36.160.0/22 1406 | 103.36.164.0/22 1407 | 103.36.168.0/22 1408 | 103.36.172.0/22 1409 | 103.36.176.0/22 1410 | 103.36.180.0/22 1411 | 103.36.184.0/22 1412 | 103.36.188.0/22 1413 | 103.36.192.0/22 1414 | 103.36.196.0/22 1415 | 103.36.200.0/22 1416 | 103.36.204.0/22 1417 | 103.36.208.0/22 1418 | 103.36.212.0/22 1419 | 103.36.216.0/22 1420 | 103.36.220.0/22 1421 | 103.36.224.0/22 1422 | 103.36.228.0/22 1423 | 103.36.232.0/22 1424 | 103.36.236.0/22 1425 | 103.36.240.0/22 1426 | 103.36.244.0/22 1427 | 103.37.0.0/22 1428 | 103.37.12.0/22 1429 | 103.37.16.0/22 1430 | 103.37.24.0/22 1431 | 103.37.44.0/22 1432 | 103.37.52.0/22 1433 | 103.37.56.0/22 1434 | 103.37.72.0/22 1435 | 103.37.100.0/22 1436 | 103.37.104.0/22 1437 | 103.37.124.0/22 1438 | 103.37.136.0/22 1439 | 103.37.140.0/22 1440 | 103.37.144.0/22 1441 | 103.37.148.0/22 1442 | 103.37.152.0/22 1443 | 103.37.156.0/22 1444 | 103.37.160.0/22 1445 | 103.37.164.0/22 1446 | 103.37.172.0/22 1447 | 103.37.176.0/22 1448 | 103.37.208.0/22 1449 | 103.37.212.0/22 1450 | 103.37.216.0/22 1451 | 103.37.220.0/22 1452 | 103.37.248.0/22 1453 | 103.37.252.0/22 1454 | 103.38.0.0/22 1455 | 103.38.32.0/22 1456 | 103.38.40.0/22 1457 | 103.38.44.0/22 1458 | 103.38.56.0/22 1459 | 103.38.76.0/22 1460 | 103.38.84.0/22 1461 | 103.38.92.0/22 1462 | 103.38.96.0/22 1463 | 103.38.116.0/22 1464 | 103.38.132.0/22 1465 | 103.38.140.0/22 1466 | 103.224.40.0/22 1467 | 103.224.44.0/22 1468 | 103.224.60.0/22 1469 | 103.224.80.0/22 1470 | 103.224.220.0/22 1471 | 103.224.224.0/22 1472 | 103.224.228.0/22 1473 | 103.224.232.0/22 1474 | 103.225.84.0/22 1475 | 103.226.16.0/22 1476 | 103.226.40.0/22 1477 | 103.226.56.0/22 1478 | 103.226.60.0/22 1479 | 103.226.80.0/22 1480 | 103.226.116.0/22 1481 | 103.226.132.0/22 1482 | 103.226.156.0/22 1483 | 103.226.180.0/22 1484 | 103.226.196.0/22 1485 | 103.227.48.0/22 1486 | 103.227.72.0/22 1487 | 103.227.76.0/22 1488 | 103.227.80.0/22 1489 | 103.227.100.0/22 1490 | 103.227.120.0/22 1491 | 103.227.132.0/22 1492 | 103.227.136.0/22 1493 | 103.227.196.0/22 1494 | 103.227.204.0/22 1495 | 103.227.212.0/22 1496 | 103.227.228.0/22 1497 | 103.228.12.0/22 1498 | 103.228.28.0/22 1499 | 103.228.68.0/22 1500 | 103.228.88.0/22 1501 | 103.228.128.0/22 1502 | 103.228.160.0/22 1503 | 103.228.176.0/22 1504 | 103.228.204.0/22 1505 | 103.228.208.0/22 1506 | 103.228.228.0/22 1507 | 103.228.232.0/22 1508 | 103.229.20.0/22 1509 | 103.229.136.0/22 1510 | 103.229.148.0/22 1511 | 103.229.172.0/22 1512 | 103.229.212.0/22 1513 | 103.229.216.0/22 1514 | 103.229.220.0/22 1515 | 103.229.228.0/22 1516 | 103.229.236.0/22 1517 | 103.229.240.0/22 1518 | 103.230.0.0/22 1519 | 103.230.28.0/22 1520 | 103.230.40.0/22 1521 | 103.230.44.0/22 1522 | 103.230.96.0/22 1523 | 103.230.196.0/22 1524 | 103.230.200.0/22 1525 | 103.230.204.0/22 1526 | 103.230.212.0/22 1527 | 103.230.236.0/22 1528 | 103.231.16.0/22 1529 | 103.231.20.0/22 1530 | 103.231.64.0/22 1531 | 103.231.68.0/22 1532 | 103.231.144.0/22 1533 | 103.231.180.0/22 1534 | 103.231.184.0/22 1535 | 103.231.244.0/22 1536 | 103.232.4.0/22 1537 | 103.232.144.0/22 1538 | 103.232.212.0/22 1539 | 103.233.4.0/22 1540 | 103.233.44.0/22 1541 | 103.233.52.0/22 1542 | 103.233.104.0/22 1543 | 103.233.128.0/22 1544 | 103.233.136.0/22 1545 | 103.233.228.0/22 1546 | 103.234.0.0/22 1547 | 103.234.20.0/22 1548 | 103.234.56.0/22 1549 | 103.234.124.0/22 1550 | 103.234.128.0/22 1551 | 103.234.172.0/22 1552 | 103.234.180.0/22 1553 | 103.235.16.0/22 1554 | 103.235.48.0/22 1555 | 103.235.56.0/22 1556 | 103.235.60.0/22 1557 | 103.235.80.0/22 1558 | 103.235.84.0/22 1559 | 103.235.128.0/22 1560 | 103.235.132.0/22 1561 | 103.235.136.0/22 1562 | 103.235.140.0/22 1563 | 103.235.144.0/22 1564 | 103.235.148.0/22 1565 | 103.235.184.0/22 1566 | 103.235.192.0/22 1567 | 103.235.200.0/22 1568 | 103.235.220.0/22 1569 | 103.235.224.0/22 1570 | 103.235.228.0/22 1571 | 103.235.232.0/22 1572 | 103.235.236.0/22 1573 | 103.235.240.0/22 1574 | 103.235.244.0/22 1575 | 103.235.248.0/22 1576 | 103.235.252.0/22 1577 | 103.236.0.0/22 1578 | 103.236.4.0/22 1579 | 103.236.8.0/22 1580 | 103.236.12.0/22 1581 | 103.236.16.0/22 1582 | 103.236.20.0/22 1583 | 103.236.24.0/22 1584 | 103.236.28.0/22 1585 | 103.236.32.0/22 1586 | 103.236.36.0/22 1587 | 103.236.40.0/22 1588 | 103.236.44.0/22 1589 | 103.236.48.0/22 1590 | 103.236.52.0/22 1591 | 103.236.56.0/22 1592 | 103.236.60.0/22 1593 | 103.236.64.0/22 1594 | 103.236.68.0/22 1595 | 103.236.72.0/22 1596 | 103.236.76.0/22 1597 | 103.236.80.0/22 1598 | 103.236.84.0/22 1599 | 103.236.88.0/22 1600 | 103.236.92.0/22 1601 | 103.236.96.0/22 1602 | 103.237.0.0/22 1603 | 103.237.4.0/22 1604 | 103.237.8.0/22 1605 | 103.237.12.0/22 1606 | 103.237.24.0/22 1607 | 103.237.28.0/22 1608 | 103.237.68.0/22 1609 | 103.237.88.0/22 1610 | 103.237.152.0/22 1611 | 103.237.176.0/22 1612 | 103.237.180.0/22 1613 | 103.237.184.0/22 1614 | 103.237.188.0/22 1615 | 103.237.192.0/22 1616 | 103.237.196.0/22 1617 | 103.237.200.0/22 1618 | 103.237.204.0/22 1619 | 103.237.208.0/22 1620 | 103.237.212.0/22 1621 | 103.237.216.0/22 1622 | 103.237.220.0/22 1623 | 103.237.224.0/22 1624 | 103.237.228.0/22 1625 | 103.237.232.0/22 1626 | 103.237.236.0/22 1627 | 103.237.240.0/22 1628 | 103.237.244.0/22 1629 | 103.237.248.0/22 1630 | 103.237.252.0/22 1631 | 103.238.0.0/22 1632 | 103.238.4.0/22 1633 | 103.238.16.0/22 1634 | 103.238.20.0/22 1635 | 103.238.24.0/22 1636 | 103.238.28.0/22 1637 | 103.238.32.0/22 1638 | 103.238.36.0/22 1639 | 103.238.40.0/22 1640 | 103.238.44.0/22 1641 | 103.238.48.0/22 1642 | 103.238.52.0/22 1643 | 103.238.56.0/22 1644 | 103.238.88.0/22 1645 | 103.238.92.0/22 1646 | 103.238.96.0/22 1647 | 103.238.132.0/22 1648 | 103.238.140.0/22 1649 | 103.238.144.0/22 1650 | 103.238.160.0/22 1651 | 103.238.164.0/22 1652 | 103.238.168.0/22 1653 | 103.238.172.0/22 1654 | 103.238.176.0/22 1655 | 103.238.180.0/22 1656 | 103.238.184.0/22 1657 | 103.238.188.0/22 1658 | 103.238.196.0/22 1659 | 103.238.204.0/22 1660 | 103.238.252.0/22 1661 | 103.239.0.0/22 1662 | 103.239.40.0/22 1663 | 103.239.44.0/22 1664 | 103.239.68.0/22 1665 | 103.239.96.0/22 1666 | 103.239.152.0/22 1667 | 103.239.156.0/22 1668 | 103.239.176.0/22 1669 | 103.239.180.0/22 1670 | 103.239.184.0/22 1671 | 103.239.192.0/22 1672 | 103.239.196.0/22 1673 | 103.239.204.0/22 1674 | 103.239.208.0/22 1675 | 103.239.224.0/22 1676 | 103.239.244.0/22 1677 | 103.240.16.0/22 1678 | 103.240.36.0/22 1679 | 103.240.72.0/22 1680 | 103.240.84.0/22 1681 | 103.240.124.0/22 1682 | 103.240.156.0/22 1683 | 103.240.172.0/22 1684 | 103.240.244.0/22 1685 | 103.241.12.0/22 1686 | 103.241.72.0/22 1687 | 103.241.92.0/22 1688 | 103.241.96.0/22 1689 | 103.241.160.0/22 1690 | 103.241.184.0/22 1691 | 103.241.188.0/22 1692 | 103.241.220.0/22 1693 | 103.242.8.0/22 1694 | 103.242.64.0/22 1695 | 103.242.128.0/22 1696 | 103.242.132.0/22 1697 | 103.242.160.0/22 1698 | 103.242.168.0/22 1699 | 103.242.172.0/22 1700 | 103.242.176.0/22 1701 | 103.242.200.0/22 1702 | 103.242.212.0/22 1703 | 103.242.220.0/22 1704 | 103.242.240.0/22 1705 | 103.243.24.0/22 1706 | 103.243.136.0/22 1707 | 103.243.252.0/22 1708 | 103.244.16.0/22 1709 | 103.244.58.0/23 1710 | 103.244.60.0/22 1711 | 103.244.64.0/22 1712 | 103.244.68.0/22 1713 | 103.244.72.0/22 1714 | 103.244.76.0/22 1715 | 103.244.80.0/22 1716 | 103.244.84.0/22 1717 | 103.244.164.0/22 1718 | 103.244.232.0/22 1719 | 103.244.252.0/22 1720 | 103.245.23.0/24 1721 | 103.245.52.0/22 1722 | 103.245.60.0/22 1723 | 103.245.80.0/22 1724 | 103.245.124.0/22 1725 | 103.245.128.0/22 1726 | 103.246.8.0/22 1727 | 103.246.12.0/22 1728 | 103.246.120.0/22 1729 | 103.246.124.0/22 1730 | 103.246.132.0/22 1731 | 103.246.152.0/22 1732 | 103.246.156.0/22 1733 | 103.247.168.0/22 1734 | 103.247.172.0/22 1735 | 103.247.176.0/22 1736 | 103.247.200.0/22 1737 | 103.247.212.0/22 1738 | 103.248.0.0/23 1739 | 103.248.64.0/22 1740 | 103.248.100.0/22 1741 | 103.248.124.0/22 1742 | 103.248.152.0/22 1743 | 103.248.168.0/22 1744 | 103.248.192.0/22 1745 | 103.248.212.0/22 1746 | 103.248.224.0/22 1747 | 103.248.228.0/22 1748 | 103.249.12.0/22 1749 | 103.249.52.0/22 1750 | 103.249.128.0/22 1751 | 103.249.136.0/22 1752 | 103.249.144.0/22 1753 | 103.249.164.0/22 1754 | 103.249.168.0/22 1755 | 103.249.172.0/22 1756 | 103.249.176.0/22 1757 | 103.249.188.0/22 1758 | 103.249.192.0/22 1759 | 103.249.244.0/22 1760 | 103.249.252.0/22 1761 | 103.250.32.0/22 1762 | 103.250.104.0/22 1763 | 103.250.124.0/22 1764 | 103.250.180.0/22 1765 | 103.250.192.0/22 1766 | 103.250.216.0/22 1767 | 103.250.224.0/22 1768 | 103.250.236.0/22 1769 | 103.250.248.0/22 1770 | 103.250.252.0/22 1771 | 103.251.32.0/22 1772 | 103.251.84.0/22 1773 | 103.251.96.0/22 1774 | 103.251.124.0/22 1775 | 103.251.128.0/22 1776 | 103.251.160.0/22 1777 | 103.251.204.0/22 1778 | 103.251.236.0/22 1779 | 103.251.240.0/22 1780 | 103.252.28.0/22 1781 | 103.252.36.0/22 1782 | 103.252.64.0/22 1783 | 103.252.104.0/22 1784 | 103.252.172.0/22 1785 | 103.252.204.0/22 1786 | 103.252.208.0/22 1787 | 103.252.232.0/22 1788 | 103.252.248.0/22 1789 | 103.253.4.0/22 1790 | 103.253.60.0/22 1791 | 103.253.204.0/22 1792 | 103.253.220.0/22 1793 | 103.253.224.0/22 1794 | 103.253.232.0/22 1795 | 103.254.8.0/22 1796 | 103.254.20.0/22 1797 | 103.254.64.0/22 1798 | 103.254.68.0/22 1799 | 103.254.72.0/22 1800 | 103.254.76.0/22 1801 | 103.254.112.0/22 1802 | 103.254.148.0/22 1803 | 103.254.176.0/22 1804 | 103.254.188.0/22 1805 | 103.254.196.0/24 1806 | 103.254.220.0/22 1807 | 103.255.68.0/22 1808 | 103.255.88.0/22 1809 | 103.255.92.0/22 1810 | 103.255.136.0/22 1811 | 103.255.140.0/22 1812 | 103.255.184.0/22 1813 | 103.255.200.0/22 1814 | 103.255.208.0/22 1815 | 103.255.212.0/22 1816 | 103.255.228.0/22 1817 | 106.0.0.0/24 1818 | 106.0.2.0/23 1819 | 106.0.4.0/22 1820 | 106.0.8.0/21 1821 | 106.0.16.0/20 1822 | 106.0.64.0/18 1823 | 106.2.0.0/15 1824 | 106.4.0.0/14 1825 | 106.8.0.0/15 1826 | 106.11.0.0/16 1827 | 106.12.0.0/14 1828 | 106.16.0.0/12 1829 | 106.32.0.0/12 1830 | 106.48.0.0/15 1831 | 106.50.0.0/16 1832 | 106.52.0.0/14 1833 | 106.56.0.0/13 1834 | 106.74.0.0/16 1835 | 106.75.0.0/16 1836 | 106.80.0.0/12 1837 | 106.108.0.0/14 1838 | 106.112.0.0/13 1839 | 106.120.0.0/13 1840 | 106.224.0.0/12 1841 | 110.6.0.0/15 1842 | 110.16.0.0/14 1843 | 110.40.0.0/14 1844 | 110.44.144.0/20 1845 | 110.48.0.0/16 1846 | 110.51.0.0/16 1847 | 110.52.0.0/15 1848 | 110.56.0.0/13 1849 | 110.64.0.0/15 1850 | 110.72.0.0/15 1851 | 110.75.0.0/17 1852 | 110.75.128.0/19 1853 | 110.75.160.0/19 1854 | 110.75.192.0/18 1855 | 110.76.0.0/19 1856 | 110.76.32.0/19 1857 | 110.76.156.0/22 1858 | 110.76.184.0/22 1859 | 110.76.192.0/18 1860 | 110.77.0.0/17 1861 | 110.80.0.0/13 1862 | 110.88.0.0/14 1863 | 110.93.32.0/19 1864 | 110.94.0.0/15 1865 | 110.96.0.0/11 1866 | 110.152.0.0/14 1867 | 110.156.0.0/15 1868 | 110.165.32.0/19 1869 | 110.166.0.0/15 1870 | 110.172.192.0/18 1871 | 110.173.0.0/19 1872 | 110.173.32.0/20 1873 | 110.173.64.0/19 1874 | 110.173.96.0/19 1875 | 110.173.192.0/19 1876 | 110.176.0.0/13 1877 | 110.184.0.0/13 1878 | 110.192.0.0/11 1879 | 110.228.0.0/14 1880 | 110.232.32.0/19 1881 | 110.236.0.0/15 1882 | 110.240.0.0/12 1883 | 111.0.0.0/10 1884 | 111.66.0.0/16 1885 | 111.67.192.0/20 1886 | 111.68.64.0/19 1887 | 111.72.0.0/13 1888 | 111.85.0.0/16 1889 | 111.91.192.0/19 1890 | 111.112.0.0/15 1891 | 111.114.0.0/15 1892 | 111.116.0.0/15 1893 | 111.118.200.0/21 1894 | 111.119.64.0/18 1895 | 111.119.128.0/19 1896 | 111.120.0.0/14 1897 | 111.124.0.0/16 1898 | 111.126.0.0/15 1899 | 111.128.0.0/11 1900 | 111.160.0.0/13 1901 | 111.170.0.0/16 1902 | 111.172.0.0/14 1903 | 111.176.0.0/13 1904 | 111.186.0.0/15 1905 | 111.192.0.0/12 1906 | 111.208.0.0/14 1907 | 111.212.0.0/14 1908 | 111.221.128.0/17 1909 | 111.222.0.0/16 1910 | 111.223.240.0/22 1911 | 111.223.248.0/22 1912 | 111.224.0.0/14 1913 | 111.228.0.0/14 1914 | 111.235.96.0/19 1915 | 111.235.156.0/22 1916 | 111.235.160.0/19 1917 | 112.0.0.0/10 1918 | 112.64.0.0/15 1919 | 112.66.0.0/15 1920 | 112.73.0.0/16 1921 | 112.74.0.0/15 1922 | 112.80.0.0/13 1923 | 112.88.0.0/13 1924 | 112.96.0.0/15 1925 | 112.98.0.0/15 1926 | 112.100.0.0/14 1927 | 112.109.128.0/17 1928 | 112.111.0.0/16 1929 | 112.112.0.0/14 1930 | 112.116.0.0/15 1931 | 112.122.0.0/15 1932 | 112.124.0.0/14 1933 | 112.128.0.0/14 1934 | 112.132.0.0/16 1935 | 112.137.48.0/21 1936 | 112.192.0.0/14 1937 | 112.224.0.0/11 1938 | 113.0.0.0/13 1939 | 113.8.0.0/15 1940 | 113.11.192.0/19 1941 | 113.12.0.0/14 1942 | 113.16.0.0/15 1943 | 113.18.0.0/16 1944 | 113.24.0.0/14 1945 | 113.31.0.0/16 1946 | 113.44.0.0/14 1947 | 113.48.0.0/14 1948 | 113.52.160.0/19 1949 | 113.54.0.0/15 1950 | 113.56.0.0/15 1951 | 113.58.0.0/16 1952 | 113.59.0.0/17 1953 | 113.59.224.0/22 1954 | 113.62.0.0/15 1955 | 113.64.0.0/11 1956 | 113.96.0.0/12 1957 | 113.112.0.0/13 1958 | 113.120.0.0/13 1959 | 113.128.0.0/15 1960 | 113.130.96.0/20 1961 | 113.130.112.0/21 1962 | 113.132.0.0/14 1963 | 113.136.0.0/13 1964 | 113.194.0.0/15 1965 | 113.197.100.0/22 1966 | 113.200.0.0/15 1967 | 113.202.0.0/16 1968 | 113.204.0.0/14 1969 | 113.208.96.0/19 1970 | 113.208.128.0/17 1971 | 113.209.0.0/16 1972 | 113.212.0.0/18 1973 | 113.212.100.0/22 1974 | 113.212.184.0/21 1975 | 113.213.0.0/17 1976 | 113.214.0.0/15 1977 | 113.218.0.0/15 1978 | 113.220.0.0/14 1979 | 113.224.0.0/12 1980 | 113.240.0.0/13 1981 | 113.248.0.0/14 1982 | 114.28.0.0/16 1983 | 114.54.0.0/15 1984 | 114.60.0.0/14 1985 | 114.64.0.0/14 1986 | 114.68.0.0/16 1987 | 114.79.64.0/18 1988 | 114.80.0.0/12 1989 | 114.96.0.0/13 1990 | 114.104.0.0/14 1991 | 114.110.0.0/20 1992 | 114.110.64.0/18 1993 | 114.111.0.0/19 1994 | 114.111.160.0/19 1995 | 114.112.0.0/14 1996 | 114.116.0.0/15 1997 | 114.118.0.0/16 1998 | 114.119.0.0/17 1999 | 114.119.128.0/18 2000 | 114.119.192.0/21 2001 | 114.119.200.0/22 2002 | 114.119.204.0/22 2003 | 114.119.208.0/20 2004 | 114.119.224.0/19 2005 | 114.132.0.0/16 2006 | 114.135.0.0/16 2007 | 114.138.0.0/15 2008 | 114.141.64.0/21 2009 | 114.141.128.0/18 2010 | 114.196.0.0/15 2011 | 114.198.248.0/21 2012 | 114.208.0.0/14 2013 | 114.212.0.0/15 2014 | 114.214.0.0/16 2015 | 114.215.0.0/16 2016 | 114.216.0.0/13 2017 | 114.224.0.0/12 2018 | 114.240.0.0/12 2019 | 115.24.0.0/14 2020 | 115.28.0.0/15 2021 | 115.32.0.0/14 2022 | 115.44.0.0/15 2023 | 115.46.0.0/16 2024 | 115.47.0.0/16 2025 | 115.48.0.0/12 2026 | 115.69.64.0/20 2027 | 115.84.0.0/18 2028 | 115.84.192.0/19 2029 | 115.85.192.0/18 2030 | 115.100.0.0/14 2031 | 115.104.0.0/14 2032 | 115.120.0.0/14 2033 | 115.124.16.0/20 2034 | 115.148.0.0/14 2035 | 115.152.0.0/15 2036 | 115.154.0.0/15 2037 | 115.156.0.0/15 2038 | 115.158.0.0/16 2039 | 115.159.0.0/16 2040 | 115.166.64.0/19 2041 | 115.168.0.0/14 2042 | 115.172.0.0/14 2043 | 115.180.0.0/14 2044 | 115.190.0.0/15 2045 | 115.192.0.0/11 2046 | 115.224.0.0/12 2047 | 116.0.8.0/21 2048 | 116.0.24.0/21 2049 | 116.1.0.0/16 2050 | 116.2.0.0/15 2051 | 116.4.0.0/14 2052 | 116.8.0.0/14 2053 | 116.13.0.0/16 2054 | 116.16.0.0/12 2055 | 116.50.0.0/20 2056 | 116.52.0.0/14 2057 | 116.56.0.0/15 2058 | 116.58.128.0/20 2059 | 116.58.208.0/20 2060 | 116.60.0.0/14 2061 | 116.66.0.0/17 2062 | 116.69.0.0/16 2063 | 116.70.0.0/17 2064 | 116.76.0.0/15 2065 | 116.78.0.0/15 2066 | 116.85.0.0/16 2067 | 116.89.144.0/20 2068 | 116.90.80.0/20 2069 | 116.90.184.0/21 2070 | 116.95.0.0/16 2071 | 116.112.0.0/14 2072 | 116.116.0.0/15 2073 | 116.128.0.0/10 2074 | 116.192.0.0/16 2075 | 116.193.16.0/20 2076 | 116.193.32.0/19 2077 | 116.193.176.0/21 2078 | 116.194.0.0/15 2079 | 116.196.0.0/16 2080 | 116.198.0.0/16 2081 | 116.199.0.0/17 2082 | 116.199.128.0/19 2083 | 116.204.0.0/15 2084 | 116.207.0.0/16 2085 | 116.208.0.0/14 2086 | 116.212.160.0/20 2087 | 116.213.64.0/18 2088 | 116.213.128.0/17 2089 | 116.214.32.0/19 2090 | 116.214.64.0/20 2091 | 116.214.128.0/17 2092 | 116.215.0.0/16 2093 | 116.216.0.0/14 2094 | 116.224.0.0/12 2095 | 116.242.0.0/15 2096 | 116.244.0.0/15 2097 | 116.246.0.0/15 2098 | 116.248.0.0/15 2099 | 116.251.64.0/18 2100 | 116.252.0.0/15 2101 | 116.254.128.0/17 2102 | 116.255.128.0/17 2103 | 117.8.0.0/13 2104 | 117.21.0.0/16 2105 | 117.22.0.0/15 2106 | 117.24.0.0/13 2107 | 117.32.0.0/13 2108 | 117.40.0.0/14 2109 | 117.44.0.0/15 2110 | 117.48.0.0/14 2111 | 117.53.48.0/20 2112 | 117.53.176.0/20 2113 | 117.57.0.0/16 2114 | 117.58.0.0/17 2115 | 117.59.0.0/16 2116 | 117.60.0.0/14 2117 | 117.64.0.0/13 2118 | 117.72.0.0/15 2119 | 117.74.64.0/20 2120 | 117.74.80.0/20 2121 | 117.74.128.0/17 2122 | 117.75.0.0/16 2123 | 117.76.0.0/14 2124 | 117.80.0.0/12 2125 | 117.100.0.0/15 2126 | 117.103.16.0/20 2127 | 117.103.40.0/21 2128 | 117.103.72.0/21 2129 | 117.103.128.0/20 2130 | 117.104.168.0/21 2131 | 117.106.0.0/15 2132 | 117.112.0.0/13 2133 | 117.120.64.0/18 2134 | 117.120.128.0/17 2135 | 117.121.0.0/17 2136 | 117.121.128.0/18 2137 | 117.121.192.0/21 2138 | 117.122.128.0/17 2139 | 117.124.0.0/14 2140 | 117.128.0.0/10 2141 | 118.24.0.0/15 2142 | 118.26.0.0/16 2143 | 118.28.0.0/15 2144 | 118.30.0.0/16 2145 | 118.31.0.0/16 2146 | 118.64.0.0/15 2147 | 118.66.0.0/16 2148 | 118.67.112.0/20 2149 | 118.72.0.0/13 2150 | 118.80.0.0/15 2151 | 118.84.0.0/15 2152 | 118.88.32.0/19 2153 | 118.88.64.0/18 2154 | 118.88.128.0/17 2155 | 118.89.0.0/16 2156 | 118.91.240.0/20 2157 | 118.102.16.0/20 2158 | 118.102.32.0/21 2159 | 118.112.0.0/13 2160 | 118.120.0.0/14 2161 | 118.124.0.0/15 2162 | 118.126.0.0/16 2163 | 118.127.128.0/19 2164 | 118.132.0.0/14 2165 | 118.144.0.0/14 2166 | 118.178.0.0/16 2167 | 118.180.0.0/14 2168 | 118.184.0.0/16 2169 | 118.186.0.0/15 2170 | 118.188.0.0/16 2171 | 118.190.0.0/15 2172 | 118.192.0.0/15 2173 | 118.194.0.0/17 2174 | 118.194.128.0/17 2175 | 118.195.0.0/17 2176 | 118.195.128.0/17 2177 | 118.196.0.0/14 2178 | 118.202.0.0/15 2179 | 118.204.0.0/14 2180 | 118.212.0.0/16 2181 | 118.213.0.0/16 2182 | 118.224.0.0/14 2183 | 118.228.0.0/15 2184 | 118.230.0.0/16 2185 | 118.239.0.0/16 2186 | 118.242.0.0/16 2187 | 118.244.0.0/14 2188 | 118.248.0.0/13 2189 | 119.0.0.0/15 2190 | 119.2.0.0/19 2191 | 119.2.128.0/17 2192 | 119.3.0.0/16 2193 | 119.4.0.0/14 2194 | 119.8.0.0/16 2195 | 119.10.0.0/17 2196 | 119.15.136.0/21 2197 | 119.16.0.0/16 2198 | 119.18.192.0/20 2199 | 119.18.208.0/21 2200 | 119.18.224.0/20 2201 | 119.18.240.0/20 2202 | 119.19.0.0/16 2203 | 119.20.0.0/14 2204 | 119.27.64.0/18 2205 | 119.27.128.0/19 2206 | 119.27.160.0/19 2207 | 119.27.192.0/18 2208 | 119.28.0.0/15 2209 | 119.30.48.0/20 2210 | 119.31.192.0/19 2211 | 119.32.0.0/14 2212 | 119.36.0.0/16 2213 | 119.37.0.0/17 2214 | 119.37.128.0/18 2215 | 119.37.192.0/18 2216 | 119.38.0.0/17 2217 | 119.38.128.0/18 2218 | 119.38.192.0/20 2219 | 119.38.208.0/20 2220 | 119.38.224.0/19 2221 | 119.39.0.0/16 2222 | 119.40.0.0/18 2223 | 119.40.64.0/20 2224 | 119.40.128.0/17 2225 | 119.41.0.0/16 2226 | 119.42.0.0/19 2227 | 119.42.128.0/21 2228 | 119.42.136.0/21 2229 | 119.42.224.0/19 2230 | 119.44.0.0/15 2231 | 119.48.0.0/13 2232 | 119.57.0.0/16 2233 | 119.58.0.0/16 2234 | 119.59.128.0/17 2235 | 119.60.0.0/16 2236 | 119.61.0.0/16 2237 | 119.62.0.0/16 2238 | 119.63.32.0/19 2239 | 119.75.208.0/20 2240 | 119.78.0.0/15 2241 | 119.80.0.0/16 2242 | 119.82.208.0/20 2243 | 119.84.0.0/14 2244 | 119.88.0.0/14 2245 | 119.96.0.0/13 2246 | 119.108.0.0/15 2247 | 119.112.0.0/13 2248 | 119.120.0.0/13 2249 | 119.128.0.0/12 2250 | 119.144.0.0/14 2251 | 119.148.160.0/20 2252 | 119.148.176.0/20 2253 | 119.151.192.0/18 2254 | 119.160.200.0/21 2255 | 119.161.128.0/17 2256 | 119.162.0.0/15 2257 | 119.164.0.0/14 2258 | 119.176.0.0/12 2259 | 119.232.0.0/15 2260 | 119.235.128.0/18 2261 | 119.248.0.0/14 2262 | 119.252.96.0/21 2263 | 119.252.240.0/20 2264 | 119.253.0.0/16 2265 | 119.254.0.0/15 2266 | 120.0.0.0/12 2267 | 120.24.0.0/14 2268 | 120.30.0.0/16 2269 | 120.31.0.0/16 2270 | 120.32.0.0/13 2271 | 120.40.0.0/14 2272 | 120.44.0.0/14 2273 | 120.48.0.0/15 2274 | 120.52.0.0/16 2275 | 120.53.0.0/16 2276 | 120.54.0.0/15 2277 | 120.64.0.0/14 2278 | 120.68.0.0/14 2279 | 120.72.32.0/19 2280 | 120.72.128.0/17 2281 | 120.76.0.0/14 2282 | 120.80.0.0/13 2283 | 120.88.8.0/21 2284 | 120.90.0.0/15 2285 | 120.92.0.0/16 2286 | 120.94.0.0/16 2287 | 120.95.0.0/16 2288 | 120.128.0.0/14 2289 | 120.132.0.0/17 2290 | 120.132.128.0/17 2291 | 120.133.0.0/16 2292 | 120.134.0.0/15 2293 | 120.136.128.0/18 2294 | 120.137.0.0/17 2295 | 120.143.128.0/19 2296 | 120.192.0.0/10 2297 | 121.0.8.0/21 2298 | 121.0.16.0/20 2299 | 121.4.0.0/15 2300 | 121.8.0.0/13 2301 | 121.16.0.0/13 2302 | 121.24.0.0/14 2303 | 121.28.0.0/15 2304 | 121.30.0.0/16 2305 | 121.31.0.0/16 2306 | 121.32.0.0/14 2307 | 121.36.0.0/16 2308 | 121.37.0.0/16 2309 | 121.38.0.0/15 2310 | 121.40.0.0/14 2311 | 121.46.0.0/18 2312 | 121.46.128.0/17 2313 | 121.47.0.0/16 2314 | 121.48.0.0/15 2315 | 121.50.8.0/21 2316 | 121.51.0.0/16 2317 | 121.52.160.0/19 2318 | 121.52.208.0/20 2319 | 121.52.224.0/19 2320 | 121.54.176.0/21 2321 | 121.55.0.0/18 2322 | 121.56.0.0/15 2323 | 121.58.0.0/17 2324 | 121.58.136.0/21 2325 | 121.58.144.0/20 2326 | 121.58.160.0/21 2327 | 121.59.0.0/16 2328 | 121.60.0.0/14 2329 | 121.68.0.0/14 2330 | 121.76.0.0/15 2331 | 121.79.128.0/18 2332 | 121.89.0.0/16 2333 | 121.100.128.0/17 2334 | 121.101.0.0/18 2335 | 121.101.208.0/20 2336 | 121.192.0.0/16 2337 | 121.193.0.0/16 2338 | 121.194.0.0/15 2339 | 121.196.0.0/14 2340 | 121.200.192.0/21 2341 | 121.201.0.0/16 2342 | 121.204.0.0/14 2343 | 121.224.0.0/12 2344 | 121.248.0.0/14 2345 | 121.255.0.0/16 2346 | 122.0.64.0/18 2347 | 122.0.128.0/17 2348 | 122.4.0.0/14 2349 | 122.8.0.0/16 2350 | 122.9.0.0/16 2351 | 122.10.0.0/17 2352 | 122.10.128.0/17 2353 | 122.11.0.0/17 2354 | 122.12.0.0/16 2355 | 122.13.0.0/16 2356 | 122.14.0.0/16 2357 | 122.48.0.0/16 2358 | 122.49.0.0/18 2359 | 122.51.0.0/16 2360 | 122.64.0.0/11 2361 | 122.96.0.0/15 2362 | 122.102.0.0/20 2363 | 122.102.64.0/20 2364 | 122.102.80.0/20 2365 | 122.112.0.0/14 2366 | 122.119.0.0/16 2367 | 122.128.120.0/21 2368 | 122.136.0.0/13 2369 | 122.144.128.0/17 2370 | 122.152.192.0/18 2371 | 122.156.0.0/14 2372 | 122.188.0.0/14 2373 | 122.192.0.0/14 2374 | 122.198.0.0/16 2375 | 122.200.64.0/18 2376 | 122.201.48.0/20 2377 | 122.204.0.0/14 2378 | 122.224.0.0/12 2379 | 122.240.0.0/13 2380 | 122.248.24.0/21 2381 | 122.248.48.0/20 2382 | 122.255.64.0/21 2383 | 123.0.128.0/18 2384 | 123.4.0.0/14 2385 | 123.8.0.0/13 2386 | 123.49.128.0/17 2387 | 123.50.160.0/19 2388 | 123.52.0.0/14 2389 | 123.56.0.0/15 2390 | 123.58.0.0/16 2391 | 123.59.0.0/16 2392 | 123.60.0.0/16 2393 | 123.61.0.0/16 2394 | 123.62.0.0/16 2395 | 123.64.0.0/11 2396 | 123.96.0.0/15 2397 | 123.98.0.0/17 2398 | 123.99.128.0/17 2399 | 123.100.0.0/19 2400 | 123.101.0.0/16 2401 | 123.103.0.0/17 2402 | 123.108.128.0/20 2403 | 123.108.208.0/20 2404 | 123.112.0.0/12 2405 | 123.128.0.0/13 2406 | 123.136.80.0/20 2407 | 123.137.0.0/16 2408 | 123.138.0.0/15 2409 | 123.144.0.0/14 2410 | 123.148.0.0/16 2411 | 123.149.0.0/16 2412 | 123.150.0.0/15 2413 | 123.152.0.0/13 2414 | 123.160.0.0/14 2415 | 123.164.0.0/14 2416 | 123.168.0.0/14 2417 | 123.172.0.0/15 2418 | 123.174.0.0/15 2419 | 123.176.60.0/22 2420 | 123.176.80.0/20 2421 | 123.177.0.0/16 2422 | 123.178.0.0/15 2423 | 123.180.0.0/14 2424 | 123.184.0.0/14 2425 | 123.188.0.0/14 2426 | 123.196.0.0/15 2427 | 123.199.128.0/17 2428 | 123.206.0.0/15 2429 | 123.232.0.0/14 2430 | 123.242.0.0/17 2431 | 123.244.0.0/14 2432 | 123.249.0.0/16 2433 | 123.253.0.0/16 2434 | 124.6.64.0/18 2435 | 124.14.0.0/15 2436 | 124.16.0.0/15 2437 | 124.20.0.0/16 2438 | 124.21.0.0/20 2439 | 124.21.16.0/20 2440 | 124.21.32.0/19 2441 | 124.21.64.0/18 2442 | 124.21.128.0/17 2443 | 124.22.0.0/15 2444 | 124.28.192.0/18 2445 | 124.29.0.0/17 2446 | 124.31.0.0/16 2447 | 124.40.112.0/20 2448 | 124.40.128.0/18 2449 | 124.40.192.0/19 2450 | 124.42.0.0/17 2451 | 124.42.128.0/17 2452 | 124.47.0.0/18 2453 | 124.64.0.0/15 2454 | 124.66.0.0/17 2455 | 124.67.0.0/16 2456 | 124.68.0.0/14 2457 | 124.72.0.0/16 2458 | 124.73.0.0/16 2459 | 124.74.0.0/15 2460 | 124.76.0.0/14 2461 | 124.88.0.0/16 2462 | 124.89.0.0/17 2463 | 124.89.128.0/17 2464 | 124.90.0.0/15 2465 | 124.92.0.0/14 2466 | 124.108.8.0/21 2467 | 124.108.40.0/21 2468 | 124.109.96.0/21 2469 | 124.112.0.0/15 2470 | 124.114.0.0/15 2471 | 124.116.0.0/16 2472 | 124.117.0.0/16 2473 | 124.118.0.0/15 2474 | 124.126.0.0/15 2475 | 124.128.0.0/13 2476 | 124.147.128.0/17 2477 | 124.151.0.0/16 2478 | 124.152.0.0/16 2479 | 124.156.0.0/16 2480 | 124.160.0.0/16 2481 | 124.161.0.0/16 2482 | 124.162.0.0/16 2483 | 124.163.0.0/16 2484 | 124.164.0.0/14 2485 | 124.172.0.0/15 2486 | 124.174.0.0/15 2487 | 124.192.0.0/15 2488 | 124.196.0.0/16 2489 | 124.200.0.0/13 2490 | 124.220.0.0/14 2491 | 124.224.0.0/16 2492 | 124.225.0.0/16 2493 | 124.226.0.0/15 2494 | 124.228.0.0/14 2495 | 124.232.0.0/15 2496 | 124.234.0.0/15 2497 | 124.236.0.0/14 2498 | 124.240.0.0/17 2499 | 124.240.128.0/18 2500 | 124.242.0.0/16 2501 | 124.243.192.0/18 2502 | 124.248.0.0/17 2503 | 124.249.0.0/16 2504 | 124.250.0.0/15 2505 | 124.254.0.0/18 2506 | 125.31.192.0/18 2507 | 125.32.0.0/16 2508 | 125.33.0.0/16 2509 | 125.34.0.0/16 2510 | 125.35.0.0/17 2511 | 125.35.128.0/17 2512 | 125.36.0.0/14 2513 | 125.40.0.0/13 2514 | 125.58.128.0/17 2515 | 125.61.128.0/17 2516 | 125.62.0.0/18 2517 | 125.64.0.0/13 2518 | 125.72.0.0/16 2519 | 125.73.0.0/16 2520 | 125.74.0.0/15 2521 | 125.76.0.0/17 2522 | 125.76.128.0/17 2523 | 125.77.0.0/16 2524 | 125.78.0.0/15 2525 | 125.80.0.0/13 2526 | 125.88.0.0/13 2527 | 125.96.0.0/15 2528 | 125.98.0.0/16 2529 | 125.104.0.0/13 2530 | 125.112.0.0/12 2531 | 125.169.0.0/16 2532 | 125.171.0.0/16 2533 | 125.208.0.0/18 2534 | 125.210.0.0/16 2535 | 125.211.0.0/16 2536 | 125.213.0.0/17 2537 | 125.214.96.0/19 2538 | 125.215.0.0/18 2539 | 125.216.0.0/15 2540 | 125.218.0.0/16 2541 | 125.219.0.0/16 2542 | 125.220.0.0/15 2543 | 125.222.0.0/15 2544 | 125.254.128.0/18 2545 | 125.254.192.0/18 2546 | 134.196.0.0/16 2547 | 139.9.0.0/16 2548 | 139.129.0.0/16 2549 | 139.148.0.0/16 2550 | 139.155.0.0/16 2551 | 139.159.0.0/16 2552 | 139.170.0.0/16 2553 | 139.176.0.0/16 2554 | 139.183.0.0/16 2555 | 139.186.0.0/16 2556 | 139.189.0.0/16 2557 | 139.196.0.0/14 2558 | 139.200.0.0/13 2559 | 139.208.0.0/13 2560 | 139.217.0.0/16 2561 | 139.219.0.0/16 2562 | 139.220.0.0/15 2563 | 139.224.0.0/16 2564 | 139.226.0.0/15 2565 | 140.75.0.0/16 2566 | 140.143.0.0/16 2567 | 140.205.0.0/16 2568 | 140.206.0.0/15 2569 | 140.210.0.0/16 2570 | 140.224.0.0/16 2571 | 140.237.0.0/16 2572 | 140.240.0.0/16 2573 | 140.243.0.0/16 2574 | 140.246.0.0/16 2575 | 140.249.0.0/16 2576 | 140.250.0.0/16 2577 | 140.255.0.0/16 2578 | 144.0.0.0/16 2579 | 144.7.0.0/16 2580 | 144.12.0.0/16 2581 | 144.52.0.0/16 2582 | 144.123.0.0/16 2583 | 144.255.0.0/16 2584 | 150.0.0.0/16 2585 | 150.115.0.0/16 2586 | 150.121.0.0/16 2587 | 150.122.0.0/16 2588 | 150.129.152.0/22 2589 | 150.129.192.0/22 2590 | 150.129.216.0/22 2591 | 150.129.252.0/22 2592 | 150.138.0.0/15 2593 | 150.223.0.0/16 2594 | 150.242.0.0/22 2595 | 150.242.4.0/22 2596 | 150.242.8.0/22 2597 | 150.242.28.0/22 2598 | 150.242.44.0/22 2599 | 150.242.48.0/22 2600 | 150.242.52.0/22 2601 | 150.242.56.0/22 2602 | 150.242.76.0/22 2603 | 150.242.80.0/22 2604 | 150.242.92.0/22 2605 | 150.242.96.0/22 2606 | 150.242.112.0/22 2607 | 150.242.116.0/22 2608 | 150.242.120.0/22 2609 | 150.242.152.0/22 2610 | 150.242.156.0/22 2611 | 150.242.160.0/22 2612 | 150.242.164.0/22 2613 | 150.242.168.0/22 2614 | 150.242.184.0/22 2615 | 150.242.188.0/22 2616 | 150.242.192.0/22 2617 | 150.242.212.0/22 2618 | 150.242.224.0/22 2619 | 150.242.232.0/22 2620 | 150.242.236.0/22 2621 | 150.242.240.0/22 2622 | 150.242.244.0/22 2623 | 150.242.248.0/22 2624 | 150.255.0.0/16 2625 | 152.104.128.0/17 2626 | 153.0.0.0/16 2627 | 153.3.0.0/16 2628 | 153.34.0.0/15 2629 | 153.36.0.0/15 2630 | 153.99.0.0/16 2631 | 153.101.0.0/16 2632 | 153.118.0.0/15 2633 | 157.0.0.0/16 2634 | 157.18.0.0/16 2635 | 157.61.0.0/16 2636 | 157.122.0.0/16 2637 | 157.148.0.0/16 2638 | 157.156.0.0/16 2639 | 157.255.0.0/16 2640 | 159.226.0.0/16 2641 | 161.207.0.0/16 2642 | 162.105.0.0/16 2643 | 163.0.0.0/16 2644 | 163.47.4.0/22 2645 | 163.53.0.0/22 2646 | 163.53.4.0/22 2647 | 163.53.8.0/22 2648 | 163.53.12.0/22 2649 | 163.53.36.0/22 2650 | 163.53.40.0/22 2651 | 163.53.44.0/22 2652 | 163.53.48.0/22 2653 | 163.53.52.0/22 2654 | 163.53.56.0/22 2655 | 163.53.60.0/22 2656 | 163.53.64.0/22 2657 | 163.53.88.0/22 2658 | 163.53.92.0/22 2659 | 163.53.96.0/22 2660 | 163.53.100.0/22 2661 | 163.53.104.0/22 2662 | 163.53.108.0/22 2663 | 163.53.112.0/22 2664 | 163.53.116.0/22 2665 | 163.53.120.0/22 2666 | 163.53.124.0/22 2667 | 163.53.128.0/22 2668 | 163.53.132.0/22 2669 | 163.53.136.0/22 2670 | 163.53.160.0/22 2671 | 163.53.164.0/22 2672 | 163.53.168.0/22 2673 | 163.53.172.0/22 2674 | 163.53.188.0/22 2675 | 163.53.220.0/22 2676 | 163.53.240.0/22 2677 | 163.125.0.0/16 2678 | 163.142.0.0/16 2679 | 163.177.0.0/16 2680 | 163.179.0.0/16 2681 | 163.204.0.0/16 2682 | 166.111.0.0/16 2683 | 167.139.0.0/16 2684 | 167.189.0.0/16 2685 | 168.160.0.0/16 2686 | 171.8.0.0/13 2687 | 171.34.0.0/15 2688 | 171.36.0.0/14 2689 | 171.40.0.0/13 2690 | 171.80.0.0/14 2691 | 171.84.0.0/14 2692 | 171.88.0.0/13 2693 | 171.104.0.0/13 2694 | 171.112.0.0/14 2695 | 171.116.0.0/14 2696 | 171.120.0.0/13 2697 | 171.208.0.0/12 2698 | 175.0.0.0/12 2699 | 175.16.0.0/13 2700 | 175.24.0.0/14 2701 | 175.30.0.0/15 2702 | 175.42.0.0/15 2703 | 175.44.0.0/16 2704 | 175.46.0.0/15 2705 | 175.48.0.0/12 2706 | 175.64.0.0/11 2707 | 175.102.0.0/16 2708 | 175.106.128.0/17 2709 | 175.146.0.0/15 2710 | 175.148.0.0/14 2711 | 175.152.0.0/14 2712 | 175.160.0.0/12 2713 | 175.178.0.0/16 2714 | 175.184.128.0/18 2715 | 175.185.0.0/16 2716 | 175.186.0.0/15 2717 | 175.188.0.0/14 2718 | 180.76.0.0/16 2719 | 180.77.0.0/16 2720 | 180.78.0.0/15 2721 | 180.84.0.0/15 2722 | 180.86.0.0/16 2723 | 180.88.0.0/14 2724 | 180.94.56.0/21 2725 | 180.94.96.0/20 2726 | 180.95.128.0/17 2727 | 180.96.0.0/11 2728 | 180.129.128.0/17 2729 | 180.130.0.0/16 2730 | 180.136.0.0/13 2731 | 180.148.16.0/21 2732 | 180.148.152.0/21 2733 | 180.148.216.0/21 2734 | 180.148.224.0/19 2735 | 180.149.128.0/19 2736 | 180.150.160.0/19 2737 | 180.152.0.0/13 2738 | 180.160.0.0/12 2739 | 180.178.192.0/18 2740 | 180.184.0.0/14 2741 | 180.188.0.0/17 2742 | 180.189.148.0/22 2743 | 180.200.252.0/22 2744 | 180.201.0.0/16 2745 | 180.202.0.0/15 2746 | 180.208.0.0/15 2747 | 180.210.224.0/19 2748 | 180.212.0.0/15 2749 | 180.222.224.0/19 2750 | 180.223.0.0/16 2751 | 180.233.0.0/18 2752 | 180.233.64.0/19 2753 | 180.235.64.0/19 2754 | 182.16.192.0/19 2755 | 182.18.0.0/17 2756 | 182.23.184.0/21 2757 | 182.23.200.0/21 2758 | 182.32.0.0/12 2759 | 182.48.96.0/19 2760 | 182.49.0.0/16 2761 | 182.50.0.0/20 2762 | 182.50.112.0/20 2763 | 182.51.0.0/16 2764 | 182.54.0.0/17 2765 | 182.61.0.0/16 2766 | 182.80.0.0/14 2767 | 182.84.0.0/14 2768 | 182.88.0.0/14 2769 | 182.92.0.0/16 2770 | 182.96.0.0/12 2771 | 182.112.0.0/12 2772 | 182.128.0.0/12 2773 | 182.144.0.0/13 2774 | 182.157.0.0/16 2775 | 182.160.64.0/19 2776 | 182.174.0.0/15 2777 | 182.200.0.0/13 2778 | 182.236.128.0/17 2779 | 182.238.0.0/16 2780 | 182.239.0.0/19 2781 | 182.240.0.0/13 2782 | 182.254.0.0/16 2783 | 183.0.0.0/10 2784 | 183.64.0.0/13 2785 | 183.78.180.0/22 2786 | 183.81.180.0/22 2787 | 183.84.0.0/15 2788 | 183.91.128.0/22 2789 | 183.91.136.0/21 2790 | 183.91.144.0/20 2791 | 183.92.0.0/14 2792 | 183.128.0.0/11 2793 | 183.160.0.0/13 2794 | 183.168.0.0/15 2795 | 183.170.0.0/16 2796 | 183.172.0.0/14 2797 | 183.182.0.0/19 2798 | 183.184.0.0/13 2799 | 183.192.0.0/10 2800 | 192.124.154.0/24 2801 | 192.188.170.0/24 2802 | 202.0.100.0/23 2803 | 202.0.122.0/23 2804 | 202.0.176.0/22 2805 | 202.3.128.0/23 2806 | 202.4.128.0/19 2807 | 202.4.252.0/22 2808 | 202.6.6.0/23 2809 | 202.6.66.0/23 2810 | 202.6.72.0/23 2811 | 202.6.87.0/24 2812 | 202.6.88.0/23 2813 | 202.6.92.0/23 2814 | 202.6.103.0/24 2815 | 202.6.108.0/24 2816 | 202.6.110.0/23 2817 | 202.6.114.0/24 2818 | 202.6.176.0/20 2819 | 202.8.0.0/24 2820 | 202.8.2.0/23 2821 | 202.8.4.0/23 2822 | 202.8.12.0/24 2823 | 202.8.24.0/24 2824 | 202.8.77.0/24 2825 | 202.8.128.0/19 2826 | 202.8.192.0/20 2827 | 202.9.32.0/24 2828 | 202.9.34.0/23 2829 | 202.9.48.0/23 2830 | 202.9.51.0/24 2831 | 202.9.52.0/23 2832 | 202.9.54.0/24 2833 | 202.9.57.0/24 2834 | 202.9.58.0/23 2835 | 202.10.64.0/20 2836 | 202.12.1.0/24 2837 | 202.12.2.0/24 2838 | 202.12.17.0/24 2839 | 202.12.18.0/24 2840 | 202.12.19.0/24 2841 | 202.12.72.0/24 2842 | 202.12.84.0/23 2843 | 202.12.96.0/24 2844 | 202.12.98.0/23 2845 | 202.12.106.0/24 2846 | 202.12.111.0/24 2847 | 202.12.116.0/24 2848 | 202.14.64.0/23 2849 | 202.14.69.0/24 2850 | 202.14.73.0/24 2851 | 202.14.74.0/23 2852 | 202.14.76.0/24 2853 | 202.14.78.0/23 2854 | 202.14.88.0/24 2855 | 202.14.97.0/24 2856 | 202.14.104.0/23 2857 | 202.14.108.0/23 2858 | 202.14.111.0/24 2859 | 202.14.114.0/23 2860 | 202.14.118.0/23 2861 | 202.14.124.0/23 2862 | 202.14.127.0/24 2863 | 202.14.129.0/24 2864 | 202.14.135.0/24 2865 | 202.14.136.0/24 2866 | 202.14.149.0/24 2867 | 202.14.151.0/24 2868 | 202.14.157.0/24 2869 | 202.14.158.0/23 2870 | 202.14.169.0/24 2871 | 202.14.170.0/23 2872 | 202.14.176.0/24 2873 | 202.14.184.0/23 2874 | 202.14.208.0/23 2875 | 202.14.213.0/24 2876 | 202.14.219.0/24 2877 | 202.14.220.0/24 2878 | 202.14.222.0/23 2879 | 202.14.225.0/24 2880 | 202.14.226.0/23 2881 | 202.14.231.0/24 2882 | 202.14.235.0/24 2883 | 202.14.236.0/23 2884 | 202.14.238.0/24 2885 | 202.14.239.0/24 2886 | 202.14.246.0/24 2887 | 202.14.251.0/24 2888 | 202.20.66.0/24 2889 | 202.20.79.0/24 2890 | 202.20.87.0/24 2891 | 202.20.88.0/23 2892 | 202.20.90.0/24 2893 | 202.20.94.0/23 2894 | 202.20.114.0/24 2895 | 202.20.117.0/24 2896 | 202.20.120.0/24 2897 | 202.20.125.0/24 2898 | 202.20.127.0/24 2899 | 202.21.131.0/24 2900 | 202.21.132.0/24 2901 | 202.21.141.0/24 2902 | 202.21.142.0/24 2903 | 202.21.147.0/24 2904 | 202.21.148.0/24 2905 | 202.21.150.0/23 2906 | 202.21.152.0/23 2907 | 202.21.154.0/24 2908 | 202.21.156.0/24 2909 | 202.22.248.0/22 2910 | 202.22.252.0/22 2911 | 202.27.136.0/23 2912 | 202.38.0.0/23 2913 | 202.38.2.0/23 2914 | 202.38.8.0/21 2915 | 202.38.48.0/20 2916 | 202.38.64.0/19 2917 | 202.38.96.0/19 2918 | 202.38.128.0/23 2919 | 202.38.130.0/23 2920 | 202.38.132.0/23 2921 | 202.38.134.0/24 2922 | 202.38.135.0/24 2923 | 202.38.136.0/23 2924 | 202.38.138.0/24 2925 | 202.38.140.0/23 2926 | 202.38.142.0/23 2927 | 202.38.146.0/23 2928 | 202.38.149.0/24 2929 | 202.38.150.0/23 2930 | 202.38.152.0/23 2931 | 202.38.154.0/23 2932 | 202.38.156.0/24 2933 | 202.38.158.0/23 2934 | 202.38.160.0/23 2935 | 202.38.164.0/22 2936 | 202.38.168.0/23 2937 | 202.38.170.0/24 2938 | 202.38.171.0/24 2939 | 202.38.176.0/23 2940 | 202.38.184.0/21 2941 | 202.38.192.0/18 2942 | 202.40.4.0/23 2943 | 202.40.7.0/24 2944 | 202.40.15.0/24 2945 | 202.40.135.0/24 2946 | 202.40.136.0/24 2947 | 202.40.140.0/24 2948 | 202.40.143.0/24 2949 | 202.40.144.0/23 2950 | 202.40.150.0/24 2951 | 202.40.155.0/24 2952 | 202.40.156.0/24 2953 | 202.40.158.0/23 2954 | 202.40.162.0/24 2955 | 202.41.8.0/23 2956 | 202.41.11.0/24 2957 | 202.41.12.0/23 2958 | 202.41.128.0/24 2959 | 202.41.130.0/23 2960 | 202.41.152.0/21 2961 | 202.41.192.0/24 2962 | 202.41.240.0/20 2963 | 202.43.76.0/22 2964 | 202.43.144.0/20 2965 | 202.44.16.0/20 2966 | 202.44.67.0/24 2967 | 202.44.74.0/24 2968 | 202.44.129.0/24 2969 | 202.44.132.0/23 2970 | 202.44.146.0/23 2971 | 202.45.0.0/23 2972 | 202.45.2.0/24 2973 | 202.45.15.0/24 2974 | 202.45.16.0/20 2975 | 202.46.16.0/23 2976 | 202.46.18.0/24 2977 | 202.46.20.0/23 2978 | 202.46.32.0/19 2979 | 202.46.128.0/24 2980 | 202.46.224.0/20 2981 | 202.47.82.0/23 2982 | 202.47.126.0/24 2983 | 202.47.128.0/24 2984 | 202.47.130.0/23 2985 | 202.57.240.0/20 2986 | 202.58.0.0/24 2987 | 202.59.0.0/24 2988 | 202.59.212.0/22 2989 | 202.59.232.0/23 2990 | 202.59.236.0/24 2991 | 202.60.48.0/21 2992 | 202.60.96.0/21 2993 | 202.60.112.0/20 2994 | 202.60.132.0/22 2995 | 202.60.136.0/21 2996 | 202.60.144.0/20 2997 | 202.62.112.0/22 2998 | 202.62.248.0/22 2999 | 202.62.252.0/24 3000 | 202.62.255.0/24 3001 | 202.63.81.0/24 3002 | 202.63.82.0/23 3003 | 202.63.84.0/22 3004 | 202.63.88.0/21 3005 | 202.63.160.0/19 3006 | 202.63.248.0/22 3007 | 202.65.0.0/21 3008 | 202.65.8.0/23 3009 | 202.67.0.0/22 3010 | 202.69.4.0/22 3011 | 202.69.16.0/20 3012 | 202.70.0.0/19 3013 | 202.70.96.0/20 3014 | 202.70.192.0/20 3015 | 202.72.40.0/21 3016 | 202.72.80.0/20 3017 | 202.73.128.0/22 3018 | 202.74.8.0/21 3019 | 202.74.80.0/20 3020 | 202.74.254.0/23 3021 | 202.75.208.0/20 3022 | 202.75.252.0/22 3023 | 202.76.252.0/22 3024 | 202.77.80.0/21 3025 | 202.77.92.0/22 3026 | 202.78.8.0/21 3027 | 202.79.224.0/21 3028 | 202.79.248.0/22 3029 | 202.80.192.0/21 3030 | 202.80.200.0/21 3031 | 202.81.0.0/22 3032 | 202.83.252.0/22 3033 | 202.84.0.0/22 3034 | 202.84.4.0/22 3035 | 202.84.8.0/21 3036 | 202.84.16.0/23 3037 | 202.84.24.0/21 3038 | 202.85.208.0/20 3039 | 202.86.249.0/24 3040 | 202.86.252.0/22 3041 | 202.87.80.0/20 3042 | 202.89.8.0/21 3043 | 202.90.0.0/22 3044 | 202.90.112.0/20 3045 | 202.90.196.0/24 3046 | 202.90.224.0/20 3047 | 202.91.0.0/22 3048 | 202.91.96.0/20 3049 | 202.91.128.0/22 3050 | 202.91.176.0/20 3051 | 202.91.224.0/19 3052 | 202.92.0.0/22 3053 | 202.92.8.0/21 3054 | 202.92.48.0/20 3055 | 202.92.252.0/22 3056 | 202.93.0.0/22 3057 | 202.93.252.0/22 3058 | 202.94.92.0/22 3059 | 202.95.0.0/22 3060 | 202.95.4.0/22 3061 | 202.95.8.0/21 3062 | 202.95.16.0/20 3063 | 202.95.240.0/21 3064 | 202.95.252.0/22 3065 | 202.96.0.0/18 3066 | 202.96.64.0/21 3067 | 202.96.72.0/21 3068 | 202.96.80.0/20 3069 | 202.96.96.0/21 3070 | 202.96.104.0/21 3071 | 202.96.112.0/20 3072 | 202.96.128.0/21 3073 | 202.96.136.0/21 3074 | 202.96.144.0/20 3075 | 202.96.160.0/21 3076 | 202.96.168.0/21 3077 | 202.96.176.0/20 3078 | 202.96.192.0/21 3079 | 202.96.200.0/21 3080 | 202.96.208.0/20 3081 | 202.96.224.0/21 3082 | 202.96.232.0/21 3083 | 202.96.240.0/20 3084 | 202.97.0.0/21 3085 | 202.97.8.0/21 3086 | 202.97.16.0/20 3087 | 202.97.32.0/19 3088 | 202.97.64.0/19 3089 | 202.97.96.0/20 3090 | 202.97.112.0/20 3091 | 202.97.128.0/18 3092 | 202.97.192.0/19 3093 | 202.97.224.0/21 3094 | 202.97.232.0/21 3095 | 202.97.240.0/20 3096 | 202.98.0.0/21 3097 | 202.98.8.0/21 3098 | 202.98.16.0/20 3099 | 202.98.32.0/21 3100 | 202.98.40.0/21 3101 | 202.98.48.0/20 3102 | 202.98.64.0/19 3103 | 202.98.96.0/21 3104 | 202.98.104.0/21 3105 | 202.98.112.0/20 3106 | 202.98.128.0/19 3107 | 202.98.160.0/21 3108 | 202.98.168.0/21 3109 | 202.98.176.0/20 3110 | 202.98.192.0/21 3111 | 202.98.200.0/21 3112 | 202.98.208.0/20 3113 | 202.98.224.0/21 3114 | 202.98.232.0/21 3115 | 202.98.240.0/20 3116 | 202.99.0.0/18 3117 | 202.99.64.0/19 3118 | 202.99.96.0/21 3119 | 202.99.104.0/21 3120 | 202.99.112.0/20 3121 | 202.99.128.0/19 3122 | 202.99.160.0/21 3123 | 202.99.168.0/21 3124 | 202.99.176.0/20 3125 | 202.99.192.0/21 3126 | 202.99.200.0/21 3127 | 202.99.208.0/20 3128 | 202.99.224.0/21 3129 | 202.99.232.0/21 3130 | 202.99.240.0/20 3131 | 202.100.0.0/21 3132 | 202.100.8.0/21 3133 | 202.100.16.0/20 3134 | 202.100.32.0/19 3135 | 202.100.64.0/21 3136 | 202.100.72.0/21 3137 | 202.100.80.0/20 3138 | 202.100.96.0/21 3139 | 202.100.104.0/21 3140 | 202.100.112.0/20 3141 | 202.100.128.0/21 3142 | 202.100.136.0/21 3143 | 202.100.144.0/20 3144 | 202.100.160.0/21 3145 | 202.100.168.0/21 3146 | 202.100.176.0/20 3147 | 202.100.192.0/21 3148 | 202.100.200.0/21 3149 | 202.100.208.0/20 3150 | 202.100.224.0/19 3151 | 202.101.0.0/18 3152 | 202.101.64.0/19 3153 | 202.101.96.0/19 3154 | 202.101.128.0/18 3155 | 202.101.192.0/19 3156 | 202.101.224.0/21 3157 | 202.101.232.0/21 3158 | 202.101.240.0/20 3159 | 202.102.0.0/19 3160 | 202.102.32.0/19 3161 | 202.102.64.0/18 3162 | 202.102.128.0/21 3163 | 202.102.136.0/21 3164 | 202.102.144.0/20 3165 | 202.102.160.0/19 3166 | 202.102.192.0/21 3167 | 202.102.200.0/21 3168 | 202.102.208.0/20 3169 | 202.102.224.0/21 3170 | 202.102.232.0/21 3171 | 202.102.240.0/20 3172 | 202.103.0.0/21 3173 | 202.103.8.0/21 3174 | 202.103.16.0/20 3175 | 202.103.32.0/19 3176 | 202.103.64.0/19 3177 | 202.103.96.0/21 3178 | 202.103.104.0/21 3179 | 202.103.112.0/20 3180 | 202.103.128.0/18 3181 | 202.103.192.0/19 3182 | 202.103.224.0/21 3183 | 202.103.232.0/21 3184 | 202.103.240.0/20 3185 | 202.104.0.0/15 3186 | 202.106.0.0/16 3187 | 202.107.0.0/17 3188 | 202.107.128.0/17 3189 | 202.108.0.0/16 3190 | 202.109.0.0/16 3191 | 202.110.0.0/18 3192 | 202.110.64.0/18 3193 | 202.110.128.0/18 3194 | 202.110.192.0/18 3195 | 202.111.0.0/17 3196 | 202.111.128.0/19 3197 | 202.111.160.0/19 3198 | 202.111.192.0/18 3199 | 202.112.0.0/16 3200 | 202.113.0.0/20 3201 | 202.113.16.0/20 3202 | 202.113.32.0/19 3203 | 202.113.64.0/18 3204 | 202.113.128.0/18 3205 | 202.113.192.0/19 3206 | 202.113.224.0/20 3207 | 202.113.240.0/20 3208 | 202.114.0.0/19 3209 | 202.114.32.0/19 3210 | 202.114.64.0/18 3211 | 202.114.128.0/17 3212 | 202.115.0.0/19 3213 | 202.115.32.0/19 3214 | 202.115.64.0/18 3215 | 202.115.128.0/17 3216 | 202.116.0.0/19 3217 | 202.116.32.0/20 3218 | 202.116.48.0/20 3219 | 202.116.64.0/19 3220 | 202.116.96.0/19 3221 | 202.116.128.0/17 3222 | 202.117.0.0/18 3223 | 202.117.64.0/18 3224 | 202.117.128.0/17 3225 | 202.118.0.0/19 3226 | 202.118.32.0/19 3227 | 202.118.64.0/18 3228 | 202.118.128.0/17 3229 | 202.119.0.0/19 3230 | 202.119.32.0/19 3231 | 202.119.64.0/20 3232 | 202.119.80.0/20 3233 | 202.119.96.0/19 3234 | 202.119.128.0/17 3235 | 202.120.0.0/18 3236 | 202.120.64.0/18 3237 | 202.120.128.0/17 3238 | 202.121.0.0/16 3239 | 202.122.0.0/21 3240 | 202.122.32.0/21 3241 | 202.122.64.0/19 3242 | 202.122.112.0/21 3243 | 202.122.120.0/21 3244 | 202.122.128.0/24 3245 | 202.122.132.0/24 3246 | 202.123.96.0/20 3247 | 202.124.16.0/21 3248 | 202.124.24.0/22 3249 | 202.125.112.0/20 3250 | 202.125.176.0/20 3251 | 202.127.0.0/23 3252 | 202.127.2.0/24 3253 | 202.127.3.0/24 3254 | 202.127.4.0/24 3255 | 202.127.5.0/24 3256 | 202.127.6.0/23 3257 | 202.127.12.0/22 3258 | 202.127.16.0/20 3259 | 202.127.40.0/21 3260 | 202.127.48.0/20 3261 | 202.127.112.0/20 3262 | 202.127.128.0/20 3263 | 202.127.144.0/20 3264 | 202.127.160.0/21 3265 | 202.127.192.0/23 3266 | 202.127.194.0/23 3267 | 202.127.196.0/22 3268 | 202.127.200.0/21 3269 | 202.127.208.0/24 3270 | 202.127.209.0/24 3271 | 202.127.212.0/22 3272 | 202.127.216.0/21 3273 | 202.127.224.0/19 3274 | 202.130.0.0/19 3275 | 202.130.224.0/19 3276 | 202.131.16.0/21 3277 | 202.131.48.0/20 3278 | 202.131.208.0/20 3279 | 202.133.32.0/20 3280 | 202.134.58.0/24 3281 | 202.134.128.0/20 3282 | 202.136.48.0/20 3283 | 202.136.208.0/20 3284 | 202.136.224.0/20 3285 | 202.137.231.0/24 3286 | 202.141.160.0/19 3287 | 202.142.16.0/20 3288 | 202.143.4.0/22 3289 | 202.143.16.0/20 3290 | 202.143.32.0/20 3291 | 202.143.56.0/21 3292 | 202.146.160.0/20 3293 | 202.146.188.0/22 3294 | 202.146.196.0/22 3295 | 202.146.200.0/21 3296 | 202.147.144.0/20 3297 | 202.148.32.0/20 3298 | 202.148.64.0/19 3299 | 202.148.96.0/19 3300 | 202.149.32.0/19 3301 | 202.149.160.0/19 3302 | 202.149.224.0/19 3303 | 202.150.16.0/20 3304 | 202.150.32.0/20 3305 | 202.150.56.0/22 3306 | 202.150.192.0/20 3307 | 202.150.224.0/19 3308 | 202.151.0.0/22 3309 | 202.151.128.0/19 3310 | 202.152.176.0/20 3311 | 202.153.0.0/22 3312 | 202.153.48.0/20 3313 | 202.157.192.0/19 3314 | 202.158.160.0/19 3315 | 202.160.176.0/20 3316 | 202.162.67.0/24 3317 | 202.162.75.0/24 3318 | 202.164.0.0/20 3319 | 202.164.96.0/19 3320 | 202.165.96.0/20 3321 | 202.165.176.0/20 3322 | 202.165.208.0/20 3323 | 202.165.239.0/24 3324 | 202.165.240.0/23 3325 | 202.165.243.0/24 3326 | 202.165.245.0/24 3327 | 202.165.251.0/24 3328 | 202.165.252.0/22 3329 | 202.166.224.0/19 3330 | 202.168.160.0/20 3331 | 202.168.176.0/20 3332 | 202.170.128.0/19 3333 | 202.170.216.0/21 3334 | 202.170.224.0/19 3335 | 202.171.216.0/21 3336 | 202.171.235.0/24 3337 | 202.172.0.0/22 3338 | 202.173.0.0/22 3339 | 202.173.8.0/21 3340 | 202.173.224.0/19 3341 | 202.174.64.0/20 3342 | 202.176.224.0/19 3343 | 202.179.240.0/20 3344 | 202.180.128.0/19 3345 | 202.180.208.0/21 3346 | 202.181.112.0/20 3347 | 202.182.32.0/20 3348 | 202.182.192.0/19 3349 | 202.189.0.0/18 3350 | 202.189.80.0/20 3351 | 202.189.184.0/21 3352 | 202.191.0.0/24 3353 | 202.191.68.0/22 3354 | 202.191.72.0/21 3355 | 202.191.80.0/20 3356 | 202.192.0.0/13 3357 | 202.200.0.0/14 3358 | 202.204.0.0/14 3359 | 203.0.4.0/22 3360 | 203.0.10.0/23 3361 | 203.0.18.0/24 3362 | 203.0.24.0/24 3363 | 203.0.42.0/23 3364 | 203.0.45.0/24 3365 | 203.0.46.0/23 3366 | 203.0.81.0/24 3367 | 203.0.82.0/23 3368 | 203.0.90.0/23 3369 | 203.0.96.0/23 3370 | 203.0.104.0/21 3371 | 203.0.114.0/23 3372 | 203.0.122.0/24 3373 | 203.0.128.0/24 3374 | 203.0.130.0/23 3375 | 203.0.132.0/22 3376 | 203.0.137.0/24 3377 | 203.0.142.0/24 3378 | 203.0.144.0/24 3379 | 203.0.146.0/24 3380 | 203.0.148.0/24 3381 | 203.0.150.0/23 3382 | 203.0.152.0/24 3383 | 203.0.177.0/24 3384 | 203.0.224.0/24 3385 | 203.1.4.0/22 3386 | 203.1.18.0/24 3387 | 203.1.26.0/23 3388 | 203.1.65.0/24 3389 | 203.1.66.0/23 3390 | 203.1.70.0/23 3391 | 203.1.76.0/23 3392 | 203.1.90.0/24 3393 | 203.1.97.0/24 3394 | 203.1.98.0/23 3395 | 203.1.100.0/22 3396 | 203.1.108.0/24 3397 | 203.1.253.0/24 3398 | 203.1.254.0/24 3399 | 203.2.64.0/21 3400 | 203.2.73.0/24 3401 | 203.2.112.0/21 3402 | 203.2.126.0/23 3403 | 203.2.140.0/24 3404 | 203.2.150.0/24 3405 | 203.2.152.0/22 3406 | 203.2.156.0/23 3407 | 203.2.160.0/21 3408 | 203.2.180.0/23 3409 | 203.2.196.0/23 3410 | 203.2.209.0/24 3411 | 203.2.214.0/23 3412 | 203.2.226.0/23 3413 | 203.2.229.0/24 3414 | 203.2.236.0/23 3415 | 203.3.68.0/24 3416 | 203.3.72.0/23 3417 | 203.3.75.0/24 3418 | 203.3.80.0/21 3419 | 203.3.96.0/22 3420 | 203.3.105.0/24 3421 | 203.3.112.0/21 3422 | 203.3.120.0/24 3423 | 203.3.123.0/24 3424 | 203.3.135.0/24 3425 | 203.3.139.0/24 3426 | 203.3.143.0/24 3427 | 203.4.132.0/23 3428 | 203.4.134.0/24 3429 | 203.4.151.0/24 3430 | 203.4.152.0/22 3431 | 203.4.174.0/23 3432 | 203.4.180.0/24 3433 | 203.4.186.0/24 3434 | 203.4.205.0/24 3435 | 203.4.208.0/22 3436 | 203.4.227.0/24 3437 | 203.4.230.0/23 3438 | 203.5.4.0/23 3439 | 203.5.7.0/24 3440 | 203.5.8.0/23 3441 | 203.5.11.0/24 3442 | 203.5.21.0/24 3443 | 203.5.22.0/24 3444 | 203.5.44.0/24 3445 | 203.5.46.0/23 3446 | 203.5.52.0/22 3447 | 203.5.56.0/23 3448 | 203.5.60.0/23 3449 | 203.5.114.0/23 3450 | 203.5.118.0/24 3451 | 203.5.120.0/24 3452 | 203.5.172.0/24 3453 | 203.5.180.0/23 3454 | 203.5.182.0/24 3455 | 203.5.185.0/24 3456 | 203.5.186.0/24 3457 | 203.5.188.0/23 3458 | 203.5.190.0/24 3459 | 203.5.195.0/24 3460 | 203.5.214.0/23 3461 | 203.5.218.0/23 3462 | 203.6.131.0/24 3463 | 203.6.136.0/24 3464 | 203.6.138.0/23 3465 | 203.6.142.0/24 3466 | 203.6.150.0/23 3467 | 203.6.157.0/24 3468 | 203.6.159.0/24 3469 | 203.6.224.0/20 3470 | 203.6.248.0/23 3471 | 203.7.129.0/24 3472 | 203.7.138.0/23 3473 | 203.7.147.0/24 3474 | 203.7.150.0/23 3475 | 203.7.158.0/24 3476 | 203.7.192.0/23 3477 | 203.7.200.0/24 3478 | 203.8.0.0/24 3479 | 203.8.8.0/24 3480 | 203.8.23.0/24 3481 | 203.8.24.0/21 3482 | 203.8.70.0/24 3483 | 203.8.82.0/24 3484 | 203.8.86.0/23 3485 | 203.8.91.0/24 3486 | 203.8.110.0/23 3487 | 203.8.115.0/24 3488 | 203.8.166.0/23 3489 | 203.8.169.0/24 3490 | 203.8.173.0/24 3491 | 203.8.184.0/24 3492 | 203.8.186.0/23 3493 | 203.8.190.0/23 3494 | 203.8.192.0/24 3495 | 203.8.197.0/24 3496 | 203.8.198.0/23 3497 | 203.8.203.0/24 3498 | 203.8.209.0/24 3499 | 203.8.210.0/23 3500 | 203.8.212.0/22 3501 | 203.8.217.0/24 3502 | 203.8.220.0/24 3503 | 203.9.32.0/24 3504 | 203.9.36.0/23 3505 | 203.9.57.0/24 3506 | 203.9.63.0/24 3507 | 203.9.65.0/24 3508 | 203.9.70.0/23 3509 | 203.9.72.0/24 3510 | 203.9.75.0/24 3511 | 203.9.76.0/23 3512 | 203.9.96.0/22 3513 | 203.9.100.0/23 3514 | 203.9.108.0/24 3515 | 203.9.158.0/24 3516 | 203.10.34.0/24 3517 | 203.10.56.0/24 3518 | 203.10.74.0/23 3519 | 203.10.84.0/22 3520 | 203.10.88.0/24 3521 | 203.10.95.0/24 3522 | 203.10.125.0/24 3523 | 203.11.70.0/24 3524 | 203.11.76.0/22 3525 | 203.11.82.0/24 3526 | 203.11.84.0/22 3527 | 203.11.100.0/22 3528 | 203.11.109.0/24 3529 | 203.11.117.0/24 3530 | 203.11.122.0/24 3531 | 203.11.126.0/24 3532 | 203.11.136.0/22 3533 | 203.11.141.0/24 3534 | 203.11.142.0/23 3535 | 203.11.180.0/22 3536 | 203.11.208.0/22 3537 | 203.12.16.0/24 3538 | 203.12.19.0/24 3539 | 203.12.24.0/24 3540 | 203.12.57.0/24 3541 | 203.12.65.0/24 3542 | 203.12.66.0/24 3543 | 203.12.70.0/23 3544 | 203.12.87.0/24 3545 | 203.12.88.0/21 3546 | 203.12.100.0/23 3547 | 203.12.103.0/24 3548 | 203.12.114.0/24 3549 | 203.12.118.0/24 3550 | 203.12.130.0/24 3551 | 203.12.137.0/24 3552 | 203.12.196.0/22 3553 | 203.12.200.0/21 3554 | 203.12.211.0/24 3555 | 203.12.219.0/24 3556 | 203.12.226.0/24 3557 | 203.12.240.0/22 3558 | 203.13.18.0/24 3559 | 203.13.24.0/24 3560 | 203.13.44.0/23 3561 | 203.13.80.0/21 3562 | 203.13.88.0/23 3563 | 203.13.92.0/22 3564 | 203.13.173.0/24 3565 | 203.13.224.0/23 3566 | 203.13.227.0/24 3567 | 203.13.233.0/24 3568 | 203.14.24.0/22 3569 | 203.14.33.0/24 3570 | 203.14.56.0/24 3571 | 203.14.61.0/24 3572 | 203.14.62.0/24 3573 | 203.14.104.0/24 3574 | 203.14.114.0/23 3575 | 203.14.118.0/24 3576 | 203.14.162.0/24 3577 | 203.14.184.0/21 3578 | 203.14.192.0/24 3579 | 203.14.194.0/23 3580 | 203.14.214.0/24 3581 | 203.14.231.0/24 3582 | 203.14.246.0/24 3583 | 203.15.0.0/20 3584 | 203.15.20.0/23 3585 | 203.15.22.0/24 3586 | 203.15.87.0/24 3587 | 203.15.88.0/23 3588 | 203.15.105.0/24 3589 | 203.15.112.0/21 3590 | 203.15.130.0/23 3591 | 203.15.149.0/24 3592 | 203.15.151.0/24 3593 | 203.15.156.0/22 3594 | 203.15.174.0/24 3595 | 203.15.227.0/24 3596 | 203.15.232.0/21 3597 | 203.15.240.0/23 3598 | 203.15.246.0/24 3599 | 203.16.10.0/24 3600 | 203.16.12.0/23 3601 | 203.16.16.0/21 3602 | 203.16.27.0/24 3603 | 203.16.38.0/24 3604 | 203.16.49.0/24 3605 | 203.16.50.0/23 3606 | 203.16.58.0/24 3607 | 203.16.133.0/24 3608 | 203.16.161.0/24 3609 | 203.16.162.0/24 3610 | 203.16.186.0/23 3611 | 203.16.228.0/24 3612 | 203.16.238.0/24 3613 | 203.16.240.0/24 3614 | 203.16.245.0/24 3615 | 203.17.2.0/24 3616 | 203.17.18.0/24 3617 | 203.17.28.0/24 3618 | 203.17.39.0/24 3619 | 203.17.56.0/24 3620 | 203.17.74.0/23 3621 | 203.17.88.0/23 3622 | 203.17.136.0/24 3623 | 203.17.164.0/24 3624 | 203.17.187.0/24 3625 | 203.17.190.0/23 3626 | 203.17.231.0/24 3627 | 203.17.233.0/24 3628 | 203.17.248.0/24 3629 | 203.17.255.0/24 3630 | 203.18.2.0/23 3631 | 203.18.4.0/24 3632 | 203.18.7.0/24 3633 | 203.18.31.0/24 3634 | 203.18.37.0/24 3635 | 203.18.48.0/23 3636 | 203.18.50.0/24 3637 | 203.18.52.0/24 3638 | 203.18.72.0/22 3639 | 203.18.80.0/23 3640 | 203.18.87.0/24 3641 | 203.18.100.0/23 3642 | 203.18.105.0/24 3643 | 203.18.107.0/24 3644 | 203.18.110.0/24 3645 | 203.18.129.0/24 3646 | 203.18.131.0/24 3647 | 203.18.132.0/23 3648 | 203.18.144.0/24 3649 | 203.18.153.0/24 3650 | 203.18.199.0/24 3651 | 203.18.208.0/24 3652 | 203.18.211.0/24 3653 | 203.18.215.0/24 3654 | 203.19.18.0/24 3655 | 203.19.24.0/24 3656 | 203.19.30.0/24 3657 | 203.19.32.0/21 3658 | 203.19.41.0/24 3659 | 203.19.44.0/23 3660 | 203.19.46.0/24 3661 | 203.19.58.0/24 3662 | 203.19.60.0/23 3663 | 203.19.64.0/24 3664 | 203.19.68.0/24 3665 | 203.19.72.0/24 3666 | 203.19.101.0/24 3667 | 203.19.111.0/24 3668 | 203.19.131.0/24 3669 | 203.19.133.0/24 3670 | 203.19.144.0/24 3671 | 203.19.149.0/24 3672 | 203.19.156.0/24 3673 | 203.19.176.0/24 3674 | 203.19.178.0/23 3675 | 203.19.208.0/24 3676 | 203.19.228.0/22 3677 | 203.19.233.0/24 3678 | 203.19.242.0/24 3679 | 203.19.248.0/23 3680 | 203.19.255.0/24 3681 | 203.20.17.0/24 3682 | 203.20.40.0/23 3683 | 203.20.48.0/24 3684 | 203.20.61.0/24 3685 | 203.20.65.0/24 3686 | 203.20.84.0/23 3687 | 203.20.89.0/24 3688 | 203.20.106.0/23 3689 | 203.20.115.0/24 3690 | 203.20.117.0/24 3691 | 203.20.118.0/23 3692 | 203.20.122.0/24 3693 | 203.20.126.0/23 3694 | 203.20.135.0/24 3695 | 203.20.136.0/21 3696 | 203.20.150.0/24 3697 | 203.20.230.0/24 3698 | 203.20.232.0/24 3699 | 203.20.236.0/24 3700 | 203.21.0.0/23 3701 | 203.21.2.0/24 3702 | 203.21.8.0/24 3703 | 203.21.10.0/24 3704 | 203.21.18.0/24 3705 | 203.21.33.0/24 3706 | 203.21.34.0/24 3707 | 203.21.41.0/24 3708 | 203.21.44.0/24 3709 | 203.21.68.0/24 3710 | 203.21.82.0/24 3711 | 203.21.96.0/22 3712 | 203.21.124.0/24 3713 | 203.21.136.0/23 3714 | 203.21.145.0/24 3715 | 203.21.206.0/24 3716 | 203.22.24.0/24 3717 | 203.22.28.0/23 3718 | 203.22.31.0/24 3719 | 203.22.68.0/24 3720 | 203.22.76.0/24 3721 | 203.22.78.0/24 3722 | 203.22.84.0/24 3723 | 203.22.87.0/24 3724 | 203.22.92.0/22 3725 | 203.22.99.0/24 3726 | 203.22.106.0/24 3727 | 203.22.122.0/23 3728 | 203.22.131.0/24 3729 | 203.22.163.0/24 3730 | 203.22.166.0/24 3731 | 203.22.170.0/24 3732 | 203.22.176.0/21 3733 | 203.22.194.0/24 3734 | 203.22.242.0/23 3735 | 203.22.245.0/24 3736 | 203.22.246.0/24 3737 | 203.22.252.0/23 3738 | 203.23.0.0/24 3739 | 203.23.47.0/24 3740 | 203.23.61.0/24 3741 | 203.23.62.0/23 3742 | 203.23.73.0/24 3743 | 203.23.85.0/24 3744 | 203.23.92.0/22 3745 | 203.23.98.0/24 3746 | 203.23.107.0/24 3747 | 203.23.112.0/24 3748 | 203.23.130.0/24 3749 | 203.23.140.0/23 3750 | 203.23.172.0/24 3751 | 203.23.182.0/24 3752 | 203.23.186.0/23 3753 | 203.23.192.0/24 3754 | 203.23.197.0/24 3755 | 203.23.198.0/24 3756 | 203.23.204.0/22 3757 | 203.23.224.0/24 3758 | 203.23.226.0/23 3759 | 203.23.228.0/22 3760 | 203.23.249.0/24 3761 | 203.23.251.0/24 3762 | 203.24.13.0/24 3763 | 203.24.18.0/24 3764 | 203.24.27.0/24 3765 | 203.24.43.0/24 3766 | 203.24.56.0/24 3767 | 203.24.58.0/24 3768 | 203.24.67.0/24 3769 | 203.24.74.0/24 3770 | 203.24.79.0/24 3771 | 203.24.80.0/23 3772 | 203.24.84.0/23 3773 | 203.24.86.0/24 3774 | 203.24.90.0/24 3775 | 203.24.111.0/24 3776 | 203.24.112.0/24 3777 | 203.24.116.0/24 3778 | 203.24.122.0/23 3779 | 203.24.145.0/24 3780 | 203.24.152.0/23 3781 | 203.24.157.0/24 3782 | 203.24.161.0/24 3783 | 203.24.167.0/24 3784 | 203.24.186.0/23 3785 | 203.24.199.0/24 3786 | 203.24.202.0/24 3787 | 203.24.212.0/23 3788 | 203.24.217.0/24 3789 | 203.24.219.0/24 3790 | 203.24.244.0/24 3791 | 203.25.19.0/24 3792 | 203.25.20.0/23 3793 | 203.25.46.0/24 3794 | 203.25.48.0/21 3795 | 203.25.64.0/23 3796 | 203.25.91.0/24 3797 | 203.25.99.0/24 3798 | 203.25.100.0/24 3799 | 203.25.106.0/24 3800 | 203.25.131.0/24 3801 | 203.25.135.0/24 3802 | 203.25.138.0/24 3803 | 203.25.147.0/24 3804 | 203.25.153.0/24 3805 | 203.25.154.0/23 3806 | 203.25.164.0/24 3807 | 203.25.166.0/24 3808 | 203.25.174.0/23 3809 | 203.25.180.0/24 3810 | 203.25.182.0/24 3811 | 203.25.191.0/24 3812 | 203.25.199.0/24 3813 | 203.25.200.0/24 3814 | 203.25.202.0/23 3815 | 203.25.208.0/20 3816 | 203.25.229.0/24 3817 | 203.25.235.0/24 3818 | 203.25.236.0/24 3819 | 203.25.242.0/24 3820 | 203.26.12.0/24 3821 | 203.26.34.0/24 3822 | 203.26.49.0/24 3823 | 203.26.50.0/24 3824 | 203.26.55.0/24 3825 | 203.26.56.0/23 3826 | 203.26.60.0/24 3827 | 203.26.65.0/24 3828 | 203.26.68.0/24 3829 | 203.26.76.0/24 3830 | 203.26.80.0/24 3831 | 203.26.84.0/24 3832 | 203.26.97.0/24 3833 | 203.26.102.0/23 3834 | 203.26.115.0/24 3835 | 203.26.116.0/24 3836 | 203.26.129.0/24 3837 | 203.26.143.0/24 3838 | 203.26.144.0/24 3839 | 203.26.148.0/23 3840 | 203.26.154.0/24 3841 | 203.26.158.0/23 3842 | 203.26.170.0/24 3843 | 203.26.173.0/24 3844 | 203.26.176.0/24 3845 | 203.26.185.0/24 3846 | 203.26.202.0/23 3847 | 203.26.210.0/24 3848 | 203.26.214.0/24 3849 | 203.26.222.0/24 3850 | 203.26.224.0/24 3851 | 203.26.228.0/24 3852 | 203.26.232.0/24 3853 | 203.27.0.0/24 3854 | 203.27.10.0/24 3855 | 203.27.15.0/24 3856 | 203.27.16.0/24 3857 | 203.27.20.0/24 3858 | 203.27.22.0/23 3859 | 203.27.40.0/24 3860 | 203.27.45.0/24 3861 | 203.27.53.0/24 3862 | 203.27.65.0/24 3863 | 203.27.66.0/24 3864 | 203.27.81.0/24 3865 | 203.27.88.0/24 3866 | 203.27.102.0/24 3867 | 203.27.109.0/24 3868 | 203.27.117.0/24 3869 | 203.27.121.0/24 3870 | 203.27.122.0/23 3871 | 203.27.125.0/24 3872 | 203.27.200.0/24 3873 | 203.27.202.0/24 3874 | 203.27.233.0/24 3875 | 203.27.241.0/24 3876 | 203.27.250.0/24 3877 | 203.28.10.0/24 3878 | 203.28.12.0/24 3879 | 203.28.33.0/24 3880 | 203.28.34.0/23 3881 | 203.28.43.0/24 3882 | 203.28.44.0/24 3883 | 203.28.54.0/24 3884 | 203.28.56.0/24 3885 | 203.28.73.0/24 3886 | 203.28.74.0/24 3887 | 203.28.76.0/24 3888 | 203.28.86.0/24 3889 | 203.28.88.0/24 3890 | 203.28.112.0/24 3891 | 203.28.131.0/24 3892 | 203.28.136.0/24 3893 | 203.28.140.0/24 3894 | 203.28.145.0/24 3895 | 203.28.165.0/24 3896 | 203.28.169.0/24 3897 | 203.28.170.0/24 3898 | 203.28.178.0/23 3899 | 203.28.185.0/24 3900 | 203.28.187.0/24 3901 | 203.28.196.0/24 3902 | 203.28.226.0/23 3903 | 203.28.239.0/24 3904 | 203.29.2.0/24 3905 | 203.29.8.0/23 3906 | 203.29.13.0/24 3907 | 203.29.14.0/24 3908 | 203.29.28.0/24 3909 | 203.29.46.0/24 3910 | 203.29.57.0/24 3911 | 203.29.61.0/24 3912 | 203.29.63.0/24 3913 | 203.29.69.0/24 3914 | 203.29.73.0/24 3915 | 203.29.81.0/24 3916 | 203.29.90.0/24 3917 | 203.29.95.0/24 3918 | 203.29.100.0/24 3919 | 203.29.103.0/24 3920 | 203.29.112.0/24 3921 | 203.29.120.0/22 3922 | 203.29.182.0/23 3923 | 203.29.187.0/24 3924 | 203.29.189.0/24 3925 | 203.29.190.0/24 3926 | 203.29.205.0/24 3927 | 203.29.210.0/24 3928 | 203.29.217.0/24 3929 | 203.29.227.0/24 3930 | 203.29.231.0/24 3931 | 203.29.233.0/24 3932 | 203.29.234.0/24 3933 | 203.29.248.0/24 3934 | 203.29.254.0/23 3935 | 203.30.16.0/23 3936 | 203.30.25.0/24 3937 | 203.30.27.0/24 3938 | 203.30.29.0/24 3939 | 203.30.66.0/24 3940 | 203.30.81.0/24 3941 | 203.30.87.0/24 3942 | 203.30.111.0/24 3943 | 203.30.121.0/24 3944 | 203.30.123.0/24 3945 | 203.30.152.0/24 3946 | 203.30.156.0/24 3947 | 203.30.162.0/24 3948 | 203.30.173.0/24 3949 | 203.30.175.0/24 3950 | 203.30.187.0/24 3951 | 203.30.194.0/24 3952 | 203.30.217.0/24 3953 | 203.30.220.0/24 3954 | 203.30.222.0/24 3955 | 203.30.232.0/23 3956 | 203.30.235.0/24 3957 | 203.30.240.0/23 3958 | 203.30.246.0/24 3959 | 203.30.250.0/23 3960 | 203.31.45.0/24 3961 | 203.31.46.0/24 3962 | 203.31.49.0/24 3963 | 203.31.51.0/24 3964 | 203.31.54.0/23 3965 | 203.31.69.0/24 3966 | 203.31.72.0/24 3967 | 203.31.80.0/24 3968 | 203.31.85.0/24 3969 | 203.31.97.0/24 3970 | 203.31.105.0/24 3971 | 203.31.106.0/24 3972 | 203.31.108.0/23 3973 | 203.31.124.0/24 3974 | 203.31.162.0/24 3975 | 203.31.174.0/24 3976 | 203.31.177.0/24 3977 | 203.31.181.0/24 3978 | 203.31.187.0/24 3979 | 203.31.189.0/24 3980 | 203.31.204.0/24 3981 | 203.31.220.0/24 3982 | 203.31.222.0/23 3983 | 203.31.225.0/24 3984 | 203.31.229.0/24 3985 | 203.31.248.0/23 3986 | 203.31.253.0/24 3987 | 203.32.20.0/24 3988 | 203.32.48.0/23 3989 | 203.32.56.0/24 3990 | 203.32.60.0/24 3991 | 203.32.62.0/24 3992 | 203.32.68.0/23 3993 | 203.32.76.0/24 3994 | 203.32.81.0/24 3995 | 203.32.84.0/23 3996 | 203.32.95.0/24 3997 | 203.32.102.0/24 3998 | 203.32.105.0/24 3999 | 203.32.130.0/24 4000 | 203.32.133.0/24 4001 | 203.32.140.0/24 4002 | 203.32.152.0/24 4003 | 203.32.186.0/23 4004 | 203.32.192.0/24 4005 | 203.32.196.0/24 4006 | 203.32.203.0/24 4007 | 203.32.204.0/23 4008 | 203.32.212.0/24 4009 | 203.33.4.0/24 4010 | 203.33.7.0/24 4011 | 203.33.8.0/21 4012 | 203.33.21.0/24 4013 | 203.33.26.0/24 4014 | 203.33.32.0/24 4015 | 203.33.63.0/24 4016 | 203.33.64.0/24 4017 | 203.33.67.0/24 4018 | 203.33.68.0/24 4019 | 203.33.73.0/24 4020 | 203.33.79.0/24 4021 | 203.33.100.0/24 4022 | 203.33.122.0/24 4023 | 203.33.129.0/24 4024 | 203.33.131.0/24 4025 | 203.33.145.0/24 4026 | 203.33.156.0/24 4027 | 203.33.158.0/23 4028 | 203.33.174.0/24 4029 | 203.33.185.0/24 4030 | 203.33.200.0/24 4031 | 203.33.202.0/23 4032 | 203.33.204.0/24 4033 | 203.33.206.0/23 4034 | 203.33.214.0/23 4035 | 203.33.224.0/23 4036 | 203.33.226.0/24 4037 | 203.33.233.0/24 4038 | 203.33.243.0/24 4039 | 203.33.250.0/24 4040 | 203.34.4.0/24 4041 | 203.34.21.0/24 4042 | 203.34.27.0/24 4043 | 203.34.39.0/24 4044 | 203.34.48.0/23 4045 | 203.34.54.0/24 4046 | 203.34.56.0/23 4047 | 203.34.67.0/24 4048 | 203.34.69.0/24 4049 | 203.34.76.0/24 4050 | 203.34.92.0/24 4051 | 203.34.106.0/24 4052 | 203.34.113.0/24 4053 | 203.34.147.0/24 4054 | 203.34.150.0/24 4055 | 203.34.152.0/23 4056 | 203.34.161.0/24 4057 | 203.34.162.0/24 4058 | 203.34.187.0/24 4059 | 203.34.192.0/21 4060 | 203.34.204.0/22 4061 | 203.34.232.0/24 4062 | 203.34.240.0/24 4063 | 203.34.242.0/24 4064 | 203.34.245.0/24 4065 | 203.34.251.0/24 4066 | 203.55.2.0/23 4067 | 203.55.4.0/24 4068 | 203.55.10.0/24 4069 | 203.55.13.0/24 4070 | 203.55.22.0/24 4071 | 203.55.30.0/24 4072 | 203.55.93.0/24 4073 | 203.55.101.0/24 4074 | 203.55.109.0/24 4075 | 203.55.110.0/24 4076 | 203.55.116.0/23 4077 | 203.55.119.0/24 4078 | 203.55.128.0/23 4079 | 203.55.146.0/23 4080 | 203.55.192.0/24 4081 | 203.55.196.0/24 4082 | 203.55.218.0/23 4083 | 203.55.221.0/24 4084 | 203.55.224.0/24 4085 | 203.56.1.0/24 4086 | 203.56.4.0/24 4087 | 203.56.12.0/24 4088 | 203.56.24.0/24 4089 | 203.56.38.0/24 4090 | 203.56.40.0/24 4091 | 203.56.46.0/24 4092 | 203.56.48.0/21 4093 | 203.56.68.0/23 4094 | 203.56.82.0/23 4095 | 203.56.84.0/23 4096 | 203.56.95.0/24 4097 | 203.56.110.0/24 4098 | 203.56.121.0/24 4099 | 203.56.161.0/24 4100 | 203.56.169.0/24 4101 | 203.56.172.0/23 4102 | 203.56.175.0/24 4103 | 203.56.183.0/24 4104 | 203.56.185.0/24 4105 | 203.56.187.0/24 4106 | 203.56.192.0/24 4107 | 203.56.198.0/24 4108 | 203.56.201.0/24 4109 | 203.56.208.0/23 4110 | 203.56.210.0/24 4111 | 203.56.214.0/24 4112 | 203.56.216.0/24 4113 | 203.56.227.0/24 4114 | 203.56.228.0/24 4115 | 203.56.232.0/24 4116 | 203.56.240.0/24 4117 | 203.56.252.0/24 4118 | 203.56.254.0/24 4119 | 203.57.5.0/24 4120 | 203.57.6.0/24 4121 | 203.57.12.0/23 4122 | 203.57.28.0/24 4123 | 203.57.39.0/24 4124 | 203.57.46.0/24 4125 | 203.57.58.0/24 4126 | 203.57.61.0/24 4127 | 203.57.66.0/24 4128 | 203.57.69.0/24 4129 | 203.57.70.0/23 4130 | 203.57.73.0/24 4131 | 203.57.90.0/24 4132 | 203.57.101.0/24 4133 | 203.57.109.0/24 4134 | 203.57.123.0/24 4135 | 203.57.157.0/24 4136 | 203.57.200.0/24 4137 | 203.57.202.0/24 4138 | 203.57.206.0/24 4139 | 203.57.222.0/24 4140 | 203.57.224.0/20 4141 | 203.57.246.0/23 4142 | 203.57.249.0/24 4143 | 203.57.253.0/24 4144 | 203.57.254.0/23 4145 | 203.62.2.0/24 4146 | 203.62.131.0/24 4147 | 203.62.139.0/24 4148 | 203.62.161.0/24 4149 | 203.62.197.0/24 4150 | 203.62.228.0/22 4151 | 203.62.234.0/24 4152 | 203.62.246.0/24 4153 | 203.76.160.0/22 4154 | 203.76.168.0/22 4155 | 203.77.180.0/22 4156 | 203.78.48.0/20 4157 | 203.79.0.0/20 4158 | 203.79.32.0/20 4159 | 203.80.4.0/23 4160 | 203.80.32.0/20 4161 | 203.80.57.0/24 4162 | 203.80.132.0/22 4163 | 203.80.136.0/21 4164 | 203.80.144.0/20 4165 | 203.81.0.0/21 4166 | 203.81.16.0/20 4167 | 203.82.0.0/23 4168 | 203.82.16.0/21 4169 | 203.83.0.0/22 4170 | 203.83.56.0/21 4171 | 203.83.224.0/20 4172 | 203.86.0.0/19 4173 | 203.86.32.0/19 4174 | 203.86.64.0/20 4175 | 203.86.80.0/20 4176 | 203.86.96.0/19 4177 | 203.86.254.0/23 4178 | 203.88.32.0/19 4179 | 203.88.192.0/19 4180 | 203.89.0.0/22 4181 | 203.89.8.0/21 4182 | 203.89.136.0/22 4183 | 203.90.0.0/22 4184 | 203.90.8.0/22 4185 | 203.90.128.0/19 4186 | 203.90.160.0/19 4187 | 203.90.192.0/19 4188 | 203.91.32.0/19 4189 | 203.91.96.0/20 4190 | 203.91.120.0/21 4191 | 203.92.0.0/22 4192 | 203.92.160.0/19 4193 | 203.93.0.0/22 4194 | 203.93.4.0/22 4195 | 203.93.8.0/24 4196 | 203.93.9.0/24 4197 | 203.93.10.0/23 4198 | 203.93.12.0/22 4199 | 203.93.16.0/20 4200 | 203.93.32.0/19 4201 | 203.93.64.0/18 4202 | 203.93.128.0/21 4203 | 203.93.136.0/22 4204 | 203.93.140.0/24 4205 | 203.93.141.0/24 4206 | 203.93.142.0/23 4207 | 203.93.144.0/20 4208 | 203.93.160.0/19 4209 | 203.93.192.0/18 4210 | 203.94.0.0/22 4211 | 203.94.4.0/22 4212 | 203.94.8.0/21 4213 | 203.94.16.0/20 4214 | 203.95.0.0/21 4215 | 203.95.96.0/20 4216 | 203.95.112.0/20 4217 | 203.95.128.0/18 4218 | 203.95.224.0/19 4219 | 203.99.8.0/21 4220 | 203.99.16.0/20 4221 | 203.99.80.0/20 4222 | 203.100.32.0/20 4223 | 203.100.48.0/21 4224 | 203.100.63.0/24 4225 | 203.100.80.0/20 4226 | 203.100.96.0/19 4227 | 203.100.192.0/20 4228 | 203.104.32.0/20 4229 | 203.105.96.0/19 4230 | 203.105.128.0/19 4231 | 203.107.0.0/17 4232 | 203.110.160.0/19 4233 | 203.110.208.0/20 4234 | 203.110.232.0/23 4235 | 203.110.234.0/24 4236 | 203.114.244.0/22 4237 | 203.118.192.0/19 4238 | 203.118.241.0/24 4239 | 203.118.248.0/22 4240 | 203.119.24.0/21 4241 | 203.119.32.0/22 4242 | 203.119.80.0/22 4243 | 203.119.85.0/24 4244 | 203.119.113.0/24 4245 | 203.119.114.0/23 4246 | 203.119.116.0/22 4247 | 203.119.120.0/21 4248 | 203.119.128.0/17 4249 | 203.128.32.0/19 4250 | 203.128.96.0/19 4251 | 203.128.224.0/21 4252 | 203.129.8.0/21 4253 | 203.130.32.0/19 4254 | 203.132.32.0/19 4255 | 203.134.240.0/21 4256 | 203.135.96.0/20 4257 | 203.135.112.0/20 4258 | 203.135.160.0/20 4259 | 203.142.224.0/19 4260 | 203.144.96.0/19 4261 | 203.145.0.0/19 4262 | 203.148.0.0/18 4263 | 203.148.64.0/20 4264 | 203.148.80.0/22 4265 | 203.148.86.0/23 4266 | 203.149.92.0/22 4267 | 203.152.64.0/19 4268 | 203.152.128.0/19 4269 | 203.153.0.0/22 4270 | 203.156.192.0/18 4271 | 203.158.16.0/21 4272 | 203.160.104.0/21 4273 | 203.160.129.0/24 4274 | 203.160.192.0/19 4275 | 203.161.0.0/22 4276 | 203.161.180.0/24 4277 | 203.161.192.0/19 4278 | 203.166.160.0/19 4279 | 203.168.0.0/19 4280 | 203.170.58.0/23 4281 | 203.171.0.0/22 4282 | 203.171.224.0/20 4283 | 203.174.4.0/24 4284 | 203.174.7.0/24 4285 | 203.174.96.0/19 4286 | 203.175.128.0/19 4287 | 203.175.192.0/18 4288 | 203.176.0.0/18 4289 | 203.176.64.0/19 4290 | 203.176.168.0/21 4291 | 203.184.80.0/20 4292 | 203.187.160.0/19 4293 | 203.189.0.0/23 4294 | 203.189.6.0/23 4295 | 203.189.112.0/22 4296 | 203.189.192.0/19 4297 | 203.190.96.0/20 4298 | 203.190.249.0/24 4299 | 203.191.0.0/23 4300 | 203.191.16.0/20 4301 | 203.191.64.0/18 4302 | 203.191.144.0/21 4303 | 203.191.152.0/21 4304 | 203.192.0.0/19 4305 | 203.193.224.0/19 4306 | 203.194.120.0/21 4307 | 203.195.64.0/19 4308 | 203.195.112.0/21 4309 | 203.195.128.0/17 4310 | 203.196.0.0/21 4311 | 203.196.8.0/21 4312 | 203.202.236.0/22 4313 | 203.205.64.0/19 4314 | 203.205.128.0/17 4315 | 203.207.64.0/18 4316 | 203.207.128.0/17 4317 | 203.208.0.0/20 4318 | 203.208.16.0/22 4319 | 203.208.32.0/19 4320 | 203.209.224.0/19 4321 | 203.212.0.0/20 4322 | 203.212.80.0/20 4323 | 203.215.232.0/21 4324 | 203.222.192.0/20 4325 | 203.223.0.0/20 4326 | 203.223.16.0/21 4327 | 210.2.0.0/20 4328 | 210.2.16.0/20 4329 | 210.5.0.0/19 4330 | 210.5.56.0/21 4331 | 210.5.128.0/20 4332 | 210.5.144.0/20 4333 | 210.12.0.0/18 4334 | 210.12.64.0/18 4335 | 210.12.128.0/18 4336 | 210.12.192.0/18 4337 | 210.13.0.0/18 4338 | 210.13.64.0/18 4339 | 210.13.128.0/17 4340 | 210.14.64.0/19 4341 | 210.14.112.0/20 4342 | 210.14.128.0/19 4343 | 210.14.160.0/19 4344 | 210.14.192.0/19 4345 | 210.14.224.0/19 4346 | 210.15.0.0/19 4347 | 210.15.32.0/19 4348 | 210.15.64.0/19 4349 | 210.15.96.0/19 4350 | 210.15.128.0/18 4351 | 210.16.128.0/18 4352 | 210.21.0.0/17 4353 | 210.21.128.0/17 4354 | 210.22.0.0/16 4355 | 210.23.32.0/19 4356 | 210.25.0.0/16 4357 | 210.26.0.0/15 4358 | 210.28.0.0/14 4359 | 210.32.0.0/14 4360 | 210.36.0.0/14 4361 | 210.40.0.0/13 4362 | 210.48.136.0/21 4363 | 210.51.0.0/16 4364 | 210.52.0.0/18 4365 | 210.52.64.0/18 4366 | 210.52.128.0/17 4367 | 210.53.0.0/17 4368 | 210.53.128.0/17 4369 | 210.56.192.0/19 4370 | 210.72.0.0/17 4371 | 210.72.128.0/19 4372 | 210.72.160.0/19 4373 | 210.72.192.0/18 4374 | 210.73.0.0/19 4375 | 210.73.32.0/19 4376 | 210.73.64.0/18 4377 | 210.73.128.0/17 4378 | 210.74.0.0/19 4379 | 210.74.32.0/19 4380 | 210.74.64.0/19 4381 | 210.74.96.0/19 4382 | 210.74.128.0/19 4383 | 210.74.160.0/19 4384 | 210.74.192.0/18 4385 | 210.75.0.0/16 4386 | 210.76.0.0/19 4387 | 210.76.32.0/19 4388 | 210.76.64.0/18 4389 | 210.76.128.0/17 4390 | 210.77.0.0/16 4391 | 210.78.0.0/19 4392 | 210.78.32.0/19 4393 | 210.78.64.0/18 4394 | 210.78.128.0/19 4395 | 210.78.160.0/19 4396 | 210.78.192.0/18 4397 | 210.79.64.0/18 4398 | 210.79.224.0/19 4399 | 210.82.0.0/15 4400 | 210.87.128.0/20 4401 | 210.87.144.0/20 4402 | 210.87.160.0/19 4403 | 210.185.192.0/18 4404 | 210.192.96.0/19 4405 | 211.64.0.0/14 4406 | 211.68.0.0/15 4407 | 211.70.0.0/15 4408 | 211.80.0.0/16 4409 | 211.81.0.0/16 4410 | 211.82.0.0/16 4411 | 211.83.0.0/16 4412 | 211.84.0.0/15 4413 | 211.86.0.0/15 4414 | 211.88.0.0/16 4415 | 211.89.0.0/16 4416 | 211.90.0.0/15 4417 | 211.92.0.0/15 4418 | 211.94.0.0/15 4419 | 211.96.0.0/15 4420 | 211.98.0.0/16 4421 | 211.99.0.0/18 4422 | 211.99.64.0/19 4423 | 211.99.96.0/19 4424 | 211.99.128.0/17 4425 | 211.100.0.0/16 4426 | 211.101.0.0/18 4427 | 211.101.64.0/18 4428 | 211.101.128.0/17 4429 | 211.102.0.0/16 4430 | 211.103.0.0/17 4431 | 211.103.128.0/17 4432 | 211.136.0.0/14 4433 | 211.140.0.0/15 4434 | 211.142.0.0/17 4435 | 211.142.128.0/17 4436 | 211.143.0.0/16 4437 | 211.144.0.0/15 4438 | 211.146.0.0/16 4439 | 211.147.0.0/16 4440 | 211.148.0.0/14 4441 | 211.152.0.0/15 4442 | 211.154.0.0/16 4443 | 211.155.0.0/18 4444 | 211.155.64.0/19 4445 | 211.155.96.0/19 4446 | 211.155.128.0/17 4447 | 211.156.0.0/14 4448 | 211.160.0.0/14 4449 | 211.164.0.0/14 4450 | 218.0.0.0/16 4451 | 218.1.0.0/16 4452 | 218.2.0.0/15 4453 | 218.4.0.0/15 4454 | 218.6.0.0/16 4455 | 218.7.0.0/16 4456 | 218.8.0.0/15 4457 | 218.10.0.0/16 4458 | 218.11.0.0/16 4459 | 218.12.0.0/16 4460 | 218.13.0.0/16 4461 | 218.14.0.0/15 4462 | 218.16.0.0/14 4463 | 218.20.0.0/16 4464 | 218.21.0.0/17 4465 | 218.21.128.0/17 4466 | 218.22.0.0/15 4467 | 218.24.0.0/15 4468 | 218.26.0.0/16 4469 | 218.27.0.0/16 4470 | 218.28.0.0/15 4471 | 218.30.0.0/15 4472 | 218.56.0.0/14 4473 | 218.60.0.0/15 4474 | 218.62.0.0/17 4475 | 218.62.128.0/17 4476 | 218.63.0.0/16 4477 | 218.64.0.0/15 4478 | 218.66.0.0/16 4479 | 218.67.0.0/17 4480 | 218.67.128.0/17 4481 | 218.68.0.0/15 4482 | 218.70.0.0/15 4483 | 218.72.0.0/14 4484 | 218.76.0.0/15 4485 | 218.78.0.0/15 4486 | 218.80.0.0/14 4487 | 218.84.0.0/14 4488 | 218.88.0.0/13 4489 | 218.96.0.0/15 4490 | 218.98.0.0/17 4491 | 218.98.128.0/18 4492 | 218.98.192.0/19 4493 | 218.98.224.0/19 4494 | 218.99.0.0/16 4495 | 218.100.88.0/21 4496 | 218.100.96.0/19 4497 | 218.100.128.0/17 4498 | 218.104.0.0/17 4499 | 218.104.128.0/19 4500 | 218.104.160.0/19 4501 | 218.104.192.0/21 4502 | 218.104.200.0/21 4503 | 218.104.208.0/20 4504 | 218.104.224.0/19 4505 | 218.105.0.0/16 4506 | 218.106.0.0/15 4507 | 218.108.0.0/16 4508 | 218.109.0.0/16 4509 | 218.185.192.0/19 4510 | 218.185.240.0/21 4511 | 218.192.0.0/16 4512 | 218.193.0.0/16 4513 | 218.194.0.0/16 4514 | 218.195.0.0/16 4515 | 218.196.0.0/14 4516 | 218.200.0.0/14 4517 | 218.204.0.0/15 4518 | 218.206.0.0/15 4519 | 218.240.0.0/14 4520 | 218.244.0.0/15 4521 | 218.246.0.0/15 4522 | 218.249.0.0/16 4523 | 219.72.0.0/16 4524 | 219.82.0.0/16 4525 | 219.83.128.0/17 4526 | 219.128.0.0/12 4527 | 219.144.0.0/14 4528 | 219.148.0.0/16 4529 | 219.149.0.0/17 4530 | 219.149.128.0/18 4531 | 219.149.192.0/18 4532 | 219.150.0.0/19 4533 | 219.150.32.0/19 4534 | 219.150.64.0/19 4535 | 219.150.96.0/20 4536 | 219.150.112.0/20 4537 | 219.150.128.0/17 4538 | 219.151.0.0/19 4539 | 219.151.32.0/19 4540 | 219.151.64.0/18 4541 | 219.151.128.0/17 4542 | 219.152.0.0/15 4543 | 219.154.0.0/15 4544 | 219.156.0.0/15 4545 | 219.158.0.0/17 4546 | 219.158.128.0/17 4547 | 219.159.0.0/18 4548 | 219.159.64.0/18 4549 | 219.159.128.0/17 4550 | 219.216.0.0/15 4551 | 219.218.0.0/15 4552 | 219.220.0.0/16 4553 | 219.221.0.0/16 4554 | 219.222.0.0/15 4555 | 219.224.0.0/15 4556 | 219.226.0.0/16 4557 | 219.227.0.0/16 4558 | 219.228.0.0/15 4559 | 219.230.0.0/15 4560 | 219.232.0.0/14 4561 | 219.236.0.0/15 4562 | 219.238.0.0/15 4563 | 219.242.0.0/15 4564 | 219.244.0.0/14 4565 | 220.101.192.0/18 4566 | 220.112.0.0/14 4567 | 220.152.128.0/17 4568 | 220.154.0.0/15 4569 | 220.160.0.0/11 4570 | 220.192.0.0/15 4571 | 220.194.0.0/15 4572 | 220.196.0.0/14 4573 | 220.200.0.0/13 4574 | 220.231.0.0/18 4575 | 220.231.128.0/17 4576 | 220.232.64.0/18 4577 | 220.234.0.0/16 4578 | 220.242.0.0/15 4579 | 220.247.136.0/21 4580 | 220.248.0.0/14 4581 | 220.252.0.0/16 4582 | 221.0.0.0/15 4583 | 221.2.0.0/16 4584 | 221.3.0.0/17 4585 | 221.3.128.0/17 4586 | 221.4.0.0/16 4587 | 221.5.0.0/17 4588 | 221.5.128.0/17 4589 | 221.6.0.0/16 4590 | 221.7.0.0/19 4591 | 221.7.32.0/19 4592 | 221.7.64.0/19 4593 | 221.7.96.0/19 4594 | 221.7.128.0/17 4595 | 221.8.0.0/15 4596 | 221.10.0.0/16 4597 | 221.11.0.0/17 4598 | 221.11.128.0/18 4599 | 221.11.192.0/19 4600 | 221.11.224.0/19 4601 | 221.12.0.0/17 4602 | 221.12.128.0/18 4603 | 221.13.0.0/18 4604 | 221.13.64.0/19 4605 | 221.13.96.0/19 4606 | 221.13.128.0/17 4607 | 221.14.0.0/15 4608 | 221.122.0.0/15 4609 | 221.128.128.0/17 4610 | 221.129.0.0/16 4611 | 221.130.0.0/15 4612 | 221.133.224.0/19 4613 | 221.136.0.0/16 4614 | 221.137.0.0/16 4615 | 221.172.0.0/14 4616 | 221.176.0.0/13 4617 | 221.192.0.0/15 4618 | 221.194.0.0/16 4619 | 221.195.0.0/16 4620 | 221.196.0.0/15 4621 | 221.198.0.0/16 4622 | 221.199.0.0/19 4623 | 221.199.32.0/20 4624 | 221.199.48.0/20 4625 | 221.199.64.0/18 4626 | 221.199.128.0/18 4627 | 221.199.192.0/20 4628 | 221.199.224.0/19 4629 | 221.200.0.0/14 4630 | 221.204.0.0/15 4631 | 221.206.0.0/16 4632 | 221.207.0.0/18 4633 | 221.207.64.0/18 4634 | 221.207.128.0/17 4635 | 221.208.0.0/14 4636 | 221.212.0.0/16 4637 | 221.213.0.0/16 4638 | 221.214.0.0/15 4639 | 221.216.0.0/13 4640 | 221.224.0.0/13 4641 | 221.232.0.0/14 4642 | 221.236.0.0/15 4643 | 221.238.0.0/16 4644 | 221.239.0.0/17 4645 | 221.239.128.0/17 4646 | 222.16.0.0/15 4647 | 222.18.0.0/15 4648 | 222.20.0.0/15 4649 | 222.22.0.0/16 4650 | 222.23.0.0/16 4651 | 222.24.0.0/15 4652 | 222.26.0.0/15 4653 | 222.28.0.0/14 4654 | 222.32.0.0/11 4655 | 222.64.0.0/13 4656 | 222.72.0.0/15 4657 | 222.74.0.0/16 4658 | 222.75.0.0/16 4659 | 222.76.0.0/14 4660 | 222.80.0.0/15 4661 | 222.82.0.0/16 4662 | 222.83.0.0/17 4663 | 222.83.128.0/17 4664 | 222.84.0.0/16 4665 | 222.85.0.0/17 4666 | 222.85.128.0/17 4667 | 222.86.0.0/15 4668 | 222.88.0.0/15 4669 | 222.90.0.0/15 4670 | 222.92.0.0/14 4671 | 222.125.0.0/16 4672 | 222.126.128.0/17 4673 | 222.128.0.0/14 4674 | 222.132.0.0/14 4675 | 222.136.0.0/13 4676 | 222.160.0.0/15 4677 | 222.162.0.0/16 4678 | 222.163.0.0/19 4679 | 222.163.32.0/19 4680 | 222.163.64.0/18 4681 | 222.163.128.0/17 4682 | 222.168.0.0/15 4683 | 222.170.0.0/15 4684 | 222.172.0.0/17 4685 | 222.172.128.0/17 4686 | 222.173.0.0/16 4687 | 222.174.0.0/15 4688 | 222.176.0.0/13 4689 | 222.184.0.0/13 4690 | 222.192.0.0/14 4691 | 222.196.0.0/15 4692 | 222.198.0.0/16 4693 | 222.199.0.0/16 4694 | 222.200.0.0/14 4695 | 222.204.0.0/15 4696 | 222.206.0.0/15 4697 | 222.208.0.0/13 4698 | 222.216.0.0/15 4699 | 222.218.0.0/16 4700 | 222.219.0.0/16 4701 | 222.220.0.0/15 4702 | 222.222.0.0/15 4703 | 222.240.0.0/13 4704 | 222.248.0.0/16 4705 | 222.249.0.0/17 4706 | 222.249.128.0/19 4707 | 222.249.160.0/20 4708 | 222.249.176.0/20 4709 | 222.249.192.0/18 4710 | 223.0.0.0/15 4711 | 223.2.0.0/15 4712 | 223.4.0.0/14 4713 | 223.8.0.0/13 4714 | 223.20.0.0/15 4715 | 223.27.184.0/22 4716 | 223.64.0.0/11 4717 | 223.96.0.0/12 4718 | 223.112.0.0/14 4719 | 223.116.0.0/15 4720 | 223.120.0.0/13 4721 | 223.128.0.0/15 4722 | 223.144.0.0/12 4723 | 223.160.0.0/14 4724 | 223.166.0.0/15 4725 | 223.192.0.0/15 4726 | 223.198.0.0/15 4727 | 223.201.0.0/16 4728 | 223.202.0.0/15 4729 | 223.208.0.0/14 4730 | 223.212.0.0/15 4731 | 223.214.0.0/15 4732 | 223.220.0.0/15 4733 | 223.223.176.0/20 4734 | 223.223.192.0/20 4735 | 223.240.0.0/13 4736 | 223.248.0.0/14 4737 | 223.252.128.0/17 4738 | 223.254.0.0/16 4739 | 223.255.0.0/17 4740 | 223.255.236.0/22 4741 | 223.255.252.0/23 4742 | -------------------------------------------------------------------------------- /config.h.in: -------------------------------------------------------------------------------- 1 | /* config.h.in. Generated from configure.ac by autoheader. */ 2 | 3 | /* Define to 1 if you have the header file. */ 4 | #undef HAVE_ARPA_INET_H 5 | 6 | /* Define to 1 if you have the header file. */ 7 | #undef HAVE_ARPA_NAMESER_H 8 | 9 | /* Define to 1 if you have the header file. */ 10 | #undef HAVE_FCNTL_H 11 | 12 | /* Define to 1 if you have the `inet_ntoa' function. */ 13 | #undef HAVE_INET_NTOA 14 | 15 | /* Define to 1 if you have the header file. */ 16 | #undef HAVE_INTTYPES_H 17 | 18 | /* Define to 1 if you have the `resolv' library (-lresolv). */ 19 | #undef HAVE_LIBRESOLV 20 | 21 | /* Define to 1 if you have the `malloc' function. */ 22 | #undef HAVE_MALLOC 23 | 24 | /* Define to 1 if you have the header file. */ 25 | #undef HAVE_MEMORY_H 26 | 27 | /* Define to 1 if you have the `memset' function. */ 28 | #undef HAVE_MEMSET 29 | 30 | /* Define to 1 if you have the header file. */ 31 | #undef HAVE_NETDB_H 32 | 33 | /* Define to 1 if you have the header file. */ 34 | #undef HAVE_NETINET_IN_H 35 | 36 | /* Define to 1 if you have the `realloc' function. */ 37 | #undef HAVE_REALLOC 38 | 39 | /* Define to 1 if you have the header file. */ 40 | #undef HAVE_RESOLV_H 41 | 42 | /* Define to 1 if you have the `select' function. */ 43 | #undef HAVE_SELECT 44 | 45 | /* Define to 1 if you have the `socket' function. */ 46 | #undef HAVE_SOCKET 47 | 48 | /* Define to 1 if you have the header file. */ 49 | #undef HAVE_STDINT_H 50 | 51 | /* Define to 1 if you have the header file. */ 52 | #undef HAVE_STDLIB_H 53 | 54 | /* Define to 1 if you have the `strchr' function. */ 55 | #undef HAVE_STRCHR 56 | 57 | /* Define to 1 if you have the `strdup' function. */ 58 | #undef HAVE_STRDUP 59 | 60 | /* Define to 1 if you have the header file. */ 61 | #undef HAVE_STRINGS_H 62 | 63 | /* Define to 1 if you have the header file. */ 64 | #undef HAVE_STRING_H 65 | 66 | /* Define to 1 if you have the `strrchr' function. */ 67 | #undef HAVE_STRRCHR 68 | 69 | /* Define to 1 if you have the header file. */ 70 | #undef HAVE_SYS_SOCKET_H 71 | 72 | /* Define to 1 if you have the header file. */ 73 | #undef HAVE_SYS_STAT_H 74 | 75 | /* Define to 1 if you have the header file. */ 76 | #undef HAVE_SYS_TYPES_H 77 | 78 | /* Define to 1 if you have the header file. */ 79 | #undef HAVE_UNISTD_H 80 | 81 | /* Name of package */ 82 | #undef PACKAGE 83 | 84 | /* Define to the address where bug reports for this package should be sent. */ 85 | #undef PACKAGE_BUGREPORT 86 | 87 | /* Define to the full name of this package. */ 88 | #undef PACKAGE_NAME 89 | 90 | /* Define to the full name and version of this package. */ 91 | #undef PACKAGE_STRING 92 | 93 | /* Define to the one symbol short name of this package. */ 94 | #undef PACKAGE_TARNAME 95 | 96 | /* Define to the home page for this package. */ 97 | #undef PACKAGE_URL 98 | 99 | /* Define to the version of this package. */ 100 | #undef PACKAGE_VERSION 101 | 102 | /* Define to 1 if you have the ANSI C header files. */ 103 | #undef STDC_HEADERS 104 | 105 | /* Version number of package */ 106 | #undef VERSION 107 | 108 | /* Define to `unsigned int' if does not define. */ 109 | #undef size_t 110 | 111 | /* Define to `int' if does not define. */ 112 | #undef ssize_t 113 | 114 | /* Define to the type of an unsigned integer type of width exactly 16 bits if 115 | such a type exists and the standard includes do not define it. */ 116 | #undef uint16_t 117 | -------------------------------------------------------------------------------- /configure.ac: -------------------------------------------------------------------------------- 1 | # -*- Autoconf -*- 2 | # Process this file with autoconf to produce a configure script. 3 | 4 | AC_PREREQ([2.67]) 5 | AC_INIT([ChinaDNS], [1.3.2], [clowwindy42@gmail.com]) 6 | AC_CONFIG_SRCDIR([src/chinadns.c]) 7 | AC_CONFIG_HEADERS([config.h]) 8 | 9 | AM_INIT_AUTOMAKE([foreign -Wall]) 10 | 11 | # Checks for programs. 12 | AC_PROG_CC 13 | AC_PROG_INSTALL 14 | 15 | # Checks for libraries. 16 | AC_CHECK_LIB(resolv, res_query, [], 17 | [AC_CHECK_LIB(resolv, __res_query, [], 18 | [AC_MSG_ERROR([libresolv not found.])])]) 19 | 20 | # Checks for header files. 21 | AC_HEADER_RESOLV 22 | AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h stdlib.h string.h sys/socket.h unistd.h]) 23 | 24 | # Checks for typedefs, structures, and compiler characteristics. 25 | AC_TYPE_SIZE_T 26 | AC_TYPE_SSIZE_T 27 | AC_TYPE_UINT16_T 28 | 29 | # Checks for library functions. 30 | # To fix rpl_malloc undefined error in mips cross-compile enviroment. 31 | AC_CHECK_FUNCS([malloc realloc]) 32 | AC_CHECK_FUNCS([inet_ntoa memset select socket strchr strdup strrchr]) 33 | 34 | AC_ARG_ENABLE([debug], 35 | [ --enable-debug build with additional debugging code], 36 | [CFLAGS='-g -DDEBUG -fprofile-arcs -ftest-coverage -O0']) 37 | 38 | AM_CONDITIONAL(DEBUG, test x"$debug" = x"true") 39 | 40 | # Add a option to force static link the target. 41 | AC_ARG_ENABLE([static], 42 | [ --enable-static build with static linking], 43 | [LDFLAGS='-static']) 44 | 45 | AM_CONDITIONAL(STATIC, test x"$static" = x"true") 46 | 47 | AC_CONFIG_FILES([Makefile src/Makefile]) 48 | AC_OUTPUT 49 | -------------------------------------------------------------------------------- /iplist.txt: -------------------------------------------------------------------------------- 1 | 1.1.127.45 2 | 1.1.67.51 3 | 1.2.3.4 4 | 1.209.208.200 5 | 1.226.83.147 6 | 1.234.21.83 7 | 1.234.29.40 8 | 1.234.39.14 9 | 1.234.4.91 10 | 1.234.70.80 11 | 1.234.83.104 12 | 1.244.115.172 13 | 1.33.170.68 14 | 1.33.188.62 15 | 1.33.190.228 16 | 1.33.190.70 17 | 1.33.191.58 18 | 104.200.31.226 19 | 104.28.1.22 20 | 104.28.14.112 21 | 104.28.20.14 22 | 104.28.30.59 23 | 106.186.120.157 24 | 106.187.39.80 25 | 107.6.34.101 26 | 108.168.215.230 27 | 108.168.250.3 28 | 108.179.196.77 29 | 108.179.250.106 30 | 108.61.250.218 31 | 109.123.115.205 32 | 109.206.173.212 33 | 109.234.159.38 34 | 109.71.81.130 35 | 110.173.154.142 36 | 110.74.163.40 37 | 112.175.60.31 38 | 113.11.194.190 39 | 113.160.102.90 40 | 118.145.17.184 41 | 118.219.253.245 42 | 118.5.49.6 43 | 119.18.62.130 44 | 119.235.57.82 45 | 119.245.217.155 46 | 119.9.94.83 47 | 12.87.133.0 48 | 120.89.93.248 49 | 122.214.2.171 50 | 122.218.101.190 51 | 123.126.249.238 52 | 123.30.175.29 53 | 123.50.49.171 54 | 125.230.148.48 55 | 127.0.0.2 56 | 128.121.126.139 57 | 128.199.180.162 58 | 133.192.181.66 59 | 133.242.165.24 60 | 133.42.48.3 61 | 137.135.129.175 62 | 14.102.249.18 63 | 141.101.118.102 64 | 141.8.195.47 65 | 141.8.195.78 66 | 141.8.225.80 67 | 142.4.5.109 68 | 144.76.106.232 69 | 144.76.127.114 70 | 144.76.21.13 71 | 145.253.183.23 72 | 147.87.244.32 73 | 155.92.182.118 74 | 157.205.32.64 75 | 157.7.143.209 76 | 159.106.121.75 77 | 159.253.20.179 78 | 159.50.88.77 79 | 16.63.155.0 80 | 162.159.243.101 81 | 162.243.137.163 82 | 162.253.33.134 83 | 164.109.96.232 84 | 164.138.221.68 85 | 168.156.168.21 86 | 169.132.13.103 87 | 171.17.130.53 88 | 171.25.204.141 89 | 173.192.219.59 90 | 173.194.127.144 91 | 173.201.216.6 92 | 173.224.209.14 93 | 173.236.228.108 94 | 173.244.184.10 95 | 173.255.194.174 96 | 173.255.230.196 97 | 174.142.113.142 98 | 174.142.22.25 99 | 176.10.37.81 100 | 176.57.216.145 101 | 178.18.82.216 102 | 178.236.177.77 103 | 178.32.111.136 104 | 178.32.156.59 105 | 178.32.247.82 106 | 178.33.212.162 107 | 178.49.132.135 108 | 178.62.242.156 109 | 178.62.75.99 110 | 178.79.182.248 111 | 180.153.225.168 112 | 180.179.171.121 113 | 180.87.182.227 114 | 181.224.155.41 115 | 183.111.141.95 116 | 184.154.10.146 117 | 184.169.132.244 118 | 184.72.253.232 119 | 185.25.150.45 120 | 185.53.61.50 121 | 188.132.250.186 122 | 188.165.31.24 123 | 188.226.207.251 124 | 188.40.108.13 125 | 188.5.4.96 126 | 189.163.17.5 127 | 192.104.44.6 128 | 192.121.151.106 129 | 192.67.198.6 130 | 192.95.98.202 131 | 193.105.145.158 132 | 193.169.66.88 133 | 193.203.48.18 134 | 193.234.233.149 135 | 193.238.151.98 136 | 193.239.132.44 137 | 193.48.96.218 138 | 193.57.244.117 139 | 193.91.26.132 140 | 194.149.250.20 141 | 194.185.115.1 142 | 194.187.94.6 143 | 194.67.144.70 144 | 195.146.235.33 145 | 195.149.210.211 146 | 195.154.243.151 147 | 195.191.149.103 148 | 195.2.88.68 149 | 195.211.72.200 150 | 195.43.82.170 151 | 195.49.201.30 152 | 195.50.195.15 153 | 195.74.38.62 154 | 195.74.78.21 155 | 195.77.241.242 156 | 195.8.125.64 157 | 197.4.4.12 158 | 198.143.143.36 159 | 198.57.205.133 160 | 198.57.222.88 161 | 198.58.124.68 162 | 199.167.31.142 163 | 199.21.68.222 164 | 199.79.63.83 165 | 2.1.1.2 166 | 2.187.253.121 167 | 2.228.123.7 168 | 2.228.154.8 169 | 20.139.56.0 170 | 200.229.206.115 171 | 200.98.234.14 172 | 201.77.211.143 173 | 202.106.1.2 174 | 202.181.7.85 175 | 202.218.219.10 176 | 202.6.96.25 177 | 203.113.173.22 178 | 203.133.238.172 179 | 203.161.230.171 180 | 203.199.57.81 181 | 203.98.7.65 182 | 206.108.51.91 183 | 206.113.150.70 184 | 207.12.88.98 185 | 207.126.59.27 186 | 207.140.149.247 187 | 207.58.177.166 188 | 208.109.138.55 189 | 208.109.205.232 190 | 208.112.102.122 191 | 208.43.134.107 192 | 208.43.33.194 193 | 208.56.31.43 194 | 208.73.211.164 195 | 208.86.154.112 196 | 208.93.0.150 197 | 209.116.71.109 198 | 209.126.106.182 199 | 209.141.48.35 200 | 209.145.54.50 201 | 209.188.7.186 202 | 209.204.148.22 203 | 209.220.30.174 204 | 209.235.224.25 205 | 209.36.73.33 206 | 209.43.1.130 207 | 209.56.158.42 208 | 209.62.154.94 209 | 209.85.229.138 210 | 210.175.255.154 211 | 210.209.110.199 212 | 210.230.192.183 213 | 211.43.203.33 214 | 211.5.133.18 215 | 211.8.69.27 216 | 211.94.66.147 217 | 212.227.98.130 218 | 212.45.52.219 219 | 212.68.42.67 220 | 212.77.104.29 221 | 213.108.66.21 222 | 213.133.111.102 223 | 213.169.251.35 224 | 213.174.158.108 225 | 213.186.33.5 226 | 213.19.161.141 227 | 213.207.85.148 228 | 213.238.166.227 229 | 216.12.205.2 230 | 216.139.213.144 231 | 216.178.241.101 232 | 216.198.246.103 233 | 216.221.188.182 234 | 216.234.179.13 235 | 216.250.115.144 236 | 216.38.0.92 237 | 216.70.88.29 238 | 216.92.58.37 239 | 217.160.42.85 240 | 217.172.183.9 241 | 217.30.184.161 242 | 218.44.251.212 243 | 220.110.150.90 244 | 220.247.224.8 245 | 221.213.49.149 246 | 221.8.69.27 247 | 222.122.56.219 248 | 23.23.14.192 249 | 23.89.5.60 250 | 24.51.184.0 251 | 243.185.187.30 252 | 243.185.187.39 253 | 249.129.46.48 254 | 253.157.14.165 255 | 28.121.126.139 256 | 28.13.216.0 257 | 31.169.90.4 258 | 31.170.8.8 259 | 31.210.156.212 260 | 31.22.4.60 261 | 31.222.185.202 262 | 31.25.191.134 263 | 34.254.247.151 264 | 37.1.205.21 265 | 37.1.207.129 266 | 37.140.238.35 267 | 37.187.134.150 268 | 37.187.149.129 269 | 37.187.251.35 270 | 37.252.122.184 271 | 37.58.78.79 272 | 37.59.25.95 273 | 37.61.54.158 274 | 37.99.194.148 275 | 38.117.98.231 276 | 4.17.143.131 277 | 4.193.80.0 278 | 4.21.70.9 279 | 4.30.13.168 280 | 4.30.187.9 281 | 4.30.235.229 282 | 4.31.139.146 283 | 4.34.180.178 284 | 4.35.100.20 285 | 4.35.234.200 286 | 4.36.66.178 287 | 4.53.17.215 288 | 4.59.79.206 289 | 4.78.167.196 290 | 4.79.129.122 291 | 41.79.20.9 292 | 43.253.199.12 293 | 46.137.219.7 294 | 46.165.231.144 295 | 46.20.126.252 296 | 46.20.13.100 297 | 46.229.175.95 298 | 46.243.6.170 299 | 46.30.212.198 300 | 46.38.24.209 301 | 46.82.174.68 302 | 49.2.123.56 303 | 49.212.153.128 304 | 5.10.105.41 305 | 5.10.68.187 306 | 5.10.68.188 307 | 5.10.69.29 308 | 5.10.77.72 309 | 5.100.152.24 310 | 5.100.225.204 311 | 5.100.228.206 312 | 5.100.231.27 313 | 5.100.248.208 314 | 5.144.129.20 315 | 5.35.251.108 316 | 5.9.118.111 317 | 5.9.120.140 318 | 5.9.136.210 319 | 5.9.242.232 320 | 5.9.5.26 321 | 5.9.65.105 322 | 50.116.6.162 323 | 50.18.183.233 324 | 50.57.11.12 325 | 50.63.202.13 326 | 50.87.148.140 327 | 50.87.169.77 328 | 50.93.207.101 329 | 50.97.134.91 330 | 54.174.40.182 331 | 54.187.136.30 332 | 54.187.39.38 333 | 54.191.193.138 334 | 54.200.3.32 335 | 54.206.98.127 336 | 54.209.238.28 337 | 54.209.87.186 338 | 54.218.38.198 339 | 54.229.147.183 340 | 54.235.199.154 341 | 54.244.22.77 342 | 54.246.169.32 343 | 54.246.202.250 344 | 54.68.166.130 345 | 54.76.135.1 346 | 54.83.51.191 347 | 54.86.21.64 348 | 54.86.223.202 349 | 54.88.252.91 350 | 59.124.74.28 351 | 59.24.3.173 352 | 61.54.28.6 353 | 62.138.115.35 354 | 62.75.221.31 355 | 62.92.17.213 356 | 64.14.72.41 357 | 64.150.184.98 358 | 64.22.110.34 359 | 64.33.88.161 360 | 64.33.99.47 361 | 64.34.161.142 362 | 64.50.179.133 363 | 64.66.163.251 364 | 64.79.69.250 365 | 64.79.84.141 366 | 64.91.254.97 367 | 65.104.202.252 368 | 65.160.219.113 369 | 65.183.39.139 370 | 66.146.2.241 371 | 66.187.204.50 372 | 66.206.11.194 373 | 66.39.61.161 374 | 66.45.252.237 375 | 66.55.151.148 376 | 66.85.134.186 377 | 66.96.147.160 378 | 67.137.227.11 379 | 67.225.220.248 380 | 68.71.58.18 381 | 69.16.196.113 382 | 69.167.172.162 383 | 69.171.13.49 384 | 69.174.244.221 385 | 69.175.75.202 386 | 69.195.124.90 387 | 69.30.23.10 388 | 69.50.192.218 389 | 69.61.60.122 390 | 70.42.243.33 391 | 72.14.205.104 392 | 72.14.205.99 393 | 72.167.32.10 394 | 72.20.110.50 395 | 72.29.94.240 396 | 72.32.4.243 397 | 72.47.228.79 398 | 72.5.1.109 399 | 72.52.244.56 400 | 74.117.117.122 401 | 74.117.57.138 402 | 74.124.195.73 403 | 74.125.127.102 404 | 74.125.155.102 405 | 74.125.204.121 406 | 74.125.39.102 407 | 74.125.39.113 408 | 74.207.236.174 409 | 74.208.125.184 410 | 74.220.215.67 411 | 74.82.166.166 412 | 75.98.175.166 413 | 76.164.217.116 414 | 77.4.7.92 415 | 78.108.178.26 416 | 78.140.172.33 417 | 78.16.49.15 418 | 78.24.135.99 419 | 79.127.127.68 420 | 79.136.125.49 421 | 79.98.34.60 422 | 8.105.84.0 423 | 8.34.161.150 424 | 8.7.198.45 425 | 80.190.96.26 426 | 80.241.209.19 427 | 80.241.92.180 428 | 80.245.171.70 429 | 80.70.184.118 430 | 80.72.41.146 431 | 80.82.117.209 432 | 80.82.201.154 433 | 80.92.117.132 434 | 82.145.47.117 435 | 83.125.118.122 436 | 83.222.124.187 437 | 83.222.5.171 438 | 84.124.59.165 439 | 85.111.18.138 440 | 85.190.0.110 441 | 85.25.171.103 442 | 85.92.134.229 443 | 87.106.57.209 444 | 87.230.46.50 445 | 88.198.69.101 446 | 88.214.195.67 447 | 89.108.118.129 448 | 89.111.181.74 449 | 89.186.95.11 450 | 89.30.125.204 451 | 89.31.55.106 452 | 90.156.201.42 453 | 91.121.245.154 454 | 91.186.28.41 455 | 91.198.129.47 456 | 91.217.73.22 457 | 91.221.37.35 458 | 91.223.175.25 459 | 91.238.30.54 460 | 91.239.201.16 461 | 92.53.106.175 462 | 92.53.96.9 463 | 92.63.110.174 464 | 93.115.240.148 465 | 93.158.121.72 466 | 93.187.205.2 467 | 93.46.8.89 468 | 93.93.187.49 469 | 94.136.188.30 470 | 94.141.31.140 471 | 94.23.147.142 472 | 94.23.156.11 473 | 94.23.193.224 474 | 94.23.199.144 475 | 95.163.95.47 476 | 95.211.150.70 477 | 95.211.229.156 478 | 95.211.58.97 479 | 95.85.22.163 480 | 96.126.97.15 481 | 96.127.172.221 482 | 96.30.51.148 483 | 97.74.80.22 484 | 98.129.229.202 485 | 98.158.152.159 486 | 98.158.178.141 487 | -------------------------------------------------------------------------------- /openwrt/Makefile: -------------------------------------------------------------------------------- 1 | include $(TOPDIR)/rules.mk 2 | 3 | PKG_NAME:=ChinaDNS 4 | PKG_VERSION:=1.3.2 5 | PKG_RELEASE=$(PKG_SOURCE_VERSION) 6 | 7 | PKG_SOURCE_URL:=https://github.com/clowwindy/ChinaDNS/releases/download/$(PKG_VERSION) 8 | PKG_SOURCE:=chinadns-$(PKG_VERSION).tar.gz 9 | PKG_MAINTAINER:=clowwindy 10 | 11 | PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/chinadns-$(PKG_VERSION) 12 | 13 | PKG_INSTALL:=1 14 | PKG_FIXUP:=autoreconf 15 | PKG_USE_MIPS16:=0 16 | PKG_BUILD_PARALLEL:=1 17 | 18 | include $(INCLUDE_DIR)/package.mk 19 | 20 | define Package/ChinaDNS/Default 21 | SECTION:=net 22 | CATEGORY:=Network 23 | TITLE:=ChinaDNS 24 | URL:=https://github.com/clowwindy/ChinaDNS 25 | endef 26 | 27 | define Package/ChinaDNS 28 | $(call Package/ChinaDNS/Default) 29 | endef 30 | 31 | define Package/ChinaDNS/description 32 | A DNS forwarder that ignores incorrect(you knew it) responses. 33 | endef 34 | 35 | define Package/ChinaDNS/conffiles 36 | /etc/chinadns_iplist.txt 37 | /etc/chinadns_chnroute.txt 38 | endef 39 | 40 | define Package/ChinaDNS/install 41 | $(INSTALL_DIR) $(1)/etc/init.d 42 | $(INSTALL_CONF) $(PKG_BUILD_DIR)/iplist.txt $(1)/etc/chinadns_iplist.txt 43 | $(INSTALL_CONF) $(PKG_BUILD_DIR)/chnroute.txt $(1)/etc/chinadns_chnroute.txt 44 | $(INSTALL_BIN) ./files/chinadns.init $(1)/etc/init.d/chinadns 45 | $(INSTALL_DIR) $(1)/usr/bin 46 | $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/chinadns $(1)/usr/bin 47 | endef 48 | 49 | $(eval $(call BuildPackage,ChinaDNS)) 50 | -------------------------------------------------------------------------------- /openwrt/files/chinadns.init: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | # chinadns init script 3 | 4 | START=90 5 | STOP=15 6 | EXTRA_COMMANDS="restart" 7 | PIDFILE='/tmp/chinadns.pid' 8 | 9 | start() 10 | { 11 | if [ -f $PIDFILE ] 12 | then 13 | echo "already started: $PIDFILE exists" 14 | exit 1 15 | fi 16 | chinadns \ 17 | -l /etc/chinadns_iplist.txt \ 18 | -c /etc/chinadns_chnroute.txt \ 19 | -p 5353 \ 20 | 1> /tmp/log/chinadns.log \ 21 | 2> /tmp/log/chinadns.err.log & 22 | echo $! > $PIDFILE 23 | iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5353 24 | } 25 | 26 | stop() 27 | { 28 | iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5353 29 | kill `cat $PIDFILE` 30 | rm $PIDFILE 31 | } 32 | 33 | restart() 34 | { 35 | stop 36 | start 37 | } 38 | -------------------------------------------------------------------------------- /packaging/build_all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | VERSION=$1 4 | 5 | pushd OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2 && \ 6 | pushd package/ChinaDNS && \ 7 | git fetch origin && \ 8 | git merge origin/dev --ff-only && \ 9 | popd && \ 10 | make V=s && \ 11 | rsync --progress -e ssh bin/ar71xx/packages/ChinaDNS_$1_ar71xx.ipk frs.sourceforge.net:/home/frs/project/chinadns/dist/ && \ 12 | popd && \ 13 | 14 | pushd OpenWrt-SDK-brcm47xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2 && \ 15 | make V=s && \ 16 | rsync --progress -e ssh bin/brcm47xx/packages/base/ChinaDNS_$1_brcm47xx.ipk frs.sourceforge.net:/home/frs/project/chinadns/dist/ && \ 17 | popd && \ 18 | 19 | pushd OpenWrt-SDK-brcm63xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2 && \ 20 | make V=s && \ 21 | rsync --progress -e ssh bin/brcm63xx/packages/base/ChinaDNS_$1_brcm63xx.ipk frs.sourceforge.net:/home/frs/project/chinadns/dist/ && \ 22 | popd && \ 23 | 24 | 25 | pushd OpenWrt-SDK-ramips-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2 && \ 26 | make V=s && \ 27 | rsync --progress -e ssh bin/ramips/packages/base/ChinaDNS_$1_ramips_24kec.ipk frs.sourceforge.net:/home/frs/project/chinadns/dist/ && \ 28 | popd 29 | 30 | 31 | -------------------------------------------------------------------------------- /packaging/release.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ $# -ne 1 ]; then 4 | echo usage: release.sh version 5 | exit 1 6 | fi 7 | 8 | VERSION=$1 9 | 10 | git tag $1 11 | git push origin $1 12 | ./autogen.sh && ./configure && make dist 13 | 14 | API_JSON=$(printf '{"tag_name": "%s","target_commitish": "master","name": "%s","body": "","draft": false,"prerelease": false}' $VERSION $VERSION) 15 | ID=`curl -L -v --data "$API_JSON" https://api.github.com/repos/clowwindy/ChinaDNS/releases?access_token=$GITHUB_TOKEN | python -c 'import json,sys;d = json.load(sys.stdin);print >>sys.stderr, d;print d["id"]'` 16 | 17 | curl -v -L -H "Content-Type: application/x-tar" \ 18 | -H "Authorization: token $GITHUB_TOKEN" \ 19 | --data-binary "@chinadns-$VERSION.tar.gz" \ 20 | https://uploads.github.com/repos/clowwindy/ChinaDNS/releases/$ID/assets?name=chinadns-$VERSION.tar.gz 21 | -------------------------------------------------------------------------------- /src/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = chinadns 2 | 3 | chinadns_SOURCES = chinadns.c local_ns_parser.c local_ns_parser.h 4 | -------------------------------------------------------------------------------- /src/chinadns.c: -------------------------------------------------------------------------------- 1 | /* ChinaDNS 2 | Copyright (C) 2015 clowwindy 3 | 4 | This program is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with this program. If not, see . 16 | */ 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | 34 | #include "local_ns_parser.h" 35 | 36 | #include "config.h" 37 | 38 | typedef struct { 39 | uint16_t id; 40 | struct timeval ts; 41 | char *buf; 42 | size_t buflen; 43 | struct sockaddr *addr; 44 | socklen_t addrlen; 45 | } delay_buf_t; 46 | 47 | typedef struct { 48 | uint16_t id; 49 | uint16_t old_id; 50 | struct sockaddr *addr; 51 | socklen_t addrlen; 52 | } id_addr_t; 53 | 54 | typedef struct { 55 | int entries; 56 | struct in_addr *ips; 57 | } ip_list_t; 58 | 59 | typedef struct { 60 | struct in_addr net; 61 | in_addr_t mask; 62 | } net_mask_t; 63 | 64 | typedef struct { 65 | int entries; 66 | net_mask_t *nets; 67 | } net_list_t; 68 | 69 | 70 | // avoid malloc and free 71 | #define BUF_SIZE 512 72 | static char global_buf[BUF_SIZE]; 73 | static char compression_buf[BUF_SIZE]; 74 | static int verbose = 0; 75 | static int compression = 0; 76 | static int bidirectional = 0; 77 | 78 | static const char *default_dns_servers = 79 | "114.114.114.114,223.5.5.5,8.8.8.8,8.8.4.4,208.67.222.222:443,208.67.222.222:5353"; 80 | static char *dns_servers = NULL; 81 | static int dns_servers_len; 82 | static int has_chn_dns; 83 | static id_addr_t *dns_server_addrs; 84 | 85 | static int parse_args(int argc, char **argv); 86 | 87 | static int setnonblock(int sock); 88 | static int resolve_dns_servers(); 89 | 90 | static const char *default_listen_addr = "0.0.0.0"; 91 | static const char *default_listen_port = "53"; 92 | 93 | static char *listen_addr = NULL; 94 | static char *listen_port = NULL; 95 | 96 | static char *ip_list_file = NULL; 97 | static ip_list_t ip_list; 98 | static int parse_ip_list(); 99 | 100 | static char *chnroute_file = NULL; 101 | static net_list_t chnroute_list; 102 | static int parse_chnroute(); 103 | static int test_ip_in_list(struct in_addr ip, const net_list_t *netlist); 104 | 105 | static int dns_init_sockets(); 106 | static void dns_handle_local(); 107 | static void dns_handle_remote(); 108 | 109 | static const char *hostname_from_question(ns_msg msg); 110 | static int should_filter_query(ns_msg msg, struct in_addr dns_addr); 111 | 112 | static void queue_add(id_addr_t id_addr); 113 | static id_addr_t *queue_lookup(uint16_t id); 114 | 115 | #define ID_ADDR_QUEUE_LEN 128 116 | // use a queue instead of hash here since it's not long 117 | static id_addr_t id_addr_queue[ID_ADDR_QUEUE_LEN]; 118 | static int id_addr_queue_pos = 0; 119 | 120 | #define EMPTY_RESULT_DELAY 0.3f 121 | #define DELAY_QUEUE_LEN 128 122 | static delay_buf_t delay_queue[DELAY_QUEUE_LEN]; 123 | static void schedule_delay(uint16_t query_id, const char *buf, size_t buflen, 124 | struct sockaddr *addr, socklen_t addrlen); 125 | static void check_and_send_delay(); 126 | static void free_delay(int pos); 127 | // next position for first, not used 128 | static int delay_queue_first = 0; 129 | // current position for last, used 130 | static int delay_queue_last = 0; 131 | static float empty_result_delay = EMPTY_RESULT_DELAY; 132 | 133 | static int local_sock; 134 | static int remote_sock; 135 | 136 | static void usage(void); 137 | 138 | #define __LOG(o, t, v, s...) do { \ 139 | time_t now; \ 140 | time(&now); \ 141 | char *time_str = ctime(&now); \ 142 | time_str[strlen(time_str) - 1] = '\0'; \ 143 | if (t == 0) { \ 144 | if (stdout != o || verbose) { \ 145 | fprintf(o, "%s ", time_str); \ 146 | fprintf(o, s); \ 147 | fflush(o); \ 148 | } \ 149 | } else if (t == 1) { \ 150 | fprintf(o, "%s %s:%d ", time_str, __FILE__, __LINE__); \ 151 | perror(v); \ 152 | } \ 153 | } while (0) 154 | 155 | #define LOG(s...) __LOG(stdout, 0, "_", s) 156 | #define ERR(s) __LOG(stderr, 1, s, "_") 157 | #define VERR(s...) __LOG(stderr, 0, "_", s) 158 | 159 | #ifdef DEBUG 160 | #define DLOG(s...) LOG(s) 161 | void __gcov_flush(void); 162 | static void gcov_handler(int signum) 163 | { 164 | __gcov_flush(); 165 | exit(1); 166 | } 167 | #else 168 | #define DLOG(s...) 169 | #endif 170 | 171 | int main(int argc, char **argv) { 172 | fd_set readset, errorset; 173 | int max_fd; 174 | 175 | #ifdef DEBUG 176 | signal(SIGTERM, gcov_handler); 177 | #endif 178 | 179 | memset(&id_addr_queue, 0, sizeof(id_addr_queue)); 180 | if (0 != parse_args(argc, argv)) 181 | return EXIT_FAILURE; 182 | if (!compression) 183 | memset(&delay_queue, 0, sizeof(delay_queue)); 184 | if (0 != parse_ip_list()) 185 | return EXIT_FAILURE; 186 | if (0 != parse_chnroute()) 187 | return EXIT_FAILURE; 188 | if (0 != resolve_dns_servers()) 189 | return EXIT_FAILURE; 190 | if (0 != dns_init_sockets()) 191 | return EXIT_FAILURE; 192 | 193 | max_fd = MAX(local_sock, remote_sock) + 1; 194 | while (1) { 195 | FD_ZERO(&readset); 196 | FD_ZERO(&errorset); 197 | FD_SET(local_sock, &readset); 198 | FD_SET(local_sock, &errorset); 199 | FD_SET(remote_sock, &readset); 200 | FD_SET(remote_sock, &errorset); 201 | struct timeval timeout = { 202 | .tv_sec = 0, 203 | .tv_usec = 50 * 1000, 204 | }; 205 | if (-1 == select(max_fd, &readset, NULL, &errorset, &timeout)) { 206 | ERR("select"); 207 | return EXIT_FAILURE; 208 | } 209 | check_and_send_delay(); 210 | if (FD_ISSET(local_sock, &errorset)) { 211 | // TODO getsockopt(..., SO_ERROR, ...); 212 | VERR("local_sock error\n"); 213 | return EXIT_FAILURE; 214 | } 215 | if (FD_ISSET(remote_sock, &errorset)) { 216 | // TODO getsockopt(..., SO_ERROR, ...); 217 | VERR("remote_sock error\n"); 218 | return EXIT_FAILURE; 219 | } 220 | if (FD_ISSET(local_sock, &readset)) 221 | dns_handle_local(); 222 | if (FD_ISSET(remote_sock, &readset)) 223 | dns_handle_remote(); 224 | } 225 | return EXIT_SUCCESS; 226 | } 227 | 228 | static int setnonblock(int sock) { 229 | int flags; 230 | flags = fcntl(sock, F_GETFL, 0); 231 | if (flags == -1) { 232 | ERR("fcntl"); 233 | return -1; 234 | } 235 | if (-1 == fcntl(sock, F_SETFL, flags | O_NONBLOCK)) { 236 | ERR("fcntl"); 237 | return -1; 238 | } 239 | return 0; 240 | } 241 | 242 | static int parse_args(int argc, char **argv) { 243 | int ch; 244 | while ((ch = getopt(argc, argv, "hb:p:s:l:c:y:dmvV")) != -1) { 245 | switch (ch) { 246 | case 'h': 247 | usage(); 248 | exit(0); 249 | case 'b': 250 | listen_addr = strdup(optarg); 251 | break; 252 | case 'p': 253 | listen_port = strdup(optarg); 254 | break; 255 | case 's': 256 | dns_servers = strdup(optarg); 257 | break; 258 | case 'c': 259 | chnroute_file = strdup(optarg); 260 | break; 261 | case 'l': 262 | ip_list_file = strdup(optarg); 263 | break; 264 | case 'y': 265 | empty_result_delay = atof(optarg); 266 | break; 267 | case 'd': 268 | bidirectional = 1; 269 | break; 270 | case 'm': 271 | compression = 1; 272 | break; 273 | case 'v': 274 | verbose = 1; 275 | break; 276 | case 'V': 277 | printf("ChinaDNS %s\n", PACKAGE_VERSION); 278 | exit(0); 279 | default: 280 | usage(); 281 | exit(1); 282 | } 283 | } 284 | if (dns_servers == NULL) { 285 | dns_servers = strdup(default_dns_servers); 286 | } 287 | if (listen_addr == NULL) { 288 | listen_addr = strdup(default_listen_addr); 289 | } 290 | if (listen_port == NULL) { 291 | listen_port = strdup(default_listen_port); 292 | } 293 | argc -= optind; 294 | argv += optind; 295 | return 0; 296 | } 297 | 298 | static int resolve_dns_servers() { 299 | struct addrinfo hints; 300 | struct addrinfo *addr_ip; 301 | char* token; 302 | int r; 303 | int i = 0; 304 | char *pch = strchr(dns_servers, ','); 305 | has_chn_dns = 0; 306 | int has_foreign_dns = 0; 307 | dns_servers_len = 1; 308 | if (compression) { 309 | if (!chnroute_file) { 310 | VERR("Chnroutes are necessary when using DNS compression pointer mutation\n"); 311 | return -1; 312 | } 313 | } 314 | while (pch != NULL) { 315 | dns_servers_len++; 316 | pch = strchr(pch + 1, ','); 317 | } 318 | dns_server_addrs = calloc(dns_servers_len, sizeof(id_addr_t)); 319 | 320 | memset(&hints, 0, sizeof(hints)); 321 | hints.ai_family = AF_INET; 322 | hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */ 323 | token = strtok(dns_servers, ","); 324 | while (token) { 325 | char *port; 326 | memset(global_buf, 0, BUF_SIZE); 327 | strncpy(global_buf, token, BUF_SIZE - 1); 328 | port = (strrchr(global_buf, ':')); 329 | if (port) { 330 | *port = '\0'; 331 | port++; 332 | } else { 333 | port = "53"; 334 | } 335 | if (0 != (r = getaddrinfo(global_buf, port, &hints, &addr_ip))) { 336 | VERR("%s:%s\n", gai_strerror(r), token); 337 | return -1; 338 | } 339 | if (compression) { 340 | if (test_ip_in_list(((struct sockaddr_in *)addr_ip->ai_addr)->sin_addr, 341 | &chnroute_list)) { 342 | dns_server_addrs[has_chn_dns].addr = addr_ip->ai_addr; 343 | dns_server_addrs[has_chn_dns].addrlen = addr_ip->ai_addrlen; 344 | has_chn_dns++; 345 | } else { 346 | has_foreign_dns++; 347 | dns_server_addrs[dns_servers_len - has_foreign_dns].addr = addr_ip->ai_addr; 348 | dns_server_addrs[dns_servers_len - has_foreign_dns].addrlen = addr_ip->ai_addrlen; 349 | } 350 | token = strtok(0, ","); 351 | } else { 352 | dns_server_addrs[i].addr = addr_ip->ai_addr; 353 | dns_server_addrs[i].addrlen = addr_ip->ai_addrlen; 354 | i++; 355 | token = strtok(0, ","); 356 | if (chnroute_file) { 357 | if (test_ip_in_list(((struct sockaddr_in *)addr_ip->ai_addr)->sin_addr, 358 | &chnroute_list)) { 359 | has_chn_dns = 1; 360 | } else { 361 | has_foreign_dns = 1; 362 | } 363 | } 364 | } 365 | } 366 | if (chnroute_file) { 367 | if (!(has_chn_dns && has_foreign_dns)) { 368 | if (compression) { 369 | VERR("You should have at least one Chinese DNS and one foreign DNS when " 370 | "using DNS compression pointer mutation\n"); 371 | return -1; 372 | } else { 373 | VERR("You should have at least one Chinese DNS and one foreign DNS when " 374 | "chnroutes is enabled\n"); 375 | return 0; 376 | } 377 | } 378 | } 379 | return 0; 380 | } 381 | 382 | static int cmp_in_addr(const void *a, const void *b) { 383 | struct in_addr *ina = (struct in_addr *)a; 384 | struct in_addr *inb = (struct in_addr *)b; 385 | if (ina->s_addr == inb->s_addr) 386 | return 0; 387 | if (ina->s_addr > inb->s_addr) 388 | return 1; 389 | return -1; 390 | } 391 | 392 | static int parse_ip_list() { 393 | FILE *fp; 394 | char line_buf[32]; 395 | char *line = NULL; 396 | size_t len = sizeof(line_buf); 397 | ssize_t read; 398 | ip_list.entries = 0; 399 | int i = 0; 400 | 401 | if (ip_list_file == NULL) 402 | return 0; 403 | 404 | fp = fopen(ip_list_file, "rb"); 405 | if (fp == NULL) { 406 | ERR("fopen"); 407 | VERR("Can't open ip list: %s\n", ip_list_file); 408 | return -1; 409 | } 410 | while ((line = fgets(line_buf, len, fp))) { 411 | ip_list.entries++; 412 | } 413 | 414 | ip_list.ips = calloc(ip_list.entries, sizeof(struct in_addr)); 415 | if (0 != fseek(fp, 0, SEEK_SET)) { 416 | VERR("fseek"); 417 | return -1; 418 | } 419 | while ((line = fgets(line_buf, len, fp))) { 420 | char *sp_pos; 421 | sp_pos = strchr(line, '\r'); 422 | if (sp_pos) *sp_pos = 0; 423 | sp_pos = strchr(line, '\n'); 424 | if (sp_pos) *sp_pos = 0; 425 | inet_aton(line, &ip_list.ips[i]); 426 | i++; 427 | } 428 | 429 | qsort(ip_list.ips, ip_list.entries, sizeof(struct in_addr), cmp_in_addr); 430 | fclose(fp); 431 | return 0; 432 | } 433 | 434 | static int cmp_net_mask(const void *a, const void *b) { 435 | net_mask_t *neta = (net_mask_t *)a; 436 | net_mask_t *netb = (net_mask_t *)b; 437 | if (neta->net.s_addr == netb->net.s_addr) 438 | return 0; 439 | // TODO: pre ntohl 440 | if (ntohl(neta->net.s_addr) > ntohl(netb->net.s_addr)) 441 | return 1; 442 | return -1; 443 | } 444 | 445 | static int parse_chnroute() { 446 | FILE *fp; 447 | char line_buf[32]; 448 | char *line; 449 | size_t len = sizeof(line_buf); 450 | ssize_t read; 451 | char net[32]; 452 | chnroute_list.entries = 0; 453 | int i = 0; 454 | 455 | if (chnroute_file == NULL) { 456 | VERR("CHNROUTE_FILE not specified, CHNRoute is disabled\n"); 457 | return 0; 458 | } 459 | 460 | fp = fopen(chnroute_file, "rb"); 461 | if (fp == NULL) { 462 | ERR("fopen"); 463 | VERR("Can't open chnroute: %s\n", chnroute_file); 464 | return -1; 465 | } 466 | while ((line = fgets(line_buf, len, fp))) { 467 | chnroute_list.entries++; 468 | } 469 | 470 | chnroute_list.nets = calloc(chnroute_list.entries, sizeof(net_mask_t)); 471 | if (0 != fseek(fp, 0, SEEK_SET)) { 472 | VERR("fseek"); 473 | return -1; 474 | } 475 | while ((line = fgets(line_buf, len, fp))) { 476 | char *sp_pos; 477 | sp_pos = strchr(line, '\r'); 478 | if (sp_pos) *sp_pos = 0; 479 | sp_pos = strchr(line, '\n'); 480 | if (sp_pos) *sp_pos = 0; 481 | sp_pos = strchr(line, '/'); 482 | if (sp_pos) { 483 | *sp_pos = 0; 484 | chnroute_list.nets[i].mask = (1 << (32 - atoi(sp_pos + 1))) - 1; 485 | } else { 486 | chnroute_list.nets[i].mask = UINT32_MAX; 487 | } 488 | if (0 == inet_aton(line, &chnroute_list.nets[i].net)) { 489 | VERR("invalid addr %s in %s:%d\n", line, chnroute_file, i + 1); 490 | return 1; 491 | } 492 | i++; 493 | } 494 | 495 | qsort(chnroute_list.nets, chnroute_list.entries, sizeof(net_mask_t), 496 | cmp_net_mask); 497 | 498 | fclose(fp); 499 | return 0; 500 | } 501 | 502 | static int test_ip_in_list(struct in_addr ip, const net_list_t *netlist) { 503 | // binary search 504 | int l = 0, r = netlist->entries - 1; 505 | int m, cmp; 506 | if (netlist->entries == 0) 507 | return 0; 508 | net_mask_t ip_net; 509 | ip_net.net = ip; 510 | while (l != r) { 511 | m = (l + r) / 2; 512 | cmp = cmp_net_mask(&ip_net, &netlist->nets[m]); 513 | if (cmp == -1) { 514 | if (r != m) 515 | r = m; 516 | else 517 | break; 518 | } else { 519 | if (l != m) 520 | l = m; 521 | else 522 | break; 523 | } 524 | DLOG("l=%d, r=%d\n", l, r); 525 | DLOG("%s, %d\n", inet_ntoa(netlist->nets[m].net), 526 | netlist->nets[m].mask); 527 | } 528 | DLOG("result: %x\n", 529 | (ntohl(netlist->nets[l].net.s_addr) ^ ntohl(ip.s_addr))); 530 | DLOG("mask: %x\n", (UINT32_MAX - netlist->nets[l].mask)); 531 | if ((ntohl(netlist->nets[l].net.s_addr) ^ ntohl(ip.s_addr)) & 532 | (UINT32_MAX ^ netlist->nets[l].mask)) { 533 | return 0; 534 | } 535 | return 1; 536 | } 537 | 538 | static int dns_init_sockets() { 539 | struct addrinfo hints; 540 | struct addrinfo *addr_ip; 541 | int r; 542 | 543 | local_sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); 544 | if (0 != setnonblock(local_sock)) 545 | return -1; 546 | memset(&hints, 0, sizeof(hints)); 547 | hints.ai_family = AF_INET; 548 | hints.ai_socktype = SOCK_DGRAM; 549 | if (0 != (r = getaddrinfo(listen_addr, listen_port, &hints, &addr_ip))) { 550 | VERR("%s:%s:%s\n", gai_strerror(r), listen_addr, listen_port); 551 | return -1; 552 | } 553 | if (0 != bind(local_sock, addr_ip->ai_addr, addr_ip->ai_addrlen)) { 554 | ERR("bind"); 555 | VERR("Can't bind address %s:%s\n", listen_addr, listen_port); 556 | return -1; 557 | } 558 | freeaddrinfo(addr_ip); 559 | remote_sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); 560 | if (0 != setnonblock(remote_sock)) 561 | return -1; 562 | return 0; 563 | } 564 | 565 | static void dns_handle_local() { 566 | struct sockaddr *src_addr = malloc(sizeof(struct sockaddr)); 567 | socklen_t src_addrlen = sizeof(struct sockaddr); 568 | uint16_t query_id; 569 | ssize_t len; 570 | int i; 571 | int sended = 0; 572 | const char *question_hostname; 573 | ns_msg msg; 574 | len = recvfrom(local_sock, global_buf, BUF_SIZE, 0, src_addr, &src_addrlen); 575 | if (len > 0) { 576 | if (local_ns_initparse((const u_char *)global_buf, len, &msg) < 0) { 577 | ERR("local_ns_initparse"); 578 | free(src_addr); 579 | return; 580 | } 581 | // parse DNS query id 582 | // TODO generate id for each request to avoid conflicts 583 | query_id = ns_msg_id(msg); 584 | question_hostname = hostname_from_question(msg); 585 | LOG("request %s\n", question_hostname); 586 | 587 | // assign a new id 588 | uint16_t new_id; 589 | do { 590 | struct timeval tv; 591 | gettimeofday(&tv, 0); 592 | int randombits = (tv.tv_sec << 8) ^ tv.tv_usec; 593 | new_id = randombits & 0xffff; 594 | } while (queue_lookup(new_id)); 595 | 596 | uint16_t ns_new_id = htons(new_id); 597 | memcpy(global_buf, &ns_new_id, 2); 598 | 599 | id_addr_t id_addr; 600 | id_addr.id = new_id; 601 | id_addr.old_id = query_id; 602 | 603 | id_addr.addr = src_addr; 604 | id_addr.addrlen = src_addrlen; 605 | queue_add(id_addr); 606 | if (compression) { 607 | if (len > 16) { 608 | size_t off = 12; 609 | int ended = 0; 610 | while (off < len - 4) { 611 | if (global_buf[off] & 0xc0) 612 | break; 613 | if (global_buf[off] == 0) { 614 | ended = 1; 615 | off ++; 616 | break; 617 | } 618 | off += 1 + global_buf[off]; 619 | } 620 | if (ended) { 621 | memcpy(compression_buf, global_buf, off-1); 622 | memcpy(compression_buf + off + 1, global_buf + off, len - off); 623 | compression_buf[off-1] = '\xc0'; 624 | compression_buf[off] = '\x04'; 625 | for (i = 0; i < has_chn_dns; i++) { 626 | if (-1 == sendto(remote_sock, global_buf, len, 0, 627 | dns_server_addrs[i].addr, 628 | dns_server_addrs[i].addrlen)) 629 | ERR("sendto"); 630 | } 631 | for (i = has_chn_dns; i < dns_servers_len; i++) { 632 | if (-1 == sendto(remote_sock, compression_buf, len + 1, 0, 633 | dns_server_addrs[i].addr, 634 | dns_server_addrs[i].addrlen)) 635 | ERR("sendto"); 636 | sended = 1; 637 | } 638 | } 639 | } 640 | } 641 | if (!sended) { 642 | for (i = 0; i < dns_servers_len; i++) { 643 | if (-1 == sendto(remote_sock, global_buf, len, 0, 644 | dns_server_addrs[i].addr, 645 | dns_server_addrs[i].addrlen)) 646 | ERR("sendto"); 647 | } 648 | } 649 | } 650 | else 651 | ERR("recvfrom"); 652 | } 653 | 654 | static void dns_handle_remote() { 655 | struct sockaddr *src_addr = malloc(sizeof(struct sockaddr)); 656 | socklen_t src_len = sizeof(struct sockaddr); 657 | uint16_t query_id; 658 | ssize_t len; 659 | const char *question_hostname; 660 | int r; 661 | ns_msg msg; 662 | len = recvfrom(remote_sock, global_buf, BUF_SIZE, 0, src_addr, &src_len); 663 | if (len > 0) { 664 | if (local_ns_initparse((const u_char *)global_buf, len, &msg) < 0) { 665 | ERR("local_ns_initparse"); 666 | free(src_addr); 667 | return; 668 | } 669 | // parse DNS query id 670 | query_id = ns_msg_id(msg); 671 | question_hostname = hostname_from_question(msg); 672 | if (question_hostname) { 673 | LOG("response %s from %s:%d - ", question_hostname, 674 | inet_ntoa(((struct sockaddr_in *)src_addr)->sin_addr), 675 | htons(((struct sockaddr_in *)src_addr)->sin_port)); 676 | } 677 | id_addr_t *id_addr = queue_lookup(query_id); 678 | if (id_addr) { 679 | id_addr->addr->sa_family = AF_INET; 680 | uint16_t ns_old_id = htons(id_addr->old_id); 681 | memcpy(global_buf, &ns_old_id, 2); 682 | r = should_filter_query(msg, ((struct sockaddr_in *)src_addr)->sin_addr); 683 | if (r == 0) { 684 | if (verbose) 685 | printf("pass\n"); 686 | if (-1 == sendto(local_sock, global_buf, len, 0, id_addr->addr, 687 | id_addr->addrlen)) 688 | ERR("sendto"); 689 | } else if (r == -1) { 690 | schedule_delay(query_id, global_buf, len, id_addr->addr, 691 | id_addr->addrlen); 692 | if (verbose) 693 | printf("delay\n"); 694 | } else { 695 | if (verbose) 696 | printf("filter\n"); 697 | } 698 | } else { 699 | if (verbose) 700 | printf("skip\n"); 701 | } 702 | free(src_addr); 703 | } 704 | else 705 | ERR("recvfrom"); 706 | } 707 | 708 | static void queue_add(id_addr_t id_addr) { 709 | id_addr_queue_pos = (id_addr_queue_pos + 1) % ID_ADDR_QUEUE_LEN; 710 | // free next hole 711 | id_addr_t old_id_addr = id_addr_queue[id_addr_queue_pos]; 712 | free(old_id_addr.addr); 713 | id_addr_queue[id_addr_queue_pos] = id_addr; 714 | } 715 | 716 | static id_addr_t *queue_lookup(uint16_t id) { 717 | int i; 718 | for (i = 0; i < ID_ADDR_QUEUE_LEN; i++) { 719 | if (id_addr_queue[i].id == id) 720 | return id_addr_queue + i; 721 | } 722 | return NULL; 723 | } 724 | 725 | static char *hostname_buf = NULL; 726 | static size_t hostname_buflen = 0; 727 | static const char *hostname_from_question(ns_msg msg) { 728 | ns_rr rr; 729 | int rrnum, rrmax; 730 | const char *result; 731 | int result_len; 732 | rrmax = ns_msg_count(msg, ns_s_qd); 733 | if (rrmax == 0) 734 | return NULL; 735 | for (rrnum = 0; rrnum < rrmax; rrnum++) { 736 | if (local_ns_parserr(&msg, ns_s_qd, rrnum, &rr)) { 737 | ERR("local_ns_parserr"); 738 | return NULL; 739 | } 740 | result = ns_rr_name(rr); 741 | result_len = strlen(result) + 1; 742 | if (result_len > hostname_buflen) { 743 | hostname_buflen = result_len << 1; 744 | hostname_buf = realloc(hostname_buf, hostname_buflen); 745 | } 746 | memcpy(hostname_buf, result, result_len); 747 | return hostname_buf; 748 | } 749 | return NULL; 750 | } 751 | 752 | static int should_filter_query(ns_msg msg, struct in_addr dns_addr) { 753 | ns_rr rr; 754 | int rrnum, rrmax; 755 | void *r; 756 | // TODO cache result for each dns server 757 | int dns_is_chn = 0; 758 | int dns_is_foreign = 0; 759 | if (chnroute_file && (dns_servers_len > 1)) { 760 | dns_is_chn = test_ip_in_list(dns_addr, &chnroute_list); 761 | dns_is_foreign = !dns_is_chn; 762 | } 763 | rrmax = ns_msg_count(msg, ns_s_an); 764 | if (rrmax == 0) { 765 | if (compression) { 766 | // Wait for foreign dns 767 | if (dns_is_chn) { 768 | return 1; 769 | } else { 770 | return 0; 771 | } 772 | } 773 | return -1; 774 | } 775 | for (rrnum = 0; rrnum < rrmax; rrnum++) { 776 | if (local_ns_parserr(&msg, ns_s_an, rrnum, &rr)) { 777 | ERR("local_ns_parserr"); 778 | return 0; 779 | } 780 | u_int type; 781 | const u_char *rd; 782 | type = ns_rr_type(rr); 783 | rd = ns_rr_rdata(rr); 784 | if (type == ns_t_a) { 785 | if (verbose) 786 | printf("%s, ", inet_ntoa(*(struct in_addr *)rd)); 787 | if (!compression) { 788 | r = bsearch(rd, ip_list.ips, ip_list.entries, sizeof(struct in_addr), 789 | cmp_in_addr); 790 | if (r) { 791 | return 1; 792 | } 793 | } 794 | if (test_ip_in_list(*(struct in_addr *)rd, &chnroute_list)) { 795 | // result is chn 796 | if (dns_is_foreign) { 797 | if (bidirectional) { 798 | // filter DNS result from foreign dns if result is inside chn 799 | return 1; 800 | } 801 | } 802 | } else { 803 | // result is foreign 804 | if (dns_is_chn) { 805 | // filter DNS result from chn dns if result is outside chn 806 | return 1; 807 | } 808 | } 809 | } else if (type == ns_t_aaaa || type == ns_t_ptr) { 810 | // if we've got an IPv6 result or a PTR result, pass 811 | return 0; 812 | } 813 | } 814 | if (rrmax == 1) { 815 | if (compression) { 816 | return 0; 817 | } else { 818 | return -1; 819 | } 820 | } 821 | return 0; 822 | } 823 | 824 | static void schedule_delay(uint16_t query_id, const char *buf, size_t buflen, 825 | struct sockaddr *addr, socklen_t addrlen) { 826 | int i; 827 | int found = 0; 828 | struct timeval now; 829 | gettimeofday(&now, 0); 830 | 831 | delay_buf_t *delay_buf = &delay_queue[delay_queue_last]; 832 | 833 | // first search for existed item with query_id and replace it 834 | for (i = delay_queue_first; 835 | i != delay_queue_last; 836 | i = (i + 1) % DELAY_QUEUE_LEN) { 837 | delay_buf_t *delay_buf2 = &delay_queue[i]; 838 | if (delay_buf2->id == query_id) { 839 | free_delay(i); 840 | delay_buf = &delay_queue[i]; 841 | found = 1; 842 | } 843 | } 844 | 845 | delay_buf->id = query_id; 846 | delay_buf->ts = now; 847 | delay_buf->buf = malloc(buflen); 848 | memcpy(delay_buf->buf, buf, buflen); 849 | delay_buf->buflen = buflen; 850 | delay_buf->addr = malloc(addrlen); 851 | memcpy(delay_buf->addr, addr, addrlen); 852 | delay_buf->addrlen = addrlen; 853 | 854 | // then append to queue 855 | if (!found) { 856 | delay_queue_last = (delay_queue_last + 1) % DELAY_QUEUE_LEN; 857 | if (delay_queue_last == delay_queue_first) { 858 | free_delay(delay_queue_first); 859 | delay_queue_first = (delay_queue_first + 1) % DELAY_QUEUE_LEN; 860 | } 861 | } 862 | } 863 | 864 | float time_diff(struct timeval t0, struct timeval t1) { 865 | return (t1.tv_sec - t0.tv_sec) + 866 | (t1.tv_usec - t0.tv_usec) / 1000000.0f; 867 | } 868 | 869 | static void check_and_send_delay() { 870 | struct timeval now; 871 | int i; 872 | gettimeofday(&now, 0); 873 | for (i = delay_queue_first; 874 | i != delay_queue_last; 875 | i = (i + 1) % DELAY_QUEUE_LEN) { 876 | delay_buf_t *delay_buf = &delay_queue[i]; 877 | if (time_diff(delay_buf->ts, now) > empty_result_delay) { 878 | if (-1 == sendto(local_sock, delay_buf->buf, delay_buf->buflen, 0, 879 | delay_buf->addr, delay_buf->addrlen)) 880 | ERR("sendto"); 881 | free_delay(i); 882 | delay_queue_first = (delay_queue_first + 1) % DELAY_QUEUE_LEN; 883 | } else { 884 | break; 885 | } 886 | } 887 | } 888 | 889 | static void free_delay(int pos) { 890 | free(delay_queue[pos].buf); 891 | free(delay_queue[pos].addr); 892 | } 893 | 894 | static void usage() { 895 | printf("%s\n", "\ 896 | usage: chinadns [-h] [-l IPLIST_FILE] [-b BIND_ADDR] [-p BIND_PORT]\n\ 897 | [-c CHNROUTE_FILE] [-s DNS] [-m] [-v] [-V]\n\ 898 | Forward DNS requests.\n\ 899 | \n\ 900 | -l IPLIST_FILE path to ip blacklist file\n\ 901 | -c CHNROUTE_FILE path to china route file\n\ 902 | if not specified, CHNRoute will be turned\n\ 903 | -d off enable bi-directional CHNRoute filter\n\ 904 | -y delay time for suspects, default: 0.3\n\ 905 | -b BIND_ADDR address that listens, default: 0.0.0.0\n\ 906 | -p BIND_PORT port that listens, default: 53\n\ 907 | -s DNS DNS servers to use, default:\n\ 908 | 114.114.114.114,208.67.222.222:443,8.8.8.8\n\ 909 | -m use DNS compression pointer mutation\n\ 910 | (backlist and delaying would be disabled)\n\ 911 | -v verbose logging\n\ 912 | -h show this help message and exit\n\ 913 | -V print version and exit\n\ 914 | \n\ 915 | Online help: \n"); 916 | } 917 | 918 | 919 | -------------------------------------------------------------------------------- /src/local_ns_parser.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "local_ns_parser.h" 5 | 6 | static void local_ns_setsection(ns_msg *msg, ns_sect sect); 7 | static int local_ns_skiprr(const unsigned char *ptr, const unsigned char *eom, ns_sect section, int count); 8 | static int local_ns_dn_skipname(const unsigned char *ptr, const unsigned char *eom); 9 | static int local_ns_name_skip(const unsigned char **ptrptr, const unsigned char *eom); 10 | static int local_ns_labellen(const unsigned char *lp); 11 | #define LOCAL_NS_TYPE_ELT 0x40 /*%< EDNS0 extended label type */ 12 | #define LOCAL_DNS_LABELTYPE_BITSTRING 0x41 13 | #ifdef __UCLIBC__ 14 | #define LOCAL_NS_MSG_PTR _ptr 15 | #else 16 | #define LOCAL_NS_MSG_PTR _msg_ptr 17 | #endif 18 | 19 | int local_ns_initparse(const unsigned char *msg, int msglen, ns_msg *handle) 20 | { 21 | const unsigned char *eom = msg + msglen; 22 | int i; 23 | 24 | handle->_msg = msg; 25 | handle->_eom = eom; 26 | if (msg + NS_INT16SZ > eom) { 27 | errno = EMSGSIZE; 28 | return -1; 29 | } 30 | 31 | NS_GET16(handle->_id, msg); 32 | if (msg + NS_INT16SZ > eom) { 33 | errno = EMSGSIZE; 34 | return -1; 35 | } 36 | 37 | NS_GET16(handle->_flags, msg); 38 | for (i = 0; i < ns_s_max; i++) { 39 | if (msg + NS_INT16SZ > eom) { 40 | errno = EMSGSIZE; 41 | return -1; 42 | } 43 | 44 | NS_GET16(handle->_counts[i], msg); 45 | } 46 | for (i = 0; i < ns_s_max; i++) 47 | if (handle->_counts[i] == 0) 48 | handle->_sections[i] = NULL; 49 | else { 50 | int b = local_ns_skiprr(msg, eom, (ns_sect)i, 51 | handle->_counts[i]); 52 | 53 | if (b < 0) 54 | return -1; 55 | handle->_sections[i] = msg; 56 | msg += b; 57 | } 58 | 59 | if (msg != eom) { 60 | errno = EMSGSIZE; 61 | return -1; 62 | } 63 | 64 | local_ns_setsection(handle, ns_s_max); 65 | return 0; 66 | } 67 | int local_ns_parserr(ns_msg *handle, ns_sect section, int rrnum, ns_rr *rr) 68 | { 69 | int b; 70 | int tmp; 71 | 72 | /* Make section right. */ 73 | tmp = section; 74 | if (tmp < 0 || section >= ns_s_max) { 75 | errno = ENODEV; 76 | return -1; 77 | } 78 | 79 | if (section != handle->_sect) 80 | local_ns_setsection(handle, section); 81 | 82 | /* Make rrnum right. */ 83 | if (rrnum == -1) 84 | rrnum = handle->_rrnum; 85 | if (rrnum < 0 || rrnum >= handle->_counts[(int)section]) { 86 | errno = ENODEV; 87 | return -1; 88 | } 89 | if (rrnum < handle->_rrnum) 90 | local_ns_setsection(handle, section); 91 | if (rrnum > handle->_rrnum) { 92 | b = local_ns_skiprr(handle->LOCAL_NS_MSG_PTR, handle->_eom, section, 93 | rrnum - handle->_rrnum); 94 | 95 | if (b < 0) 96 | return (-1); 97 | handle->LOCAL_NS_MSG_PTR += b; 98 | handle->_rrnum = rrnum; 99 | } 100 | 101 | /* Do the parse. */ 102 | b = dn_expand(handle->_msg, handle->_eom, 103 | handle->LOCAL_NS_MSG_PTR, rr->name, NS_MAXDNAME); 104 | if (b < 0) 105 | return (-1); 106 | handle->LOCAL_NS_MSG_PTR += b; 107 | if (handle->LOCAL_NS_MSG_PTR + NS_INT16SZ + NS_INT16SZ > handle->_eom) { 108 | errno = EMSGSIZE; 109 | return -1; 110 | } 111 | NS_GET16(rr->type, handle->LOCAL_NS_MSG_PTR); 112 | NS_GET16(rr->rr_class, handle->LOCAL_NS_MSG_PTR); 113 | if (section == ns_s_qd) { 114 | rr->ttl = 0; 115 | rr->rdlength = 0; 116 | rr->rdata = NULL; 117 | } else { 118 | if (handle->LOCAL_NS_MSG_PTR + NS_INT32SZ + NS_INT16SZ > handle->_eom) { 119 | errno = EMSGSIZE; 120 | return -1; 121 | } 122 | NS_GET32(rr->ttl, handle->LOCAL_NS_MSG_PTR); 123 | NS_GET16(rr->rdlength, handle->LOCAL_NS_MSG_PTR); 124 | if (handle->LOCAL_NS_MSG_PTR + rr->rdlength > handle->_eom) { 125 | errno = EMSGSIZE; 126 | return -1; 127 | } 128 | rr->rdata = handle->LOCAL_NS_MSG_PTR; 129 | handle->LOCAL_NS_MSG_PTR += rr->rdlength; 130 | } 131 | if (++handle->_rrnum > handle->_counts[(int)section]) 132 | local_ns_setsection(handle, (ns_sect)((int)section + 1)); 133 | 134 | return 0; 135 | } 136 | static void local_ns_setsection(ns_msg *msg, ns_sect sect) 137 | { 138 | msg->_sect = sect; 139 | if (sect == ns_s_max) { 140 | msg->_rrnum = -1; 141 | msg->LOCAL_NS_MSG_PTR = NULL; 142 | } else { 143 | msg->_rrnum = 0; 144 | msg->LOCAL_NS_MSG_PTR = msg->_sections[(int)sect]; 145 | } 146 | } 147 | static int local_ns_skiprr(const unsigned char *ptr, const unsigned char *eom, ns_sect section, int count) 148 | { 149 | const unsigned char *optr = ptr; 150 | 151 | for (; count > 0; count--) { 152 | int b, rdlength; 153 | 154 | b = local_ns_dn_skipname(ptr, eom); 155 | if (b < 0) { 156 | errno = EMSGSIZE; 157 | return -1; 158 | } 159 | ptr += b/*Name*/ + NS_INT16SZ/*Type*/ + NS_INT16SZ/*Class*/; 160 | if (section != ns_s_qd) { 161 | if (ptr + NS_INT32SZ + NS_INT16SZ > eom) { 162 | errno = EMSGSIZE; 163 | return -1; 164 | } 165 | 166 | ptr += NS_INT32SZ/*TTL*/; 167 | NS_GET16(rdlength, ptr); 168 | ptr += rdlength/*RData*/; 169 | } 170 | } 171 | 172 | if (ptr > eom) { 173 | errno = EMSGSIZE; 174 | return -1; 175 | } 176 | 177 | return ptr - optr; 178 | } 179 | static int local_ns_dn_skipname(const unsigned char *ptr, const unsigned char *eom) 180 | { 181 | const unsigned char *saveptr = ptr; 182 | 183 | if (local_ns_name_skip(&ptr, eom) == -1) 184 | return -1; 185 | 186 | return ptr - saveptr; 187 | } 188 | static int local_ns_name_skip(const unsigned char **ptrptr, const unsigned char *eom) 189 | { 190 | const unsigned char *cp; 191 | unsigned int n; 192 | int l; 193 | 194 | cp = *ptrptr; 195 | while (cp < eom && (n = *cp++) != 0) { 196 | /* Check for indirection. */ 197 | switch (n & NS_CMPRSFLGS) { 198 | case 0: /*%< normal case, n == len */ 199 | cp += n; 200 | continue; 201 | case LOCAL_NS_TYPE_ELT: /*%< EDNS0 extended label */ 202 | if ((l = local_ns_labellen(cp - 1)) < 0) { 203 | errno = EMSGSIZE; /*%< XXX */ 204 | return -1; 205 | } 206 | cp += l; 207 | continue; 208 | case NS_CMPRSFLGS: /*%< indirection */ 209 | cp++; 210 | break; 211 | default: /*%< illegal type */ 212 | errno = EMSGSIZE; 213 | return -1; 214 | } 215 | 216 | break; 217 | } 218 | 219 | if (cp > eom) { 220 | errno = EMSGSIZE; 221 | return -1; 222 | } 223 | 224 | *ptrptr = cp; 225 | 226 | return 0; 227 | } 228 | static int local_ns_labellen(const unsigned char *lp) 229 | { 230 | int bitlen; 231 | unsigned char l = *lp; 232 | 233 | if ((l & NS_CMPRSFLGS) == NS_CMPRSFLGS) { 234 | /* should be avoided by the caller */ 235 | return -1; 236 | } 237 | 238 | if ((l & NS_CMPRSFLGS) == LOCAL_NS_TYPE_ELT) { 239 | if (l == LOCAL_DNS_LABELTYPE_BITSTRING) { 240 | if ((bitlen = *(lp + 1)) == 0) 241 | bitlen = 256; 242 | return ((bitlen + 7 ) / 8 + 1); 243 | } 244 | 245 | return -1; /*%< unknwon ELT */ 246 | } 247 | 248 | return l; 249 | } 250 | -------------------------------------------------------------------------------- /src/local_ns_parser.h: -------------------------------------------------------------------------------- 1 | #ifndef LOCAL_NS_PARSER_H 2 | #define LOCAL_NS_PARSER_H 3 | 4 | int local_ns_initparse(const unsigned char *msg, int msglen, ns_msg *handle); 5 | int local_ns_parserr(ns_msg *handle, ns_sect section, int rrnum, ns_rr *rr); 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /tests/facebook.com: -------------------------------------------------------------------------------- 1 | dig @127.0.0.1 a facebook.com 2 | -------------------------------------------------------------------------------- /tests/google.com: -------------------------------------------------------------------------------- 1 | dig @127.0.0.1 a google.com 2 | -------------------------------------------------------------------------------- /tests/iplist.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import random 4 | import sys 5 | from subprocess import Popen, PIPE 6 | 7 | if __name__ == '__main__': 8 | result = set() 9 | start = random.randint(0, 1000000) 10 | for i in range(start, start + 1000): 11 | p = Popen((('dig +short @114.114.114.114 a ' 12 | 'r%d-1.googlevideo.com') % i).split(), 13 | stdin=PIPE, stdout=PIPE, stderr=PIPE, close_fds=True) 14 | output = p.stdout.read() 15 | if output: 16 | print >>sys.stderr, output.strip() 17 | result.add(output.strip()) 18 | print 19 | for r in result: 20 | print r 21 | -------------------------------------------------------------------------------- /tests/taobao.com: -------------------------------------------------------------------------------- 1 | dig @127.0.0.1 a taobao.com 2 | -------------------------------------------------------------------------------- /tests/test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | import sys 5 | import os 6 | import signal 7 | import time 8 | import argparse 9 | from subprocess import Popen 10 | 11 | parser = argparse.ArgumentParser(description='test ChinaDNS') 12 | parser.add_argument('-a', '--arguments', type=str, default=[]) 13 | parser.add_argument('-t', '--test-command', type=str, default=None) 14 | 15 | config = parser.parse_args() 16 | 17 | arguments = config.arguments 18 | chinadns = ['src/chinadns', '-p', '15353', '-v'] + arguments.split() 19 | 20 | print chinadns 21 | p1 = Popen(chinadns, shell=False, bufsize=0, close_fds=True) 22 | try: 23 | 24 | with open(config.test_command) as f: 25 | dig_cmd = f.read() 26 | 27 | time.sleep(1) 28 | 29 | p2 = Popen(dig_cmd.split() + ['-p', '15353'], shell=False, 30 | bufsize=0, close_fds=True) 31 | 32 | if p2 is not None: 33 | r = p2.wait() 34 | if r == 0: 35 | print 'test passed' 36 | 37 | sys.exit(r) 38 | finally: 39 | for p in [p1]: 40 | try: 41 | os.kill(p.pid, signal.SIGTERM) 42 | os.waitpid(p.pid, 0) 43 | except OSError: 44 | pass 45 | 46 | -------------------------------------------------------------------------------- /tests/twitter.com: -------------------------------------------------------------------------------- 1 | dig @127.0.0.1 a twitter.com 2 | -------------------------------------------------------------------------------- /tests/www.facebook.com: -------------------------------------------------------------------------------- 1 | dig @127.0.0.1 a www.facebook.com 2 | -------------------------------------------------------------------------------- /tests/x_8888: -------------------------------------------------------------------------------- 1 | dig -x 8.8.8.8 @127.0.0.1 2 | --------------------------------------------------------------------------------