├── .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 |
--------------------------------------------------------------------------------