├── .github └── FUNDING.yml ├── LICENSE ├── README.md ├── README_EN.md ├── img ├── cn_IPv4.svg ├── cn_IPv6.svg ├── en_IPv4.svg ├── en_IPv6.svg ├── help.png ├── mobile.png └── sponsor │ ├── logo_bage.png │ ├── logo_dreamcloud.png │ ├── logo_lisa.png │ └── logo_vps.png ├── ip.sh └── ref ├── ad1.ans ├── cookies.txt ├── dnsbl.list ├── iata-icao.csv ├── iso3166.json ├── sponsor.ans └── upgrade_bash.sh /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: xykt # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | # patreon: # Replace with a single Patreon username 5 | # open_collective: # Replace with a single Open Collective username 6 | # ko_fi: # Replace with a single Ko-fi username 7 | # tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | # community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | # liberapay: # Replace with a single Liberapay username 10 | # issuehunt: # Replace with a single IssueHunt username 11 | # lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 12 | # polar: # Replace with a single Polar username 13 | # buy_me_a_coffee: # Replace with a single Buy Me a Coffee username 14 | # thanks_dev: # Replace with a single thanks.dev username 15 | # custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU AFFERO GENERAL PUBLIC LICENSE 2 | Version 3, 19 November 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 Affero General Public License is a free, copyleft license for 11 | software and other kinds of works, specifically designed to ensure 12 | cooperation with the community in the case of network server software. 13 | 14 | The licenses for most software and other practical works are designed 15 | to take away your freedom to share and change the works. By contrast, 16 | our General Public Licenses are intended to guarantee your freedom to 17 | share and change all versions of a program--to make sure it remains free 18 | software for all its users. 19 | 20 | When we speak of free software, we are referring to freedom, not 21 | price. Our General Public Licenses are designed to make sure that you 22 | have the freedom to distribute copies of free software (and charge for 23 | them if you wish), that you receive source code or can get it if you 24 | want it, that you can change the software or use pieces of it in new 25 | free programs, and that you know you can do these things. 26 | 27 | Developers that use our General Public Licenses protect your rights 28 | with two steps: (1) assert copyright on the software, and (2) offer 29 | you this License which gives you legal permission to copy, distribute 30 | and/or modify the software. 31 | 32 | A secondary benefit of defending all users' freedom is that 33 | improvements made in alternate versions of the program, if they 34 | receive widespread use, become available for other developers to 35 | incorporate. Many developers of free software are heartened and 36 | encouraged by the resulting cooperation. However, in the case of 37 | software used on network servers, this result may fail to come about. 38 | The GNU General Public License permits making a modified version and 39 | letting the public access it on a server without ever releasing its 40 | source code to the public. 41 | 42 | The GNU Affero General Public License is designed specifically to 43 | ensure that, in such cases, the modified source code becomes available 44 | to the community. It requires the operator of a network server to 45 | provide the source code of the modified version running there to the 46 | users of that server. Therefore, public use of a modified version, on 47 | a publicly accessible server, gives the public access to the source 48 | code of the modified version. 49 | 50 | An older license, called the Affero General Public License and 51 | published by Affero, was designed to accomplish similar goals. This is 52 | a different license, not a version of the Affero GPL, but Affero has 53 | released a new version of the Affero GPL which permits relicensing under 54 | this license. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | TERMS AND CONDITIONS 60 | 61 | 0. Definitions. 62 | 63 | "This License" refers to version 3 of the GNU Affero General Public License. 64 | 65 | "Copyright" also means copyright-like laws that apply to other kinds of 66 | works, such as semiconductor masks. 67 | 68 | "The Program" refers to any copyrightable work licensed under this 69 | License. Each licensee is addressed as "you". "Licensees" and 70 | "recipients" may be individuals or organizations. 71 | 72 | To "modify" a work means to copy from or adapt all or part of the work 73 | in a fashion requiring copyright permission, other than the making of an 74 | exact copy. The resulting work is called a "modified version" of the 75 | earlier work or a work "based on" the earlier work. 76 | 77 | A "covered work" means either the unmodified Program or a work based 78 | on the Program. 79 | 80 | To "propagate" a work means to do anything with it that, without 81 | permission, would make you directly or secondarily liable for 82 | infringement under applicable copyright law, except executing it on a 83 | computer or modifying a private copy. Propagation includes copying, 84 | distribution (with or without modification), making available to the 85 | public, and in some countries other activities as well. 86 | 87 | To "convey" a work means any kind of propagation that enables other 88 | parties to make or receive copies. Mere interaction with a user through 89 | a computer network, with no transfer of a copy, is not conveying. 90 | 91 | An interactive user interface displays "Appropriate Legal Notices" 92 | to the extent that it includes a convenient and prominently visible 93 | feature that (1) displays an appropriate copyright notice, and (2) 94 | tells the user that there is no warranty for the work (except to the 95 | extent that warranties are provided), that licensees may convey the 96 | work under this License, and how to view a copy of this License. If 97 | the interface presents a list of user commands or options, such as a 98 | menu, a prominent item in the list meets this criterion. 99 | 100 | 1. Source Code. 101 | 102 | The "source code" for a work means the preferred form of the work 103 | for making modifications to it. "Object code" means any non-source 104 | form of a work. 105 | 106 | A "Standard Interface" means an interface that either is an official 107 | standard defined by a recognized standards body, or, in the case of 108 | interfaces specified for a particular programming language, one that 109 | is widely used among developers working in that language. 110 | 111 | The "System Libraries" of an executable work include anything, other 112 | than the work as a whole, that (a) is included in the normal form of 113 | packaging a Major Component, but which is not part of that Major 114 | Component, and (b) serves only to enable use of the work with that 115 | Major Component, or to implement a Standard Interface for which an 116 | implementation is available to the public in source code form. A 117 | "Major Component", in this context, means a major essential component 118 | (kernel, window system, and so on) of the specific operating system 119 | (if any) on which the executable work runs, or a compiler used to 120 | produce the work, or an object code interpreter used to run it. 121 | 122 | The "Corresponding Source" for a work in object code form means all 123 | the source code needed to generate, install, and (for an executable 124 | work) run the object code and to modify the work, including scripts to 125 | control those activities. However, it does not include the work's 126 | System Libraries, or general-purpose tools or generally available free 127 | programs which are used unmodified in performing those activities but 128 | which are not part of the work. For example, Corresponding Source 129 | includes interface definition files associated with source files for 130 | the work, and the source code for shared libraries and dynamically 131 | linked subprograms that the work is specifically designed to require, 132 | such as by intimate data communication or control flow between those 133 | subprograms and other parts of the work. 134 | 135 | The Corresponding Source need not include anything that users 136 | can regenerate automatically from other parts of the Corresponding 137 | Source. 138 | 139 | The Corresponding Source for a work in source code form is that 140 | same work. 141 | 142 | 2. Basic Permissions. 143 | 144 | All rights granted under this License are granted for the term of 145 | copyright on the Program, and are irrevocable provided the stated 146 | conditions are met. This License explicitly affirms your unlimited 147 | permission to run the unmodified Program. The output from running a 148 | covered work is covered by this License only if the output, given its 149 | content, constitutes a covered work. This License acknowledges your 150 | rights of fair use or other equivalent, as provided by copyright law. 151 | 152 | You may make, run and propagate covered works that you do not 153 | convey, without conditions so long as your license otherwise remains 154 | in force. You may convey covered works to others for the sole purpose 155 | of having them make modifications exclusively for you, or provide you 156 | with facilities for running those works, provided that you comply with 157 | the terms of this License in conveying all material for which you do 158 | not control copyright. Those thus making or running the covered works 159 | for you must do so exclusively on your behalf, under your direction 160 | and control, on terms that prohibit them from making any copies of 161 | your copyrighted material outside their relationship with you. 162 | 163 | Conveying under any other circumstances is permitted solely under 164 | the conditions stated below. Sublicensing is not allowed; section 10 165 | makes it unnecessary. 166 | 167 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 168 | 169 | No covered work shall be deemed part of an effective technological 170 | measure under any applicable law fulfilling obligations under article 171 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 172 | similar laws prohibiting or restricting circumvention of such 173 | measures. 174 | 175 | When you convey a covered work, you waive any legal power to forbid 176 | circumvention of technological measures to the extent such circumvention 177 | is effected by exercising rights under this License with respect to 178 | the covered work, and you disclaim any intention to limit operation or 179 | modification of the work as a means of enforcing, against the work's 180 | users, your or third parties' legal rights to forbid circumvention of 181 | technological measures. 182 | 183 | 4. Conveying Verbatim Copies. 184 | 185 | You may convey verbatim copies of the Program's source code as you 186 | receive it, in any medium, provided that you conspicuously and 187 | appropriately publish on each copy an appropriate copyright notice; 188 | keep intact all notices stating that this License and any 189 | non-permissive terms added in accord with section 7 apply to the code; 190 | keep intact all notices of the absence of any warranty; and give all 191 | recipients a copy of this License along with the Program. 192 | 193 | You may charge any price or no price for each copy that you convey, 194 | and you may offer support or warranty protection for a fee. 195 | 196 | 5. Conveying Modified Source Versions. 197 | 198 | You may convey a work based on the Program, or the modifications to 199 | produce it from the Program, in the form of source code under the 200 | terms of section 4, provided that you also meet all of these conditions: 201 | 202 | a) The work must carry prominent notices stating that you modified 203 | it, and giving a relevant date. 204 | 205 | b) The work must carry prominent notices stating that it is 206 | released under this License and any conditions added under section 207 | 7. This requirement modifies the requirement in section 4 to 208 | "keep intact all notices". 209 | 210 | c) You must license the entire work, as a whole, under this 211 | License to anyone who comes into possession of a copy. This 212 | License will therefore apply, along with any applicable section 7 213 | additional terms, to the whole of the work, and all its parts, 214 | regardless of how they are packaged. This License gives no 215 | permission to license the work in any other way, but it does not 216 | invalidate such permission if you have separately received it. 217 | 218 | d) If the work has interactive user interfaces, each must display 219 | Appropriate Legal Notices; however, if the Program has interactive 220 | interfaces that do not display Appropriate Legal Notices, your 221 | work need not make them do so. 222 | 223 | A compilation of a covered work with other separate and independent 224 | works, which are not by their nature extensions of the covered work, 225 | and which are not combined with it such as to form a larger program, 226 | in or on a volume of a storage or distribution medium, is called an 227 | "aggregate" if the compilation and its resulting copyright are not 228 | used to limit the access or legal rights of the compilation's users 229 | beyond what the individual works permit. Inclusion of a covered work 230 | in an aggregate does not cause this License to apply to the other 231 | parts of the aggregate. 232 | 233 | 6. Conveying Non-Source Forms. 234 | 235 | You may convey a covered work in object code form under the terms 236 | of sections 4 and 5, provided that you also convey the 237 | machine-readable Corresponding Source under the terms of this License, 238 | in one of these ways: 239 | 240 | a) Convey the object code in, or embodied in, a physical product 241 | (including a physical distribution medium), accompanied by the 242 | Corresponding Source fixed on a durable physical medium 243 | customarily used for software interchange. 244 | 245 | b) Convey the object code in, or embodied in, a physical product 246 | (including a physical distribution medium), accompanied by a 247 | written offer, valid for at least three years and valid for as 248 | long as you offer spare parts or customer support for that product 249 | model, to give anyone who possesses the object code either (1) a 250 | copy of the Corresponding Source for all the software in the 251 | product that is covered by this License, on a durable physical 252 | medium customarily used for software interchange, for a price no 253 | more than your reasonable cost of physically performing this 254 | conveying of source, or (2) access to copy the 255 | Corresponding Source from a network server at no charge. 256 | 257 | c) Convey individual copies of the object code with a copy of the 258 | written offer to provide the Corresponding Source. This 259 | alternative is allowed only occasionally and noncommercially, and 260 | only if you received the object code with such an offer, in accord 261 | with subsection 6b. 262 | 263 | d) Convey the object code by offering access from a designated 264 | place (gratis or for a charge), and offer equivalent access to the 265 | Corresponding Source in the same way through the same place at no 266 | further charge. You need not require recipients to copy the 267 | Corresponding Source along with the object code. If the place to 268 | copy the object code is a network server, the Corresponding Source 269 | may be on a different server (operated by you or a third party) 270 | that supports equivalent copying facilities, provided you maintain 271 | clear directions next to the object code saying where to find the 272 | Corresponding Source. Regardless of what server hosts the 273 | Corresponding Source, you remain obligated to ensure that it is 274 | available for as long as needed to satisfy these requirements. 275 | 276 | e) Convey the object code using peer-to-peer transmission, provided 277 | you inform other peers where the object code and Corresponding 278 | Source of the work are being offered to the general public at no 279 | charge under subsection 6d. 280 | 281 | A separable portion of the object code, whose source code is excluded 282 | from the Corresponding Source as a System Library, need not be 283 | included in conveying the object code work. 284 | 285 | A "User Product" is either (1) a "consumer product", which means any 286 | tangible personal property which is normally used for personal, family, 287 | or household purposes, or (2) anything designed or sold for incorporation 288 | into a dwelling. In determining whether a product is a consumer product, 289 | doubtful cases shall be resolved in favor of coverage. For a particular 290 | product received by a particular user, "normally used" refers to a 291 | typical or common use of that class of product, regardless of the status 292 | of the particular user or of the way in which the particular user 293 | actually uses, or expects or is expected to use, the product. A product 294 | is a consumer product regardless of whether the product has substantial 295 | commercial, industrial or non-consumer uses, unless such uses represent 296 | the only significant mode of use of the product. 297 | 298 | "Installation Information" for a User Product means any methods, 299 | procedures, authorization keys, or other information required to install 300 | and execute modified versions of a covered work in that User Product from 301 | a modified version of its Corresponding Source. The information must 302 | suffice to ensure that the continued functioning of the modified object 303 | code is in no case prevented or interfered with solely because 304 | modification has been made. 305 | 306 | If you convey an object code work under this section in, or with, or 307 | specifically for use in, a User Product, and the conveying occurs as 308 | part of a transaction in which the right of possession and use of the 309 | User Product is transferred to the recipient in perpetuity or for a 310 | fixed term (regardless of how the transaction is characterized), the 311 | Corresponding Source conveyed under this section must be accompanied 312 | by the Installation Information. But this requirement does not apply 313 | if neither you nor any third party retains the ability to install 314 | modified object code on the User Product (for example, the work has 315 | been installed in ROM). 316 | 317 | The requirement to provide Installation Information does not include a 318 | requirement to continue to provide support service, warranty, or updates 319 | for a work that has been modified or installed by the recipient, or for 320 | the User Product in which it has been modified or installed. Access to a 321 | network may be denied when the modification itself materially and 322 | adversely affects the operation of the network or violates the rules and 323 | protocols for communication across the network. 324 | 325 | Corresponding Source conveyed, and Installation Information provided, 326 | in accord with this section must be in a format that is publicly 327 | documented (and with an implementation available to the public in 328 | source code form), and must require no special password or key for 329 | unpacking, reading or copying. 330 | 331 | 7. Additional Terms. 332 | 333 | "Additional permissions" are terms that supplement the terms of this 334 | License by making exceptions from one or more of its conditions. 335 | Additional permissions that are applicable to the entire Program shall 336 | be treated as though they were included in this License, to the extent 337 | that they are valid under applicable law. If additional permissions 338 | apply only to part of the Program, that part may be used separately 339 | under those permissions, but the entire Program remains governed by 340 | this License without regard to the additional permissions. 341 | 342 | When you convey a copy of a covered work, you may at your option 343 | remove any additional permissions from that copy, or from any part of 344 | it. (Additional permissions may be written to require their own 345 | removal in certain cases when you modify the work.) You may place 346 | additional permissions on material, added by you to a covered work, 347 | for which you have or can give appropriate copyright permission. 348 | 349 | Notwithstanding any other provision of this License, for material you 350 | add to a covered work, you may (if authorized by the copyright holders of 351 | that material) supplement the terms of this License with terms: 352 | 353 | a) Disclaiming warranty or limiting liability differently from the 354 | terms of sections 15 and 16 of this License; or 355 | 356 | b) Requiring preservation of specified reasonable legal notices or 357 | author attributions in that material or in the Appropriate Legal 358 | Notices displayed by works containing it; or 359 | 360 | c) Prohibiting misrepresentation of the origin of that material, or 361 | requiring that modified versions of such material be marked in 362 | reasonable ways as different from the original version; or 363 | 364 | d) Limiting the use for publicity purposes of names of licensors or 365 | authors of the material; or 366 | 367 | e) Declining to grant rights under trademark law for use of some 368 | trade names, trademarks, or service marks; or 369 | 370 | f) Requiring indemnification of licensors and authors of that 371 | material by anyone who conveys the material (or modified versions of 372 | it) with contractual assumptions of liability to the recipient, for 373 | any liability that these contractual assumptions directly impose on 374 | those licensors and authors. 375 | 376 | All other non-permissive additional terms are considered "further 377 | restrictions" within the meaning of section 10. If the Program as you 378 | received it, or any part of it, contains a notice stating that it is 379 | governed by this License along with a term that is a further 380 | restriction, you may remove that term. If a license document contains 381 | a further restriction but permits relicensing or conveying under this 382 | License, you may add to a covered work material governed by the terms 383 | of that license document, provided that the further restriction does 384 | not survive such relicensing or conveying. 385 | 386 | If you add terms to a covered work in accord with this section, you 387 | must place, in the relevant source files, a statement of the 388 | additional terms that apply to those files, or a notice indicating 389 | where to find the applicable terms. 390 | 391 | Additional terms, permissive or non-permissive, may be stated in the 392 | form of a separately written license, or stated as exceptions; 393 | the above requirements apply either way. 394 | 395 | 8. Termination. 396 | 397 | You may not propagate or modify a covered work except as expressly 398 | provided under this License. Any attempt otherwise to propagate or 399 | modify it is void, and will automatically terminate your rights under 400 | this License (including any patent licenses granted under the third 401 | paragraph of section 11). 402 | 403 | However, if you cease all violation of this License, then your 404 | license from a particular copyright holder is reinstated (a) 405 | provisionally, unless and until the copyright holder explicitly and 406 | finally terminates your license, and (b) permanently, if the copyright 407 | holder fails to notify you of the violation by some reasonable means 408 | prior to 60 days after the cessation. 409 | 410 | Moreover, your license from a particular copyright holder is 411 | reinstated permanently if the copyright holder notifies you of the 412 | violation by some reasonable means, this is the first time you have 413 | received notice of violation of this License (for any work) from that 414 | copyright holder, and you cure the violation prior to 30 days after 415 | your receipt of the notice. 416 | 417 | Termination of your rights under this section does not terminate the 418 | licenses of parties who have received copies or rights from you under 419 | this License. If your rights have been terminated and not permanently 420 | reinstated, you do not qualify to receive new licenses for the same 421 | material under section 10. 422 | 423 | 9. Acceptance Not Required for Having Copies. 424 | 425 | You are not required to accept this License in order to receive or 426 | run a copy of the Program. Ancillary propagation of a covered work 427 | occurring solely as a consequence of using peer-to-peer transmission 428 | to receive a copy likewise does not require acceptance. However, 429 | nothing other than this License grants you permission to propagate or 430 | modify any covered work. These actions infringe copyright if you do 431 | not accept this License. Therefore, by modifying or propagating a 432 | covered work, you indicate your acceptance of this License to do so. 433 | 434 | 10. Automatic Licensing of Downstream Recipients. 435 | 436 | Each time you convey a covered work, the recipient automatically 437 | receives a license from the original licensors, to run, modify and 438 | propagate that work, subject to this License. You are not responsible 439 | for enforcing compliance by third parties with this License. 440 | 441 | An "entity transaction" is a transaction transferring control of an 442 | organization, or substantially all assets of one, or subdividing an 443 | organization, or merging organizations. If propagation of a covered 444 | work results from an entity transaction, each party to that 445 | transaction who receives a copy of the work also receives whatever 446 | licenses to the work the party's predecessor in interest had or could 447 | give under the previous paragraph, plus a right to possession of the 448 | Corresponding Source of the work from the predecessor in interest, if 449 | the predecessor has it or can get it with reasonable efforts. 450 | 451 | You may not impose any further restrictions on the exercise of the 452 | rights granted or affirmed under this License. For example, you may 453 | not impose a license fee, royalty, or other charge for exercise of 454 | rights granted under this License, and you may not initiate litigation 455 | (including a cross-claim or counterclaim in a lawsuit) alleging that 456 | any patent claim is infringed by making, using, selling, offering for 457 | sale, or importing the Program or any portion of it. 458 | 459 | 11. Patents. 460 | 461 | A "contributor" is a copyright holder who authorizes use under this 462 | License of the Program or a work on which the Program is based. The 463 | work thus licensed is called the contributor's "contributor version". 464 | 465 | A contributor's "essential patent claims" are all patent claims 466 | owned or controlled by the contributor, whether already acquired or 467 | hereafter acquired, that would be infringed by some manner, permitted 468 | by this License, of making, using, or selling its contributor version, 469 | but do not include claims that would be infringed only as a 470 | consequence of further modification of the contributor version. For 471 | purposes of this definition, "control" includes the right to grant 472 | patent sublicenses in a manner consistent with the requirements of 473 | this License. 474 | 475 | Each contributor grants you a non-exclusive, worldwide, royalty-free 476 | patent license under the contributor's essential patent claims, to 477 | make, use, sell, offer for sale, import and otherwise run, modify and 478 | propagate the contents of its contributor version. 479 | 480 | In the following three paragraphs, a "patent license" is any express 481 | agreement or commitment, however denominated, not to enforce a patent 482 | (such as an express permission to practice a patent or covenant not to 483 | sue for patent infringement). To "grant" such a patent license to a 484 | party means to make such an agreement or commitment not to enforce a 485 | patent against the party. 486 | 487 | If you convey a covered work, knowingly relying on a patent license, 488 | and the Corresponding Source of the work is not available for anyone 489 | to copy, free of charge and under the terms of this License, through a 490 | publicly available network server or other readily accessible means, 491 | then you must either (1) cause the Corresponding Source to be so 492 | available, or (2) arrange to deprive yourself of the benefit of the 493 | patent license for this particular work, or (3) arrange, in a manner 494 | consistent with the requirements of this License, to extend the patent 495 | license to downstream recipients. "Knowingly relying" means you have 496 | actual knowledge that, but for the patent license, your conveying the 497 | covered work in a country, or your recipient's use of the covered work 498 | in a country, would infringe one or more identifiable patents in that 499 | country that you have reason to believe are valid. 500 | 501 | If, pursuant to or in connection with a single transaction or 502 | arrangement, you convey, or propagate by procuring conveyance of, a 503 | covered work, and grant a patent license to some of the parties 504 | receiving the covered work authorizing them to use, propagate, modify 505 | or convey a specific copy of the covered work, then the patent license 506 | you grant is automatically extended to all recipients of the covered 507 | work and works based on it. 508 | 509 | A patent license is "discriminatory" if it does not include within 510 | the scope of its coverage, prohibits the exercise of, or is 511 | conditioned on the non-exercise of one or more of the rights that are 512 | specifically granted under this License. You may not convey a covered 513 | work if you are a party to an arrangement with a third party that is 514 | in the business of distributing software, under which you make payment 515 | to the third party based on the extent of your activity of conveying 516 | the work, and under which the third party grants, to any of the 517 | parties who would receive the covered work from you, a discriminatory 518 | patent license (a) in connection with copies of the covered work 519 | conveyed by you (or copies made from those copies), or (b) primarily 520 | for and in connection with specific products or compilations that 521 | contain the covered work, unless you entered into that arrangement, 522 | or that patent license was granted, prior to 28 March 2007. 523 | 524 | Nothing in this License shall be construed as excluding or limiting 525 | any implied license or other defenses to infringement that may 526 | otherwise be available to you under applicable patent law. 527 | 528 | 12. No Surrender of Others' Freedom. 529 | 530 | If conditions are imposed on you (whether by court order, agreement or 531 | otherwise) that contradict the conditions of this License, they do not 532 | excuse you from the conditions of this License. If you cannot convey a 533 | covered work so as to satisfy simultaneously your obligations under this 534 | License and any other pertinent obligations, then as a consequence you may 535 | not convey it at all. For example, if you agree to terms that obligate you 536 | to collect a royalty for further conveying from those to whom you convey 537 | the Program, the only way you could satisfy both those terms and this 538 | License would be to refrain entirely from conveying the Program. 539 | 540 | 13. Remote Network Interaction; Use with the GNU General Public License. 541 | 542 | Notwithstanding any other provision of this License, if you modify the 543 | Program, your modified version must prominently offer all users 544 | interacting with it remotely through a computer network (if your version 545 | supports such interaction) an opportunity to receive the Corresponding 546 | Source of your version by providing access to the Corresponding Source 547 | from a network server at no charge, through some standard or customary 548 | means of facilitating copying of software. This Corresponding Source 549 | shall include the Corresponding Source for any work covered by version 3 550 | of the GNU General Public License that is incorporated pursuant to the 551 | following paragraph. 552 | 553 | Notwithstanding any other provision of this License, you have 554 | permission to link or combine any covered work with a work licensed 555 | under version 3 of the GNU General Public License into a single 556 | combined work, and to convey the resulting work. The terms of this 557 | License will continue to apply to the part which is the covered work, 558 | but the work with which it is combined will remain governed by version 559 | 3 of the GNU General Public License. 560 | 561 | 14. Revised Versions of this License. 562 | 563 | The Free Software Foundation may publish revised and/or new versions of 564 | the GNU Affero General Public License from time to time. Such new versions 565 | will be similar in spirit to the present version, but may differ in detail to 566 | address new problems or concerns. 567 | 568 | Each version is given a distinguishing version number. If the 569 | Program specifies that a certain numbered version of the GNU Affero General 570 | Public License "or any later version" applies to it, you have the 571 | option of following the terms and conditions either of that numbered 572 | version or of any later version published by the Free Software 573 | Foundation. If the Program does not specify a version number of the 574 | GNU Affero General Public License, you may choose any version ever published 575 | by the Free Software Foundation. 576 | 577 | If the Program specifies that a proxy can decide which future 578 | versions of the GNU Affero General Public License can be used, that proxy's 579 | public statement of acceptance of a version permanently authorizes you 580 | to choose that version for the Program. 581 | 582 | Later license versions may give you additional or different 583 | permissions. However, no additional obligations are imposed on any 584 | author or copyright holder as a result of your choosing to follow a 585 | later version. 586 | 587 | 15. Disclaimer of Warranty. 588 | 589 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 590 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 591 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 592 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 593 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 594 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 595 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 596 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 597 | 598 | 16. Limitation of Liability. 599 | 600 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 601 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 602 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 603 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 604 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 605 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 606 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 607 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 608 | SUCH DAMAGES. 609 | 610 | 17. Interpretation of Sections 15 and 16. 611 | 612 | If the disclaimer of warranty and limitation of liability provided 613 | above cannot be given local legal effect according to their terms, 614 | reviewing courts shall apply local law that most closely approximates 615 | an absolute waiver of all civil liability in connection with the 616 | Program, unless a warranty or assumption of liability accompanies a 617 | copy of the Program in return for a fee. 618 | 619 | END OF TERMS AND CONDITIONS 620 | 621 | How to Apply These Terms to Your New Programs 622 | 623 | If you develop a new program, and you want it to be of the greatest 624 | possible use to the public, the best way to achieve this is to make it 625 | free software which everyone can redistribute and change under these terms. 626 | 627 | To do so, attach the following notices to the program. It is safest 628 | to attach them to the start of each source file to most effectively 629 | state the exclusion of warranty; and each file should have at least 630 | the "copyright" line and a pointer to where the full notice is found. 631 | 632 | 633 | Copyright (C) 634 | 635 | This program is free software: you can redistribute it and/or modify 636 | it under the terms of the GNU Affero General Public License as published 637 | by the Free Software Foundation, either version 3 of the License, or 638 | (at your option) any later version. 639 | 640 | This program is distributed in the hope that it will be useful, 641 | but WITHOUT ANY WARRANTY; without even the implied warranty of 642 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 643 | GNU Affero General Public License for more details. 644 | 645 | You should have received a copy of the GNU Affero General Public License 646 | along with this program. If not, see . 647 | 648 | Also add information on how to contact you by electronic and paper mail. 649 | 650 | If your software can interact with users remotely through a computer 651 | network, you should also make sure that it provides a way for users to 652 | get its source. For example, if your program is a web application, its 653 | interface could display a "Source" link that leads users to an archive 654 | of the code. There are many ways you could offer source, and different 655 | solutions will be better for different programs; see section 13 for the 656 | specific requirements. 657 | 658 | You should also get your employer (if you work as a programmer) or school, 659 | if any, to sign a "copyright disclaimer" for the program, if necessary. 660 | For more information on this, and how to apply and follow the GNU AGPL, see 661 | . 662 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | license 5 |

6 | 7 | ## IP质量体检脚本 - [IP Quality Check Script (EN)](https://github.com/xykt/IPQuality/blob/main/README_EN.md) 8 | 9 | **支持OS/Platform:Ubuntu | Debian | Linux Mint | Fedora | Red Hat Enterprise Linux (RHEL) | CentOS | Arch Linux | Manjaro | Alpine Linux | AlmaLinux | Rocky Linux | macOS | Anolis OS | Alibaba Cloud Linux | SUSE Linux | openSUSE | Void Linux** 10 | 11 | - 中英文双语言支持 12 | - 支持IPv4/IPv6双栈查询 13 | - 精美排版,直观显示,多终端单屏优化展示,便于截图分享 14 | - 基础信息、IP类型、风险评分、风险因子、流媒体解锁、邮局检测六大模块 15 | - 基础数据源自*Maxmind*数据库 16 | - 风险信息 *IPinfo / ipregistry / ipapi / AbuseIPDB / IP2LOCATION / IPQS / DB-IP / SCAMALYTICS / IPWHOIS / Cloudflare* 多数据库整合 17 | - 流媒体及AI多个服务商 *TikTok / Disney+ / Netflix / Youtube / AmazonPrimeVideo / Spotify / ChatGPT* 解锁及解锁类型检测 18 | - 多邮局服务商 *Gmail / Outlook / Yahoo / Apple / QQ / Mail.ru / AOL / GMX / Mail.com / 163 / Sohu / Sina* 连通性检测 19 | - IP地址黑名单400+数据库检测 20 | 21 | ##### 屏幕截图 22 | ![截图](https://raw.githubusercontent.com/xykt/IPQuality/main/img/cn_IPv4.svg) 23 | 24 | ## 使用方法 25 | 26 | ##### 默认双栈检测: 27 | ````bash 28 | bash <(curl -Ls IP.Check.Place) 29 | ```` 30 | 31 | ##### 只检测IPv4结果: 32 | ````bash 33 | bash <(curl -Ls IP.Check.Place) -4 34 | ```` 35 | 36 | ##### 只检测IPv6结果: 37 | ````bash 38 | bash <(curl -Ls IP.Check.Place) -6 39 | ```` 40 | 41 | ##### 指定检测网卡: 42 | ````bash 43 | bash <(curl -Ls IP.Check.Place) -i eth0 44 | ```` 45 | 46 | ##### 指定代理服务器: 47 | ````bash 48 | bash <(curl -Ls IP.Check.Place) -x http://username:password@proxyserver:port 49 | bash <(curl -Ls IP.Check.Place) -x https://username:password@proxyserver:port 50 | bash <(curl -Ls IP.Check.Place) -x socks5://username:password@socksproxy:port 51 | ```` 52 | 53 | ##### 选择脚本语言为英文(任选其一): 54 | ````bash 55 | bash <(curl -Ls IP.Check.Place) -E 56 | bash <(curl -Ls IP.Check.Place) -l en 57 | ```` 58 | 59 | ##### 跳过检测系统及安装依赖: 60 | ````bash 61 | bash <(curl -Ls Net.Check.Place) -n 62 | ```` 63 | 64 | ##### 自动安装依赖: 65 | ````bash 66 | bash <(curl -Ls Net.Check.Place) -y 67 | ```` 68 | 69 | ##### 报告展示完整IP地址: 70 | ````bash 71 | bash <(curl -Ls IP.Check.Place) -f 72 | ```` 73 | 74 | ##### 输出JSON结果: 75 | ````bash 76 | bash <(curl -Ls IP.Check.Place) -j 77 | ```` 78 | 79 | ##### 输出报告ANSI/JSON/纯文本至文件: 80 | ````bash 81 | bash <(curl -Ls IP.Check.Place) -o /path/to/file.ansi 82 | bash <(curl -Ls IP.Check.Place) -o /path/to/file.json 83 | bash <(curl -Ls IP.Check.Place) -o /path/to/file.txtoranyother 84 | ```` 85 | 86 | ##### 基础信息多语言支持: 87 | ````bash 88 | bash <(curl -Ls IP.Check.Place) -l jp|es|de|fr|ru|pt 89 | ```` 90 | 91 | ## 脚本更新 92 | 93 | 2025/06/02 21:25 修复25端口检测的错误逻辑,规范化邮件服务商连通性检测方法 94 | 95 | 2025/04/23 18:00 增加-o输出报告ANSI/JSON/纯文本至文件 96 | 97 | 2025/04/19 21:00 增加-j的JSON输出模式 98 | 99 | 2025/03/13 23:15 增加-y自动安装依赖,-n跳过操作系统及依赖检查 100 | 101 | 2024/11/09 00:30 增加Cloudflare风险评分,修复IP2Location偶发IP类型判断BUG 102 | 103 | 2024/10/06 01:15 修复极个别运行脚本报错问题 104 | 105 | 2024/07/23 23:50 增加运行参数-f使报告显示完整IP地址 106 | 107 | 2024/07/22 01:50 安装依赖包前增加询问,修复Disney+解锁类型错误 108 | 109 | 2024/06/27 01:00 增加Anolis OS | Alibaba Cloud Linux | SUSE Linux | openSUSE系统支持 110 | 111 | 2024/05/30 01:15 增加macOS系统支持 112 | 113 | 2024/05/28 18:00 修复了指定网卡/代理服务器仍然检测默认IP的bug 114 | 115 | 2024/05/17 00:45 增加报告svg图片分享链接,修复一些排版问题 116 | 117 | 2024/05/11 23:20 修复因网关阻断25端口导致的邮件检测时间过长的问题,修复Tiktok IPv6结果不准确的bug 118 | 119 | 2024/05/10 17:50 修复未安装sudo系统无法正常安装依赖的bug 120 | 121 | 2024/05/10 11:00 增加指定网卡及代理服务器检测支持 122 | 123 | 2024/05/09 15:00 修正不规范内网IP导致的错误,修正其他若干bug 124 | 125 | 2024/05/08 23:00 修正Netflix澳洲检测结果不正确的bug 126 | 127 | 2024/05/08 18:10 更新依赖程序dig检测及安装 128 | 129 | 2024/05/08 00:00 脚本发布 130 | 131 | ## 脚本贡献 132 | 133 | **Server Sponsor:** 134 | 135 | | 赞助商| 商标 | 网址 | 136 | | - | - | - | 137 | | V.PS | ![vps_logo](https://raw.githubusercontent.com/xykt/IPQuality/main/img/sponsor/logo_vps.png) | [https://v.ps](https://v.ps)| 138 | | BAGE | ![bage_logo](https://raw.githubusercontent.com/xykt/IPQuality/main/img/sponsor/logo_bage.png) | [https://bagevm.com](https://bagevm.com)| 139 | | 丽萨主机 | ![lisa_logo](https://raw.githubusercontent.com/xykt/IPQuality/main/img/sponsor/logo_lisa.png) | [https://lisahost.com](https://lisahost.com)| 140 | | DreamCloud | ![dreamcloud_logo](https://raw.githubusercontent.com/xykt/IPQuality/main/img/sponsor/logo_dreamcloud.png) | [https://as211392.com/](https://as211392.com/)| 141 | 142 | **仅接受长期稳定运营,信誉良好的商家* 143 | 144 | **Acknowledgments:** 145 | 146 | - 感谢[lmc999](https://github.com/lmc999/RegionRestrictionCheck),本脚本局部代码参考原版流媒体解锁检测脚本 147 | 148 | - 感谢[spiritLHLS](https://github.com/spiritLHLS/ecs),本脚本局部代码参考融合怪测评脚本 149 | 150 | **Stars History:** 151 | 152 | ![Stargazers over time](https://starchart.cc/xykt/IPQuality.svg?background=%23FFFFFF&axis=%23333333&line=%2377ff77) 153 | -------------------------------------------------------------------------------- /README_EN.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | license 5 |

6 | 7 | ## IP Quality Check Script - [IP质量体检脚本 (中文)](https://github.com/xykt/IPQuality/blob/main/README.md) 8 | 9 | **Supported OS/Platform: Ubuntu | Debian | Linux Mint | Fedora | Red Hat Enterprise Linux (RHEL) | CentOS | Arch Linux | Manjaro | Alpine Linux | AlmaLinux | Rocky Linux | macOS | Anolis OS | Alibaba Cloud Linux | SUSE Linux | openSUSE | Void Linux** 10 | 11 | - Bilingual support in English and Chinese 12 | - Supports dual-stack queries for IPv4/IPv6 13 | - Beautifully formatted, intuitive display, optimized for single-screen multi-terminal display, facilitating screenshot sharing 14 | - Six modules: Basic Information, IP Type, Risk Score, Risk Factors, Streaming Media Unlocking, and Post Office Check 15 | - Basic data sourced from the *Maxmind* database 16 | - Risk information integrated from multiple databases: *IPinfo / ipregistry / ipapi / AbuseIPDB / IP2LOCATION / IPQS / DB-IP / SCAMALYTICS / IPWHOIS / Cloudflare* 17 | - Streaming and AI service providers' unlocking and type detection: *TikTok / Disney+ / Netflix / Youtube / AmazonPrimeVideo / Spotify / ChatGPT* 18 | - Connectivity tests for multiple email providers: *Gmail / Outlook / Yahoo / Apple / QQ / Mail.ru / AOL / GMX / Mail.com / 163 / Sohu / Sina* 19 | - Over 400 IP address blacklist database checks 20 | 21 | ##### Screenshots 22 | ![Screenshot](https://raw.githubusercontent.com/xykt/IPQuality/main/img/en_IPv4.svg) 23 | 24 | ## Usage 25 | 26 | ##### English version of dual-stack test (Either): 27 | ````bash 28 | bash <(curl -Ls IP.Check.Place) -E 29 | bash <(curl -Ls IP.Check.Place) -l en 30 | ```` 31 | 32 | ##### IPv4 only test: 33 | ````bash 34 | bash <(curl -Ls IP.Check.Place) -E4 35 | ```` 36 | 37 | ##### IPv6 only test: 38 | ````bash 39 | bash <(curl -Ls IP.Check.Place) -E6 40 | ```` 41 | 42 | ##### Specify network interface: 43 | ````bash 44 | bash <(curl -Ls IP.Check.Place) -E -i eth0 45 | ```` 46 | 47 | ##### Specify proxy server: 48 | ````bash 49 | bash <(curl -Ls IP.Check.Place) -E -x http://username:password@proxyserver:port 50 | bash <(curl -Ls IP.Check.Place) -E -x https://username:password@proxyserver:port 51 | bash <(curl -Ls IP.Check.Place) -E -x socks5://username:password@socksproxy:port 52 | ```` 53 | 54 | ##### Skip checking OS and dependencies: 55 | 56 | ```bash 57 | bash <(curl -Ls Net.Check.Place) -En 58 | ``` 59 | 60 | ##### Auto-install dependencies: 61 | 62 | ```bash 63 | bash <(curl -Ls Net.Check.Place) -Ey 64 | ``` 65 | 66 | ##### Show full IP on report: 67 | ````bash 68 | bash <(curl -Ls IP.Check.Place) -Ef 69 | ```` 70 | 71 | ##### JSON mode: 72 | ````bash 73 | bash <(curl -Ls IP.Check.Place) -Ej 74 | ```` 75 | 76 | ##### Output report to file in ANSI/JSON/Text format: 77 | ````bash 78 | bash <(curl -Ls IP.Check.Place) -o /path/to/file.ansi 79 | bash <(curl -Ls IP.Check.Place) -o /path/to/file.json 80 | bash <(curl -Ls IP.Check.Place) -o /path/to/file.txtoranyother 81 | ```` 82 | 83 | ##### Basic information multi-language support: 84 | ````bash 85 | bash <(curl -Ls IP.Check.Place) -l jp|es|de|fr|ru|pt 86 | ```` 87 | 88 | ## Script Updates 89 | 90 | 2025/06/02 21:25 Fix the error logic in port 25 detection and standardize the connectivity testing method for email service providers 91 | 92 | 2025/04/23 18:00 Add -o to output report to file in ANSI/JSON/Text format 93 | 94 | 2025/04/19 21:00 Add -j for JSON mode 95 | 96 | 2025/03/13 23:15 Add -y -n for dependencies auto-install/skip 97 | 98 | 2024/11/09 00:30 Add Cloudflare threat score, fix IP2Location IP type bug 99 | 100 | 2024/10/06 01:15 Fixed bug causing script errors in very rare cases 101 | 102 | 2024/07/23 23:50 Add parameter -f to show full IP address on report 103 | 104 | 2024/07/22 01:50 Add prompt before installing dependent packages, fix Disney+ bug 105 | 106 | 2024/06/27 01:00 Add Anolis OS | Alibaba Cloud Linux | SUSE Linux | openSUSE support 107 | 108 | 2024/05/30 01:15 Add macOS support 109 | 110 | 2024/05/28 18:00 Fixed bug where default IP was detected for specified network interface/proxy server 111 | 112 | 2024/05/17 00:45 Add report svg image sharing link and fix some layout problems 113 | 114 | 2024/05/11 23:20 Fixed mail detection taking too long due to gateway blocking port 25, fix inaccurate Tiktok IPv6 results 115 | 116 | 2024/05/10 17:50 Fix dependency installation issue with no sudo installed 117 | 118 | 2024/05/10 11:00 Added support for specified network interface and proxy server 119 | 120 | 2024/05/09 15:00 Corrected errors caused by non-standard private IP addresses, and fixed several other bugs 121 | 122 | 2024/05/08 23:00 Fixed a bug affecting incorrect detection results for Netflix Australia 123 | 124 | 2024/05/08 18:10 Updated the dependency checks and installation for the 'dig' program 125 | 126 | 2024/05/08 00:00 Script published 127 | 128 | ## Script Contributions 129 | 130 | **Server Sponsor:** 131 | 132 | | Sponsor | Logo | Link | 133 | | - | - | - | 134 | | V.PS | ![vps_logo](https://raw.githubusercontent.com/xykt/IPQuality/main/img/sponsor/logo_vps.png) | [https://v.ps](https://v.ps)| 135 | | BAGE | ![bage_logo](https://raw.githubusercontent.com/xykt/IPQuality/main/img/sponsor/logo_bage.png) | [https://bagevm.com](https://bagevm.com)| 136 | | LisaHost | ![lisa_logo](https://raw.githubusercontent.com/xykt/IPQuality/main/img/sponsor/logo_lisa.png) | [https://lisahost.com](https://lisahost.com)| 137 | | DreamCloud | ![dreamcloud_logo](https://raw.githubusercontent.com/xykt/IPQuality/main/img/sponsor/logo_dreamcloud.png) | [https://as211392.com/](https://as211392.com/)| 138 | 139 | **Only accepting merchants with long-term stable operations and good reputation* 140 | 141 | **Acknowledgments:** 142 | 143 | - Thanks to [lmc999](https://github.com/lmc999/RegionRestrictionCheck) for portions of the original streaming media unlocking script referenced in this script. 144 | 145 | - Thanks to [spiritLHLS](https://github.com/spiritLHLS/ecs) for portions of the integration monster review script referenced in this script. 146 | 147 | **Stars History:** 148 | 149 | ![Stargazers over time](https://starchart.cc/xykt/IPQuality.svg?background=%23FFFFFF&axis=%23333333&line=%2377dd77) 150 | -------------------------------------------------------------------------------- /img/cn_IPv4.svg: -------------------------------------------------------------------------------- 1 | 2 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | ######################################################################## 86 | IP质量体检报告:38.95.*.* 87 | bash <(curl -sL IP.Check.Place) 88 | https://github.com/xykt/IPQuality 89 | 报告时间:2024-05-17 01:08:13 CST 脚本版本:v2024-05-17 90 | ######################################################################## 91 | 一、基础信息(Maxmind 数据库 92 | 自治系统号: AS142111 93 | 组织: Zhejiang Aiyun Network Technology Co Ltd 94 | 坐标: 105°16′33″W, 40°′46″N 95 | 地图: https://check.place/40.0128,-105.2759,15,cn 96 | 城市: Colorado, 波德, 80310 97 | 使用地: [US]美国, [NA]北美洲 98 | 注册地: [US]美国 99 | 时区: America/Denver 100 | IP类型: 原生IP 101 | 二、IP类型属性 102 | 数据库: IPinfo ipregistry ipapi AbuseIPDB IP2LOCATION 103 | 使用类型: 家宽 家宽 商业 机房 机房 104 | 公司类型: 家宽 家宽 商业 105 | 三、风险评分 106 | 风险等级: 极低 低 中等 高 极高 107 | SCAMALYTICS: 50|高风险 108 | ipapi: 0.00%|极低风险 109 | AbuseIPDB: 0|低风险 110 | IPQS: 75|可疑IP 111 | DB-IP: |低风险 112 | 四、风险因子 113 | 库: IP2LOCATION ipapi ipregistry IPQS SCAMALYTICS ipdata IPinfo IPWHOIS 114 | 地区: [US] [US] [US] [US] [US] [US] [US] [US] 115 | 代理: 否 否 否 否 否 否 否 116 | Tor: 否 否 否 否 否 否 否 否 117 | VPN: 否 否 否 否 无 否 否 118 | 服务器: 否 否 无 否 否 否 119 | 滥用: 否 否 否 否 无 否 无 无 120 | 机器人: 否 否 无 否 否 无 无 无 121 | 五、流媒体及AI服务解锁检测 122 | 服务商: TikTok Disney+ Netflix Youtube AmazonPV Spotify ChatGPT 123 | 状态: 解锁 解锁 解锁 解锁 解锁 解锁 解锁 124 | 地区: [US] [US] [US] [US] [US] [US] [US] 125 | 方式: 原生 原生 原生 原生 原生 原生 原生 126 | 六、邮局连通性及黑名单检测 127 | 本地25端口:可用 128 | 通信:Gmail Outlook Yahoo Apple QQ MailRU AOL GMX MailCOM 163 Sohu Sina 129 | IP地址黑名单数据库: 有效 439 正常 434 已标记 3 黑名单 2 130 | ======================================================================== 131 | 脚本今日运行次数:495;总运行次数:7466。感谢使用xy系列脚本! 132 | 133 | -------------------------------------------------------------------------------- /img/cn_IPv6.svg: -------------------------------------------------------------------------------- 1 | 2 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | ######################################################################## 79 | IP质量体检报告:2a12:a301:1:*:*:*:*:* 80 | bash <(curl -sL IP.Check.Place) 81 | https://github.com/xykt/IPQuality 82 | 报告时间:2024-05-17 00:52:14 CST 脚本版本:v2024-05-17 83 | ######################################################################## 84 | 一、基础信息(Maxmind 数据库 85 | 自治系统号: AS3258 86 | 组织: xTom Pty Ltd 87 | 坐标: 139°22′52″E, 35°26′50″N 88 | 地图: https://check.place/35.4472,139.381,15,cn 89 | 城市: Kanagawa, 海老名市, 243-0421 90 | 使用地: [JP]日本, [AS]亚洲 91 | 注册地: [JP]日本 92 | 时区: Asia/Tokyo 93 | IP类型: 原生IP 94 | 二、IP类型属性 95 | 数据库: IPinfo ipregistry ipapi AbuseIPDB IP2LOCATION 96 | 使用类型: 机房 机房 机房 机房 机房 97 | 公司类型: 商业 机房 机房 98 | 三、风险评分 99 | 风险等级: 极低 低 中等 高 极高 100 | SCAMALYTICS: 0|低风险 101 | ipapi: 0.00%|极低风险 102 | AbuseIPDB: 0|低风险 103 | IPQS: 38|低风险 104 | DB-IP: |低风险 105 | 四、风险因子 106 | 库: IP2LOCATION ipapi ipregistry IPQS SCAMALYTICS ipdata IPinfo IPWHOIS 107 | 地区: [JP] [JP] [JP] [JP] [JP] [JP] [JP] [JP] 108 | 代理: 否 否 否 否 否 否 否 否 109 | Tor: 否 否 否 否 否 否 否 否 110 | VPN: 否 否 否 否 否 无 否 否 111 | 服务器: 是 是 是 否 否 否 112 | 滥用: 否 否 否 否 无 否 无 无 113 | 机器人: 否 否 无 否 否 无 无 无 114 | 五、流媒体及AI服务解锁检测 115 | 服务商: TikTok Disney+ Netflix Youtube AmazonPV Spotify ChatGPT 116 | 状态: 失败 解锁 仅自制 解锁 屏蔽 解锁 失败 117 | 地区: [JP] [JP] [JP] [JP] 118 | 方式: 原生 原生 原生 原生 119 | 六、邮局连通性及黑名单检测 120 | 本地25端口:可用 121 | 通信:Gmail Outlook Yahoo Apple QQ MailRU AOL GMX MailCOM 163 Sohu Sina 122 | ======================================================================== 123 | 脚本今日运行次数:486;总运行次数:7457。感谢使用xy系列脚本! 124 | 125 | -------------------------------------------------------------------------------- /img/en_IPv4.svg: -------------------------------------------------------------------------------- 1 | 2 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | ######################################################################## 83 | IP QUALITY CHECK REPORT: 104.245.*.* 84 | bash <(curl -sL IP.Check.Place) 85 | https://github.com/xykt/IPQuality 86 | Report Time: 2024-05-16 16:27:02 UTC Version: v2024-05-17 87 | ######################################################################## 88 | 1. Basic Information (Maxmind Database) 89 | ASN: AS9312 90 | Organization: xTom 91 | Location: 114°10′33″E, 22°17′3″N 92 | Map: https://check.place/22.2842,114.1759,15,en 93 | City: N/A, Hong Kong 94 | Actual Region: [HK]Hong Kong, [AS]Asia 95 | Registered Region: [CA]Canada 96 | Time Zone: Asia/Hong_Kong 97 | IP Type: Geo-discrepant 98 | 2. IP Type 99 | Database: IPinfo ipregistry ipapi AbuseIPDB IP2LOCATION 100 | Usage: Hosting Hosting Hosting Hosting Hosting 101 | Company: Hosting Hosting Hosting 102 | 3. Risk Score 103 | Levels: VeryLow Low Medium High VeryHigh 104 | SCAMALYTICS: 0|Low 105 | ipapi: 0.10%|Low 106 | AbuseIPDB: 0|Low 107 | IPQS: 100|HighRisk 108 | DB-IP: |Low 109 | 4. Risk Factors 110 | DB: IP2LOCATION ipapi ipregistry IPQS SCAMALYTICS ipdata IPinfo IPWHOIS 111 | Region: [HK] [HK] [HK] [HK] [HK] [HK] [HK] [HK] 112 | Proxy: No No No Yes No No No Yes 113 | Tor: No No No No No No No No 114 | VPN: Yes No Yes Yes Yes N/A No No 115 | Server: Yes Yes Yes N/A No No Yes Yes 116 | Abuser: No No No Yes N/A No N/A N/A 117 | Robot: No No N/A Yes No N/A N/A N/A 118 | 5. Accessibility check for media and AI services 119 | Service: TikTok Disney+ Netflix Youtube AmazonPV Spotify ChatGPT 120 | Status: Failed Block NF.Only Yes Yes Yes APPOnly 121 | Region: [HK] [HK] [HK] [HK] [DE] 122 | Type: Native Native Native Native ViaDNS 123 | 6. Email service availability and blacklist detection 124 | Local Port 25: Available 125 | Conn: Gmail Outlook Yahoo Apple QQ MailRU AOL GMX MailCOM 163 Sohu Sina 126 | DNSBL database: Active 439 Clean 435 Marked 4 Blacklisted 0 127 | ======================================================================== 128 | Script runs today: 463; Total: 7434. Thanks for running xy scripts! 129 | 130 | -------------------------------------------------------------------------------- /img/en_IPv6.svg: -------------------------------------------------------------------------------- 1 | 2 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | ######################################################################## 79 | IP QUALITY CHECK REPORT: 2a12:a301:1:*:*:*:*:* 80 | bash <(curl -sL IP.Check.Place) 81 | https://github.com/xykt/IPQuality 82 | Report Time: 2024-05-16 16:53:57 UTC Version: v2024-05-17 83 | ######################################################################## 84 | 1. Basic Information (Maxmind Database) 85 | ASN: AS3258 86 | Organization: xTom Pty Ltd 87 | Location: 139°22′52″E, 35°26′50″N 88 | Map: https://check.place/35.4472,139.381,15,en 89 | City: Kanagawa, Ebina, 243-0421 90 | Actual Region: [JP]Japan, [AS]Asia 91 | Registered Region: [JP]Japan 92 | Time Zone: Asia/Tokyo 93 | IP Type: Geo-consistent 94 | 2. IP Type 95 | Database: IPinfo ipregistry ipapi AbuseIPDB IP2LOCATION 96 | Usage: Hosting Hosting Hosting Hosting Hosting 97 | Company: Business Hosting Hosting 98 | 3. Risk Score 99 | Levels: VeryLow Low Medium High VeryHigh 100 | SCAMALYTICS: 0|Low 101 | ipapi: 0.00%|VeryLow 102 | AbuseIPDB: 0|Low 103 | IPQS: 38|Low 104 | DB-IP: |Low 105 | 4. Risk Factors 106 | DB: IP2LOCATION ipapi ipregistry IPQS SCAMALYTICS ipdata IPinfo IPWHOIS 107 | Region: [JP] [JP] [JP] [JP] [JP] [JP] [JP] [JP] 108 | Proxy: No No No No No No No No 109 | Tor: No No No No No No No No 110 | VPN: No No No No No N/A No No 111 | Server: Yes Yes Yes N/A Yes No No No 112 | Abuser: No No No No N/A No N/A N/A 113 | Robot: No No N/A No No N/A N/A N/A 114 | 5. Accessibility check for media and AI services 115 | Service: TikTok Disney+ Netflix Youtube AmazonPV Spotify ChatGPT 116 | Status: Failed Yes NF.Only Yes Block Yes Failed 117 | Region: [JP] [JP] [JP] [JP] 118 | Type: Native Native Native Native 119 | 6. Email service availability and blacklist detection 120 | Local Port 25: Available 121 | Conn: Gmail Outlook Yahoo Apple QQ MailRU AOL GMX MailCOM 163 Sohu Sina 122 | ======================================================================== 123 | Script runs today: 487; Total: 7458. Thanks for running xy scripts! 124 | 125 | -------------------------------------------------------------------------------- /img/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xykt/IPQuality/5f082d9329580203cbb1b25953c2d25e89708b0f/img/help.png -------------------------------------------------------------------------------- /img/mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xykt/IPQuality/5f082d9329580203cbb1b25953c2d25e89708b0f/img/mobile.png -------------------------------------------------------------------------------- /img/sponsor/logo_bage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xykt/IPQuality/5f082d9329580203cbb1b25953c2d25e89708b0f/img/sponsor/logo_bage.png -------------------------------------------------------------------------------- /img/sponsor/logo_dreamcloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xykt/IPQuality/5f082d9329580203cbb1b25953c2d25e89708b0f/img/sponsor/logo_dreamcloud.png -------------------------------------------------------------------------------- /img/sponsor/logo_lisa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xykt/IPQuality/5f082d9329580203cbb1b25953c2d25e89708b0f/img/sponsor/logo_lisa.png -------------------------------------------------------------------------------- /img/sponsor/logo_vps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xykt/IPQuality/5f082d9329580203cbb1b25953c2d25e89708b0f/img/sponsor/logo_vps.png -------------------------------------------------------------------------------- /ref/ad1.ans: -------------------------------------------------------------------------------- 1 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 2 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 3 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 4 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 5 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 6 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 7 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 8 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 9 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 10 | LISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOSTLISAHOST 11 | 丽萨主机 Lisahost.com 港/台/美/新 ISP优质IP 优化线路 Tiktok运营 专业服务 12 |  13 | -------------------------------------------------------------------------------- /ref/cookies.txt: -------------------------------------------------------------------------------- 1 | grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&latitude=0&longitude=0&platform=browser&subject_token=DISNEYASSERTION&subject_token_type=urn%3Abamtech%3Aparams%3Aoauth%3Atoken-type%3Adevice 2 | 'authorization: Bearer ZGlzbmV5JmJyb3dzZXImMS4wLjA.Cu56AgSfBTDag5NiRA81oLHkDZfu5L3CKadnefEAY84' 3 | "AMCVS_CFAF55745DD2611E0A495C82%40AdobeOrg=1; s_pvDate=2021%2F06%2F17; s_cc=true; wowow2_mem_guide=visited; wowow2_MGSID=4440260aa4011f0162393267600028772; wowow2_MGSID_AuthTicket=fd28d6b1349fd2e672af97370c4eaa4d42a4fdf2; demographics=01301; u-demographics=BAD81A3D84A07B32EC333E1BEFE72F10; wowow2_sls=1; wowow2_ext_MGSID=4440260aa4011f0162393267600028772; wod_auth=CfDJ8D-H-2bqdw1AjJk3TVDbKLaZydf2DfrFVw51ktRQdWqpml0TtbTZudBFfOd-ReyghPDX8aTlo8Ys_shmm-Nv7GBeFMrsM-pUufuTmiSYX7yEa5D9h6YDRA7OviqDLyAKDHUpZifwVToT1vKg_A9G1UMaS0exxBx_TcoOe9U_3Ex4HAb98A5106gj-6ztKoSPVxxKEneO1JdtLe3uVCZ_HMqh6oCeJCZvvlOVN_w_lECjchu58NGtZWmV3mE02DZ-SK5X6xT6GTetvr5EvFKJAxNfaNvkHoS_e-20dz-c-8huuTuvXTg3-i5OAQSyG5UQ_VRz-qqMVV-JR2xmRyxPuEifLU3Iy_B0IWvE65YZlexmL2KVEP745nB7-wCRuVzu9zEdO1IRHQ3fruQ_8RJqb0g; wod_secret=1e4c8db631cd4d2f986102a87811e8e5; s_ips=1010; s_sq=%5B%5BB%5D%5D; x_xsrf_token=1623934360j1T6bPwpGswOnPp3IrcHFZ5vPMo8LE; s_gpvPage=www%3Awowow%3Amember%3Alogin.php%3Ard%3Ahttps%3A%2B%2Bwww.wowow.co.jp%2Bsupport%2Bregist_self.php; s_tp=1010; s_ppv=www%253Awowow%253Amember%253Alogin.php%253Ard%253Ahttps%253A%2B%2Bwww.wowow.co.jp%2Bsupport%2Bregist_self.php%2C100%2C100%2C1010%2C1%2C1; s_nr365=1623934367877-Repeat; AMCV_CFAF55745DD2611E0A495C82%40AdobeOrg=-432600572%7CMCIDTS%7C18796%7CMCMID%7C30796674720677405047057880592301178864%7CMCOPTOUT-1623941567s%7CNONE%7CvVersion%7C4.5.2" 4 | "Accept: application/json;pk=BCpkADawqM3ZdH8iYjCnmIpuIRqzCn12gVrtpk_qOePK3J9B6h7MuqOw5T_qIqdzpLvuvb_hTvu7hs-7NsvXnPTYKd9Cgw7YiwI9kFfOOCDDEr20WDEYMjGiLptzWouXXdfE996WWM8myP3Z" 5 | {"device_identifier":"2B3BACF5B121715649E5D667D863612E:2ea6","deejay_device_id":190,"version":1,"all_cdn":true,"content_eab_id":"EAB::ea0def9a-afa3-4371-b126-964e1c6bea89::60515729::2000604","region":"US","xlink_support":false,"device_ad_id":"7DC1A194-92E0-117A-A072-E22535FD3B8D","limit_ad_tracking":false,"ignore_kids_block":false,"language":"en","guid":"2B3BACF5B121715649E5D667D863612E","rv":838281,"kv":451730,"unencrypted":true,"include_t2_revenue_beacon":"1","cp_session_id":"D5A29AC4-45C5-28EC-2D90-310D8B603665","interface_version":"1.11.0","network_mode":"wifi","play_intent":"resume","lat":23.1192247,"long":113.2199658,"playback":{"version":2,"video":{"codecs":{"values":[{"type":"H264","width":1920,"height":1080,"framerate":60,"level":"4.2","profile":"HIGH"}],"selection_mode":"ONE"}},"audio":{"codecs":{"values":[{"type":"AAC"}],"selection_mode":"ONE"}},"drm":{"values":[{"type":"WIDEVINE","version":"MODULAR","security_level":"L3"},{"type":"PLAYREADY","version":"V2","security_level":"SL2000"}],"selection_mode":"ALL"},"manifest":{"type":"DASH","https":true,"multiple_cdns":true,"patch_updates":true,"hulu_types":true,"live_dai":true,"multiple_periods":false,"xlink":false,"secondary_audio":true,"live_fragment_delay":3},"segments":{"values":[{"type":"FMP4","encryption":{"mode":"CENC","type":"CENC"},"https":true}],"selection_mode":"ONE"}}} 6 | _h_csrf_id=7409960e2a4c5cacdf4ad0b40d02f1f419ec19a5cf5efde88838f56154d36dab; _hulu_uid=201194534; _hulu_e_id=f49WXX_ScBCK8xPpPfT7JA; _hulu_bluekai_hashed_uid=c0e4c9575742fe7542cbc0eb475f6585; _hulu_dt=CJDtoJLb0AF7xJTRQLO7v6aOJ7I-dqaPkHo8l6LPP1bcLnYA_A--PkyDXJwUJG3o0hWDnKkYILcL_%2FBrDxIXAlyoHDx14NHeeJfctC29Xzsx4tNJedYQZuy1w%2FZLgczSI3qt8nirWwAobE0wmi8OhdO_%2FLmh7Ln7bRqner5sqC0xIsSvDYv%2FkpKdrRyPCzLX0GNhWEcU1sjqGNJhcNySujfMh%2Fq%2FfTe6Gz9vb7rtjpGCRWKNdPWG3vSyNnOKd8J6HLZIWQpVkUuvYqF_D0HrdhVRRAEAu9cpfgW%2F_bPgaG_mWKAt3%2F9_iF0ksf1trvm4Vw01HA1ufRMi1kxTrMfcQ%2FRfmsIL0lVIoUPtdCNWJuQ_xyncNryUK27dYEBI1ZBKpVWk9QO_0F_6XtIjq2etmGLG98e%2Fx74yefigQ7aQACuedPlvDRHOm2Dx7ElxcIBzKGnOBtLt66wPzOHIxa94awZzpjhjBjEJ4JdhngP0DSsaFGzvzXlio9QivBgeAh8FgAl%2F3odQ8mLstQH1Cslz1NiPU9rruTuGmLASk%2F%2FLpYUyOYUOJl%2FfD7K02Xq7nF3MnWv4PTC79Gl5AoxZeGKy9WBFQAVCUKI6OYx_oc3I1McQXBNK1GFkegEHahWO7qUgA6547ucmytiM0llw%2Fyvv8M%2FTuIebc0fGdeV6Ym2AK5ElvBmqMCPVUTrAOP1qK8JC7CkZQ6Cm5U7qw8AEyRrpPfNqdZK00Abne0RAyrbthfzy7bfoMktRMqiP704AgaT3M_YRn9SshQ081Fx8uHI1GE5YmJvo7umw0ZtV0gGxXexxtaZQgqrAx75uyLoWyG2uvuvNCmufWvJrNJ9uEAiXIrghWdtQYYXqbVjFTa6gt4DKKpiDW_J39vf6EeSQyu0jCzlFYrVGmweLDbVXWLk_zeqUBzcbuB4-; _hulu_pid=201194639; _hulu_pname=Bill%20Gates; _hulu_is_p_kids=0; guid=051BDA2EDE200DE1E7C1E48FBE9BE703; AMCVS_0A19F13A598372E90A495D62%40AdobeOrg=1; _hulu_uname=Bill+Gates; _hulu_utype=plus%3Aios; _hulu_pgid=3; _hulu_plid=70828; _hulu_psh=0; _hulu_psvh=0; _csrf_id=75e11783d40cc993792dad9e0816af9443362c9b53e92ef7797f0355a8b95d68; s_cc=true; _hulu_assignments=eyJ2MSI6W3siZSI6OTc5LCJ0IjoyNjk3LCJuIjoiaHVsdV8xMzU3OF93ZWxjb21lX2Jfd2hpdGVfY3RhIn1dfQ%3D%3D; _hulu_hbc=1624194121035; _hulu_session=k2JE4gPqVlM3LtStdErz12jw0U8-lI3d5nWPy2Q8W4tMGGbtzg--atiahdg9XQKv5WqAhkS9t7POnyCifqFVkGE3tpGy6tEMl9UPrfBQ6_RsNDR%2FcGVnz%2FPILVruTsa58eLUq5zdtqFb9nNbvQ53lrRn3WYess8Gs1IMI6Hxj1Zkknh0FbxUcS18um%2FqAeWcyLKTSjJ_FtHwRBzw34fufh0UgyvdcygP_yif9jJ4vLy7W7vhyhRVS_9wLMi206arcdFKfgMNglamSjyxVcBJFEzs91vHiZyK0UEfnpzCpKCujWu38bUIiGbHfpR06kuQ4P80OBp7PXFZ5U3w%2FQT5PzfCdutdQoHbjqw_W8yCdwp0HTzdwmDuRCGKrqBk6KArHtLZA4zFAoovr_d9dKWsZDnWXMc4RjomDzNRP0cjyAa7vXnV_viWf3BoGRuuyBLEwEak%2Fj86fHOW1frY94bdSSQidgZck_8yKl6zHY8Uk_e_TMMrItdSRGO7NwkoWDjl_%2FtbTcahUBhHqVTSOTnVO3U1IzIWW3o8JA0568k92g5roSTKBI6EUD9SktBFcfrzPszL5CJtjt_FuWp9agQyLcQODapMEYhq9USPsnM9MWJatxpHhgY%2FlFmOdOx6z1QK8fBdYuWSK9ExYmr9xYh10DzsO7tYlJn0P6pq65Zv1_US61CVtsHNHOXr4DEsvWuAJGi17f6s2boUrKJiCIxQOuJMwZiJTpjkW2eTH3oeg4nisbUlnb15IrdMdtdwTG26vOGjG5ByHeXZ721mVZfNbm7ghx0nSrKLb_gmM0mdtUM9qyTSB_cyJM5aqQB2LctzuaEaIeLKkUIlXIPGsSiLSDmNX3HGRLdLKuQl1Yoq_7TNkv%2FRXN7t7ybUTTTo6cFsTp7JbbS4%2Ft3HT04m3jY9UhBN80l29hwft0M3eeE2tASFnn90KZs8jd43l0xHu4on9Vbsd2cjHbPi2FyF_utXqI0OUBAQltuNyC9mXW755KbryCErZnb7xkt3VrK5eqdPS70ZdLgfGtID4NGrPCCLgMsPEqNwK4pKbK1kH4exmksjDnwyj5YVIRYywj9LoipgKEnFJzD6IUqhB5ybA8bKLc8qFXPJbUZnmn_u6lEwtUh_heet1mu5; bm_mi=C7288944D1321EF6C7049F7B9FA20378~0QSp6QjTtRiEjeSjIpWX2cS6CplgPGcGlXazUQnps1dJF2Nv2BNe3oqUpw+u+oCKfOR1BMCbrHb3VOpz5cOed+rbDVzxclxodIKKJC/ZXNjTo15F5PC9vIkYqgNSAk5yU4gWV2SaLwT+JBsOydzNcPRwuY+z6+gkCw6eqGSQx0kZQfE/d+xMaJiStH+uUD6tNyCA4nIps5JpeEaNLzWjwuE4EaOuOCC8yZyLh7x8W0AsdEdkeEQEz1GLYgJmwnS0954PSECxwS5zQyqMB2vJSg==; ak_bmsc=72FC22728A28C7F3DC94376C9C3554F3~000000000000000000000000000000~YAAQTXZiaOhghx96AQAAWha6KQwV7/I2tiArb8nII7tGbF20EEmg3lH9OsRYJE/tzpyywpT3eeD2Td/IVRmVmurRrQ5Vp+YIs++zYbvI4XVQKXRtmv7mM0lDDhqOeR+dpM4CRBdT7Vv9eNYchfzID5cd7xzgYLqubfP70LR0zfaTubjfFdjMvawyOIQwAPfaErrsX0iiEpmy4G/nonxdTGB3bBQ7kAYoVpWAtAon8QoYoRx5HCjFzE/c7TKqZ/iDXcUq5tvZjptzNfnF5iChraxr5wlkiDh9eyWWCk/rTJozMeI1tX1HwH+In8iv4T7cTtZJh5MRq+IH/bXrwJtty51jvGu8B5mCaDUsHZKWRtEJpJMp7ta5o1nHrAQuiymFNRMEIPDqxDLbAA==; XSRF-TOKEN=8335e11a-8c68-483e-9a80-2d7f79856b44; AMCV_0A19F13A598372E90A495D62%40AdobeOrg=-408604571%7CMCIDTS%7C18799%7CMCMID%7C59607436576250353666502608938647993204%7CMCAID%7CNONE%7CMCOPTOUT-1624204908s%7CNONE%7CvVersion%7C4.6.0; bm_sv=A5945B0C79D7AA8B5A878BCDD21707C7~uii8SKBBdtZtDcwf0sopMCO3ldEL6L8p4F4PuMBF2DW9zw1kwgQO3b0dRgkojZaH5rNoMisLrt4Fz4c+JeL/zj4YKNr/3DOgt3wK7/tUvEZZPpLFFMlSPjel2Y7D3Gt7N8JMW42t9Gj2gAXFO4nCFA==; _hulu_metrics_context_v1_=%7B%22cookie_session_guid%22%3A%228d152d975a317957990c7d80022cd87c%22%2C%22referrer_url%22%3A%22%22%2C%22curr_page_uri%22%3A%22app%3Awatch%22%2C%22primary_ref_page_uri%22%3A%22urn%3Ahulu%3Ahub%3Ahome%22%2C%22secondary_ref_page_uri%22%3Anull%2C%22curr_page_type%22%3A%22watch%22%2C%22primary_ref_page_type%22%3A%22home%22%2C%22secondary_ref_page_type%22%3Anull%2C%22secondary_ref_click%22%3Anull%2C%22primary_ref_click%22%3A%22Demon%20Slayer%20Kimetsu%20No%20Yaiba%22%2C%22primary_ref_collection%22%3A%22282%22%2C%22secondary_ref_collection%22%3Anull%2C%22primary_ref_collection_source%22%3A%22heimdall%22%2C%22secondary_ref_collection_source%22%3Anull%2C%22ref_collection_position%22%3A0%7D; metrics_tracker_session_manager=%7B%22session_id%22%3A%22051BDA2EDE200DE1E7C1E48FBE9BE703-4040a0e1-3ec2-4b14-b7d2-85115b386d30%22%2C%22creation_time%22%3A1624197697579%2C%22visit_count%22%3A1%2C%22session_seq%22%3A11%2C%22idle_time%22%3A1624197708635%7D 7 | {"query":"mutation refreshToken($input: RefreshTokenInput!) {\n refreshToken(refreshToken: $input) {\n activeSession {\n sessionId\n }\n }\n }","variables":{"input":{"refreshToken":"eyJ6aXAiOiJERUYiLCJraWQiOiJLcTYtNW1Ia3BxOXdzLUtsSUUyaGJHYkRIZFduRjU3UjZHY1h6aFlvZi04IiwiY3R5IjoiSldUIiwiZW5jIjoiQzIwUCIsImFsZyI6ImRpciJ9..qnHbUZQXPtEv5n5s.kKfiwHFTT-u6b92OIDNGE8HBbJd_1EsCx3apaucHSvIj44bbLVvwDWkvtnD67qgtqY08_ohitM51nawYdPbLOE45hA2j7d7kaksYtDcj3rVg_Vys_Mxjs_HMdIDn8MdY71SqRl-f9848oDdzTrEswgW-fYqzWjY1Ur7mwmqDTumWWDhzjWCl_-aQWJuHp4CD8UdvfcIr7kVAbJR4_NL0VN69cYCMnBslxo53zNSc8v2MWYsENLxvpU1RD38EoJRjAWCYYmToeqNkxehEemn_qDJNxLdilp40ca4xcLCOCQgjl2hQnLDL4SFj6lIo1Gz2nWI8SOtQECia3Y9Rm778rjfPt2VYsmGux_rnRjipjiCnSSjy2VEjxT_BYFTpfxMU51OqlaqUB5v7xpjAmiQCA20GZcmJBizrHwjRKyFLn7b5jM72_MUE84jruVbgt7PR8XqFAmn76w8SnkgIdZvmnyHHsDB66jGBaRRY91Jrnx5RMyavsYTQRb_JMmCXvNZY1DDpAMuRTOB98uoRdhGsdItROJgKrdY_dyNlmp3BU9mi64Q76JQsRQpqgpIHJParHprX1CSGURa57SP0lo8RUPzwW2c0XJWITicYwvSbpuMGKwFyHECvY7-LqFwrS_VgQzYwv7zxJ_DGSqGGkwLpUAtJgBQ5tZEIeDFUVy_hy8O0Pxu35sHwmOqE3YGvUZagDKU6A_WfXNgP5HX9A9myI57iGxDte2xIEdVjsrEi8OaDByJ9epWMJH97yovmRjw9sv6eJIlfRqHmNi7p9ZFP2seOSaMweVqY4U7gGdNL33kh4VN8QrDD7Iz9l9499lmrB5Zr6jOVDSYJ20PhfXyLWG8WyxY8bPg2kI9xCO295ngti58cyKRteZ_mmGaFoaJjQGNHYKBoFzDCWts4o7T8jgjsMarTx30BjAr09ruyp5zd6C743iaVPQKdhA3gx8gPWlQhpHDoqXx5c6gosiS_Ty8i_pS5eGHuVqiz9Qv4Nb-uZXqgvcWEcbHYxc76dx9sLUzulOY66AdWUWXQc6G6z-XbgkwmK-BpaQrVZcoAhU_Ci69SBHD_XR9eN6XOAUVh2Bsu7Bgb8q5fFJn7gyz2oqujBWpDKM8hraV_IPU8geGOPUQyMetepIFY1SjeOqVM_h6ng9LehWQ0aQiPOn-BDlXhEVCjQDtAmxrW6tj0Hc7InvURGUaL97y22A2MvNh9eaG_h6ztzpm-iBdCkOzdOihrzXZqZmHhaoZADxYgZTL0UDnXBH6CtPuWiBfTycQbXNyjM9nm4y0EsDl14asIUqymDzTq-S9ZYfu2QzLMZXaw4khhLZ7bYsHNaIWd22phXhUxIJQb3Sb_xOlaWlEjWebTw-wWKJ9KQEcroSuKCIKoLLhb21qw_WX8-IN0qlWrk02UJJR1Kz7hoa0Da5QF_yQgkqk4dE_JNn9IxnQOFAEKqASmwORW-3bAH2SqEUhSAUvOIZjVAgO721aUF5TDgiEjLJvfQcEWmETjcHFFwzfnoKVjMRFOj_zHwrsZ-OoPst0D14GT4cs26M4yi7d15Pt28v2CNSHWug4gh89IT5EtkV_wlzuTyBc9hgronT5kN7v6-DHyYPSDh4vfT4BckqzMsi4QxsMBUZ0hYBojdODoW40ckBTncizRf5QqObzfk3WSmv4y7zoseY4c4erV7k6O_O9_op8mcRcVyMDiWchMT4SmrFRP-tBbTmIkp18F3YUIOdPzY1m40c3DdkaP-TrQlNsbpfPSpZURKT97BoZjy3JGofFr--zNvBHUS1lxXxkOkLXCEHSudnBsqSoc5HJP7-qjwfoqCV76E_iZ9zjWNrNN6X3NnYmRfZ8dso8KZfaGBf6u_90qpg6ZBtRa9GzyWS9qBJRi95408UqK5R9m5IDZtQ2B_J7yhMBN2MWXuyBmJoq0_a1BUGXmF50z4avcHbQWQdD-Yf76z1xMD1pLvgb8b9rk6wxxda94XnyvOmX8orY8O7wJXEKSygDm2nKE4gBK1apAi0SbKdXcAdnQfh4hbfcJDmWr5NBjjdKuOzJdnTI8voEFQB4BiUsP2t40orQRFxu-gdmpnGGiApgsojcvCx25ev1TFK0845-NmK0rY2Nvd9o_NBulWnSsWJcGKzODceqi3qaxoQ9U90tOFnipqvJ3lu3BTJWqMedQSrQDzbiUegeAjQd9w2Fz7LLNDSY0V4UO764pCVDJKJBLByifkOuFrkiUJwBVe8LIb7raFYO9P9HOUw1fmcH1rsZajPuWQJQBaQMLm-gon7uJpORZUuYyovv4MBWtJDl_VmIUI4mPwRL8YrzfvuzdMKwCw6ri6zKCbxkBsocALSVBJACPIRvvi4SgeV_F--efROD0.UjQJShStniHGbdb5WwRH5Q"}}} 8 | {"query":"mutation refreshToken($input: RefreshTokenInput!) {\n refreshToken(refreshToken: $input) {\n activeSession {\n sessionId\n }\n }\n }","variables":{"input":{"refreshToken":"ILOVEDISNEY"}}} 9 | grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&latitude=0&longitude=0&platform=browser&subject_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlM2NkMTFmYi1hZjA4LTQ4Y2UtOGJmNi03ZTVhNDdmNDdmMzUiLCJhdWQiOiJ1cm46YmFtdGVjaDpzZXJ2aWNlOnRva2VuIiwibmJmIjoxNjMwNDIxNDc0LCJpc3MiOiJ1cm46YmFtdGVjaDpzZXJ2aWNlOmRldmljZSIsImV4cCI6MjQ5NDQyMTQ3NCwiaWF0IjoxNjMwNDIxNDc0LCJqdGkiOiI0NGFhNWE4NC01YzdmLTQzOTMtYWFjNy1kN2U5OGM3MzU2NmMifQ.3NIPcVfIPgkDsJJoBD2RS9MK86i-xuIABKcYNl1oCCJJ2bzTiK8cgdPZNrpah7EMzIesVQdVet4Epxpy99jw2w&subject_token_type=urn%3Abamtech%3Aparams%3Aoauth%3Atoken-type%3Adevice 10 | {"query":"mutation registerDevice($input: RegisterDeviceInput!) {\n registerDevice(registerDevice: $input) {\n grant {\n grantType\n assertion\n }\n }\n }","variables":{"input":{"deviceFamily":"browser","applicationRuntime":"chrome","deviceProfile":"windows","deviceLanguage":"zh-CN","attributes":{"osDeviceIds":[],"manufacturer":"microsoft","model":null,"operatingSystem":"windows","operatingSystemVersion":"10.0","browserName":"chrome","browserVersion":"96.0.4664"}}}} 11 | grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&latitude=0&longitude=0&platform=browser&subject_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJjYWJmMDNkMi0xMmEyLTQ0YjYtODJjOS1lOWJkZGNhMzYwNjkiLCJhdWQiOiJ1cm46YmFtdGVjaDpzZXJ2aWNlOnRva2VuIiwibmJmIjoxNjMyMjMwMTY4LCJpc3MiOiJ1cm46YmFtdGVjaDpzZXJ2aWNlOmRldmljZSIsImV4cCI6MjQ5NjIzMDE2OCwiaWF0IjoxNjMyMjMwMTY4LCJqdGkiOiJhYTI0ZWI5Yi1kNWM4LTQ5ODctYWI4ZS1jMDdhMWVhMDgxNzAifQ.8RQ-44KqmctKgdXdQ7E1DmmWYq0gIZsQw3vRL8RvCtrM_hSEHa-CkTGIFpSLpJw8sMlmTUp5ZGwvhghX-4HXfg&subject_token_type=urn%3Abamtech%3Aparams%3Aoauth%3Atoken-type%3Adevice 12 | authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiOTNlZDQyZC00M2RiLTQzNDMtYThjZi1mZTk4YTY2NzVkNTgiLCJpc3MiOiJMaWdodGJveCIsImV4cCI6MTY2NDk3NTExMSwiZGV2aWNlSWQiOiI2NTgzZWU4YmM0YzQwZmJhOTgzMGQ0ZTYwNTM5ZDAzNSIsInBsYXRmb3JtIjoiV2ViIiwiYnJvd3NlciI6IkNocm9tZSIsInRhYiI6MTYzMzQxNzUwNzY4OSwib3MiOiJXaW5kb3dzIDEwLjAiLCJpYXQiOjE2MzM0MTc1MTF9.E7qgVpqsJEPsh0B3lgK9x8hPs7nQ_Bio_FCt1H8mB4XCPrsand4kHVHA5LpiB5rvBLfOaSfJKru-gKuMlgLJhg 13 | {"operationName":"UpdateAccount","variables":{"input":{"name":"Reid","surname":"Hershel","email":"restriction.check@gmail.com","password":"restriction.check","optIns":[{"id":"RECEIVE_UPDATES","subscribed":false}]}},"query":"mutation UpdateAccount($input: AccountInput!, $pin: String) {\n account(input: $input, pin: $pin) {\n ...AccountFields\n __typename\n }\n}\n\nfragment AccountFields on Account {\n name\n surname\n email\n selectedProfile\n hasPin\n optIns {\n id\n text\n subscribed\n __typename\n }\n phoneNumbers {\n home\n mobile\n __typename\n }\n session {\n token\n __typename\n }\n profiles {\n ...ProfileFields\n __typename\n }\n settings {\n requirePinForSwitchProfile\n requirePinForManageProfile\n tvodPurchaseRestriction\n playbackQuality {\n ...PlaybackQualityFields\n __typename\n }\n __typename\n }\n purchases {\n totalItems\n items {\n ...PurchaseFields\n __typename\n }\n __typename\n }\n cpCustomerID\n subscription {\n ...SubscriptionInformationFields\n __typename\n }\n __typename\n}\n\nfragment ProfileFields on Profile {\n id\n name\n email\n isKid\n isDefault\n needToConfigure\n ageGroup\n avatar {\n uri\n id\n __typename\n }\n closedCaption\n maxRating\n mobile\n __typename\n}\n\nfragment PlaybackQualityFields on PlaybackQuality {\n wifi {\n id\n label\n description\n bitrate\n __typename\n }\n __typename\n}\n\nfragment PurchaseFields on Purchase {\n id\n profile {\n id\n name\n __typename\n }\n contentItem {\n ...ContentItemLightFields\n __typename\n }\n product {\n id\n name\n renewable\n __typename\n }\n total\n startAvailable\n endAvailable\n endViewable\n __typename\n}\n\nfragment ContentItemLightFields on ContentItem {\n id\n isRental\n ... on Title {\n id\n ldId\n path\n title\n year\n rating {\n id\n rating\n __typename\n }\n genres\n duration\n images {\n uri\n __typename\n }\n createdAt\n products {\n id\n originalPrice\n currentPrice\n name\n currency\n __typename\n }\n isComingSoon\n videoExtras {\n ...VideoExtraFields\n __typename\n }\n tile {\n image\n header\n subHeader\n badge\n contentItem {\n id\n __typename\n }\n sortValues {\n key\n value\n __typename\n }\n playbackInfo {\n status\n numberMinutesRemaining\n numberMinutesWatched\n position\n __typename\n }\n rentalInfo {\n secondsLeftToStartWatching\n secondsLeftToWatch\n __typename\n }\n __typename\n }\n __typename\n }\n ... on Series {\n title\n ldId\n genres\n path\n products {\n id\n originalPrice\n currentPrice\n name\n currency\n __typename\n }\n seasons {\n id\n episodes {\n id\n title\n seasonNumber\n episodeNumber\n __typename\n }\n __typename\n }\n images {\n uri\n __typename\n }\n createdAt\n isComingSoon\n videoExtras {\n ...VideoExtraFields\n __typename\n }\n tile {\n image\n header\n subHeader\n badge\n contentItem {\n id\n __typename\n }\n sortValues {\n key\n value\n __typename\n }\n playbackInfo {\n status\n numberMinutesRemaining\n numberMinutesWatched\n position\n __typename\n }\n rentalInfo {\n secondsLeftToStartWatching\n secondsLeftToWatch\n __typename\n }\n __typename\n }\n __typename\n }\n ... on Episode {\n episodeNumber\n seasonNumber\n series {\n id\n title\n path\n seasons {\n episodes {\n id\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n ... on VideoExtra {\n contentItems {\n id\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment VideoExtraFields on VideoExtra {\n id\n description\n images {\n id\n uri\n height\n width\n __typename\n }\n tile {\n image\n __typename\n }\n start\n end\n title\n videoEncodings {\n ...VideoEncodingFields\n __typename\n }\n __typename\n}\n\nfragment VideoEncodingFields on VideoEncoding {\n id\n format\n referenceId\n size\n offlineEnabled\n __typename\n}\n\nfragment SubscriptionInformationFields on SubscriptionInformation {\n currentSubscription {\n name\n sku\n endsAt\n startsAt\n price\n features\n order {\n voucherCode\n __typename\n }\n subscriptionGAType\n promotion {\n name\n price\n isSpark\n isFreeTrial\n expiration\n isBridgingOfferPromotion\n __typename\n }\n evSubscriptionStatus\n __typename\n }\n upcomingSubscription {\n name\n sku\n endsAt\n startsAt\n price\n order {\n voucherCode\n __typename\n }\n subscriptionGAType\n promotion {\n name\n price\n isSpark\n isFreeTrial\n expiration\n __typename\n }\n evSubscriptionStatus\n __typename\n }\n upcomingFinalBillSubscription {\n sku\n evSubscriptionStatus\n __typename\n }\n nextPayment {\n date\n method\n type\n price\n __typename\n }\n recentPayments {\n date\n method\n type\n price\n __typename\n }\n status\n renewalStatus\n recurringVouchers {\n orderDetails {\n productName\n voucherCode\n status\n promotion {\n endDate\n id\n amount\n isExhausted\n __typename\n }\n __typename\n }\n __typename\n }\n dcbSubscriptionInfo {\n partnerName\n __typename\n }\n __typename\n}\n"} 14 | mid=Y1_jFQALAAESwuLfrykcPY44iiIn; ig_did=B755589F-4987-4BED-B6F1-B74C38CDDA46; ig_nrcb=1; fbm_124024574287414=base_domain=.instagram.com; csrftoken=jAYfEUaIhg4JesaPCEw1HaMv20FJ6SZZ; datr=TZ5UYyACdSfnzT1SNWn1oIYE; ds_user_id=56650907390; sessionid=56650907390%3AiPRndDWmoZupKb%3A9%3AAYdsMadARTC9Sys8SCMeMpjqQFWyhnMaVCgPfPyCGw; dpr=1.25 15 | -------------------------------------------------------------------------------- /ref/dnsbl.list: -------------------------------------------------------------------------------- 1 | 0outspam.fusionzero.com 2 | 0spam.fusionzero.com 3 | 0spam-killlist.fusionzero.com 4 | 0spamtrust.fusionzero.com 5 | 0spamurl.fusionzero.com 6 | 3y.spam.mrs.kithrup.com 7 | 88.blocklist.zap 8 | abuse.rfc-clueless.org 9 | abuse.rfc-ignorant.org 10 | access.redhawk.org 11 | accredit.habeas.com 12 | admin.bl.kundenserver.de 13 | all.ascc.dnsbl.bit.nl 14 | all.dnsbl.bit.nl 15 | all.s5h.net 16 | all.spamrats.com 17 | all.spam-rbl.fr 18 | all.v6.ascc.dnsbl.bit.nl 19 | aspews.dnsbl.sorbs.net 20 | aspews.ext.sorbs.net 21 | assholes.madscience.nl 22 | auth.spamrats.com 23 | autowork.drbl.ks.cz 24 | backscatter.spameatingmonkey.net 25 | badconf.rhsbl.sorbs.net 26 | badnets.spameatingmonkey.net 27 | bandwidth-pigs.monkeys.com 28 | ban.zebl.zoneedit.com 29 | b.barracudacentral.org 30 | bb.barracudacentral.org 31 | bitonly.dnsbl.bit.nl 32 | blackhole.compu.net 33 | blackholes.brainerd.net 34 | blackholes.easynet.nl 35 | blackholes.five-ten-sg.com 36 | blackholes.sandes.dk 37 | black.junkemailfilter.com 38 | blacklist.fpsn.net 39 | blacklist.hostkarma.com 40 | blacklist.informationwave.net 41 | blacklist.mail.ops.asp.att.net 42 | blacklist.mailrelay.att.net 43 | blacklist.sci.kun.nl 44 | blacklist.sci.ru.nl 45 | blacklist.sequoia.ops.asp.att.net 46 | bl.blocklist.de 47 | bl.blueshore.net 48 | bl.borderworlds.dk 49 | bl.deadbeef.com 50 | bl.drmx.org 51 | bl.fmb.la 52 | bl.ipv6.spameatingmonkey.net 53 | bl.konstant.no 54 | bl.mailspike.net 55 | bl.mailspike.org 56 | bl.mav.com.br 57 | bl.mipspace.com 58 | bl.nszones.com 59 | block.ascams.com 60 | block.blars.org 61 | block.dnsbl.sorbs.net 62 | blocked.asgardnet.org 63 | blocked.hilli.dk 64 | blocklist2.squawk.com 65 | blocklist.squawk.com 66 | bl.reynolds.net.au 67 | bl.scientificspam.net 68 | bl.score.senderscore.com 69 | bl.shlink.orgdul.ru 70 | bl.spamcannibal.org 71 | bl.spamcop.net 72 | bl.spameatingmonkey.net 73 | bl.spamstinks.com 74 | bl.spamthwart.com 75 | bl.student.pw.edu.pl 76 | bl.suomispam.net 77 | bl.tolkien.dk 78 | bogon.lbl.lagengymnastik.dk 79 | bogons.cymru.com 80 | bogusmx.rfc-clueless.org 81 | bogusmx.rfc-ignorant.org 82 | bsb.empty.us 83 | bsb.spamlookup.net 84 | cart00ney.surriel.com 85 | catchspam.com 86 | cbl.anti-spam.org.cn 87 | cblless.anti-spam.org.cn 88 | cblplus.anti-spam.org.cn 89 | cdl.anti-spam.org.cn 90 | china.rominet.net 91 | client-domain.sjesl.monkeys.com 92 | combined.abuse.ch 93 | combined.rbl.msrbl.net 94 | communicado.fmb.la 95 | csi.cloudmark.com 96 | czdynamic.drbl.ks.cz 97 | dbl.suomispam.net 98 | db.rurbl.ru 99 | db.wpbl.info 100 | dev.null.dk 101 | dialup.blacklist.jippg.org 102 | dialup.drbl.sandy.ru 103 | dialups.mail-abuse.org 104 | dnsbl-0.uceprotect.net 105 | dnsbl-1.uceprotect.net 106 | dnsbl-2.uceprotect.net 107 | dnsbl-3.uceprotect.net 108 | dnsbl6.anticaptcha.net 109 | dnsbl.abuse.ch 110 | dnsbl.anticaptcha.net 111 | dnsbl.antispam.or.id 112 | dnsbl.calivent.com.pe 113 | dnsbl.cbn.net.id 114 | dnsblchile.org 115 | dnsbl.clue-by-4.org 116 | dnsbl.cobion.com 117 | dnsbl.cyberlogic.net 118 | dnsbl.delink.net 119 | dnsbl.dronebl.org 120 | dnsbl.forefront.microsoft.com 121 | dnsbl.httpbl.org 122 | dnsbl.inps.de 123 | dnsbl.ioerror.us 124 | dnsbl.justspam.org 125 | dnsbl.kempt.net 126 | dnsbl.madavi.de 127 | dnsbl.mags.net 128 | dnsbl.mailshell.net 129 | dnsbl.mcu.edu.tw 130 | dnsbl.net.ua 131 | dnsbl.pagedirect.net 132 | dnsbl.rangers.eu.org 133 | dnsbl.rizon.net 134 | dnsbl.rv-soft.info 135 | dnsbl.rymsho.ru 136 | dnsbl.sorbs.net 137 | dnsbl.technoirc.org 138 | dnsbl.tornevall.org 139 | dnsbl.webequipped.com 140 | dnsbl.wpbl.pc9.org 141 | dnsbl.zapbl.net 142 | dnsrbl.swinog.ch 143 | dnswl.inps.de 144 | dnswl.leisi.net 145 | dob.sibl.support-intelligence.net 146 | drone.abuse.ch 147 | dronebl.noderebellion.net 148 | dsn.rfc-clueless.org 149 | dsn.rfc-ignorant.org 150 | dssl.imrss.org 151 | duinv.aupads.org 152 | dul.dnsbl.sorbs.net 153 | dul.dnsbl.sorbs.netdul.ru 154 | dul.orca.bc.ca 155 | dul.pacifier.net 156 | dul.ru 157 | dynablock.easynet.nl 158 | dynamic.dnsbl.rangers.eu.org 159 | dyna.spamrats.com 160 | dyndns.rbl.jp 161 | dynip.rothen.com 162 | elitist.rfc-clueless.org 163 | endn.bl.reynolds.net.au 164 | escalations.dnsbl.sorbs.net 165 | eswlrev.dnsbl.rediris.es 166 | ex.dnsbl.org 167 | exitnodes.tor.dnsbl.sectoor.de 168 | exitnodes.tor.dnsbl.sectoor.dehttp.dnsbl.sorbs.net 169 | feb.spamlab.com 170 | fnrbl.fast.net 171 | formmail.relays.monkeys.com 172 | fresh10.spameatingmonkey.net 173 | fresh15.spameatingmonkey.net 174 | fresh.dict.rbl.arix.com 175 | fresh.sa_slip.rbl.arix.com 176 | fresh.spameatingmonkey.net 177 | fulldom.rfc-clueless.org 178 | geobl.spameatingmonkey.net 179 | gl.suomispam.net 180 | helo-domain.sjesl.monkeys.com 181 | hil.habeas.com 182 | hong-kong.rominet.net 183 | hostkarma.junkemailfilter.com 184 | hostkarma.junkemailfilter.com[brl] 185 | httpbl.abuse.ch 186 | http.dnsbl.sorbs.net 187 | hul.habeas.com 188 | iadb2.isipp.com 189 | iadb.isipp.com 190 | iddb.isipp.com 191 | images.rbl.msrbl.net 192 | in.dnsbl.org 193 | intercept.datapacket.net 194 | intruders.docs.uu.se 195 | ipbl.zeustracker.abuse.ch 196 | ips.backscatterer.org 197 | ipv6.all.dnsbl.bit.nl 198 | ipv6.all.s5h.net 199 | ipwhois.rfc-ignorant.org 200 | ispmx.pofon.foobar.hu 201 | is-tor.kewlio.net.uk 202 | ix.dnsbl.manitu.net 203 | korea.rominet.net 204 | korea.services.net 205 | l1.apews.org 206 | l1.apews.rhsbl.sorbs.net 207 | l1.bbfh.ext.sorbs.net 208 | l1.spews.dnsbl.sorbs.net 209 | l2.apews.dnsbl.sorbs.net 210 | l2.bbfh.ext.sorbs.net 211 | l2.spews.dnsbl.sorbs.net 212 | l3.bbfh.ext.sorbs.net 213 | l4.bbfh.ext.sorbs.net 214 | lame.dnsbl.rangers.eu.org 215 | lbl.lagengymnastik.dk 216 | list.anonwhois.net 217 | list.bbfh.org 218 | list.blogspambl.com 219 | list.dnswl.org 220 | list.quorum.to 221 | mail-abuse.blacklist.jippg.org 222 | mail.people.it 223 | manual.orbz.gst-group.co.uk 224 | misc.dnsbl.sorbs.net 225 | mr-out.imrss.org 226 | msgid.bl.gweep.ca 227 | mtawlrev.dnsbl.rediris.es 228 | multi.surbl.org 229 | netblockbl.spamgrouper.com 230 | netblock.pedantic.org 231 | netbl.spameatingmonkey.net 232 | netscan.rbl.blockedservers.com 233 | new.dnsbl.sorbs.net 234 | new.spam.dnsbl.sorbs.net 235 | nml.mail-abuse.org 236 | nobl.junkemailfilter.com 237 | nomail.rhsbl.sorbs.net 238 | no-more-funn.moensted.dk 239 | noptr.spamrats.com 240 | noservers.dnsbl.sorbs.net 241 | nospam.ant.pl 242 | nsbl.fmb.la 243 | old.dnsbl.sorbs.net 244 | old.spam.dnsbl.sorbs.net 245 | opm.tornevall.org 246 | orbs.dorkslayers.com 247 | orbz.gst-group.co.uk 248 | origin6.asn.cymru.com 249 | orvedb.aupads.org 250 | pacbelldsl.compu.net 251 | Paidaccessviarsync 252 | pdl.bl.reynolds.net.au 253 | phishing.rbl.msrbl.net 254 | plus.bondedsender.org 255 | pm0-no-more.compu.net 256 | pofon.foobar.hu 257 | policy.lbl.lagengymnastik.dk 258 | postmaster.rfc-clueless.org 259 | postmaster.rfc-ignorant.org 260 | ppbl.beat.st 261 | probes.dnsbl.net.auproxy.bl.gweep.ca 262 | problems.dnsbl.sorbs.net 263 | proxies.blackholes.easynet.nl 264 | proxies.dnsbl.sorbs.net 265 | proxies.exsilia.net 266 | proxy.bl.gweep.ca 267 | proxy.block.transip.nl 268 | proxy.drbl.be.net.ru 269 | psbl.surriel.com 270 | pss.spambusters.org.ar 271 | q.mail-abuse.com 272 | query.bondedsender.org 273 | query.senderbase.org 274 | rabl.nuclearelephant.com 275 | random.bl.gweep.ca 276 | rbl2.triumf.ca 277 | rbl.abuse.ro 278 | rbl.blakjak.net 279 | rbl.blockedservers.com 280 | rbl.bulkfeeds.jp 281 | rbl.cbn.net.id 282 | rbl.dns-servicios.com 283 | rbl.echelon.pl 284 | rbl.efnethelp.net 285 | rbl.efnet.org 286 | rbl.efnetrbl.org 287 | rbl.eznettools.com 288 | rbl.fasthosts.co.uk 289 | rbl.firstbase.com 290 | rbl.init1.nl 291 | rbl.interserver.net 292 | rbl.ipv6wl.eu 293 | rbl.jp 294 | rbl.lugh.ch 295 | rbl.mail-abuse.org 296 | rbl.ma.krakow.pl 297 | rbl.ntvinet.net 298 | rbl.pil.dk 299 | rbl.polarcomm.net 300 | rbl.rope.net 301 | rbl.schulte.org 302 | rbl.snark.net 303 | rbl.spamlab.com 304 | rbl.suresupport.com 305 | rbl.talkactive.net 306 | rbl.triumf.ca 307 | rdts.bl.reynolds.net.au 308 | recent.dnsbl.sorbs.net 309 | recent.spam.dnsbl.sorbs.net 310 | relayips.rbl.shub-inter.net 311 | relays.bl.gweep.ca 312 | relays.bl.kundenserver.de 313 | relays.dnsbl.sorbs.net 314 | relays.dorkslayers.com 315 | relays.nether.net 316 | relays.radparker.com 317 | relays.sandes.dk 318 | relaywatcher.n13mbl.com 319 | rep.mailspike.net 320 | reputation-domain.rbl.scrolloutf1.com 321 | reputation-ip.rbl.scrolloutf1.com 322 | reputation-ns.rbl.scrolloutf1.com 323 | residential.block.transip.nl 324 | rf.senderbase.org 325 | rhsbl.rymsho.ru 326 | rhsbl.scientificspam.net 327 | rhsbl.sorbs.net 328 | rhsbl.zapbl.net 329 | r.mail-abuse.com 330 | rsbl.aupads.org 331 | sa-accredit.habeas.com 332 | safe.dnsbl.sorbs.net 333 | sa.senderbase.org 334 | sbl.nszones.com 335 | schizo-bl.kundenserver.de 336 | score.senderscore.com 337 | sender-address.sjesl.monkeys.com 338 | sender-domain.sjesl.monkeys.com 339 | sender-domain-validate.sjesl.monkeys.com 340 | short.fmb.la 341 | short.rbl.jp 342 | singular.ttk.pte.hu 343 | smtp.dnsbl.sorbs.net 344 | socks.dnsbl.sorbs.net 345 | sohul.habeas.com 346 | spam.abuse.ch 347 | spamblock.kundenserver.de 348 | spambot.bls.digibase.ca 349 | spam.dnsbl.anonmails.de 350 | spam.dnsbl.rangers.eu.org 351 | spam.dnsbl.sorbs.net 352 | spamdomain.block.transip.nl 353 | spamdomains.blackholes.easynet.nl 354 | spam.exsilia.net 355 | spamguard.leadmon.net 356 | spamips.rbl.shub-inter.net 357 | spam.lbl.lagengymnastik.dk 358 | spamlist.or.kr 359 | spam.olsentech.net 360 | spam.pedantic.org 361 | spam.rbl.blockedservers.com 362 | spamrbl.imp.ch 363 | spam.rbl.msrbl.net 364 | spam.shri.net 365 | spamsource.block.transip.nl 366 | spamsources.fabel.dk 367 | spam.spamrats.com 368 | spamsupport.dnsbl.rangers.eu.org 369 | spam.wonk.org 370 | spam.wytnij.to 371 | spbl.bl.winbots.org 372 | spews.block.transip.nl 373 | stale.dict.rbl.arix.com 374 | stale.sa_slip.arix.com 375 | st.technovision.dk 376 | superblock.ascams.com 377 | taiwan.rominet.net 378 | tor.dan.me.uk 379 | tor.dnsbl.sectoor.de 380 | tor.efnet.org 381 | torexit.dan.me.uk 382 | torserver.tor.dnsbl.sectoor.de 383 | truncate.gbudb.net 384 | trusted.nether.net 385 | ubl.lashback.com 386 | ubl.nszones.com 387 | ubl.unsubscore.com 388 | unsure.nether.net 389 | uribl.abuse.ro 390 | uribl.pofon.foobar.hu 391 | uribl.spameatingmonkey.net 392 | uribl.swinog.ch 393 | uribl.zeustracker.abuse.ch 394 | urired.spameatingmonkey.net 395 | url.rbl.jp 396 | v4.fullbogons.cymru.com 397 | v6.fullbogons.cymru.com 398 | vbl.mookystick.com 399 | virbl.bit.nl 400 | virbl.dnsbl.bit.nl 401 | virus.rbl.jp 402 | virus.rbl.msrbl.net 403 | vote.drbl.be.net.ru 404 | vote.drbl.caravan.ru 405 | vote.drbl.croco.net 406 | vote.drbl.dataforce.net 407 | vote.drbldf.dsbl.ru 408 | vote.drbl.gremlin.ru 409 | vote.drbl.host.kz 410 | vote.rbl.ntvinet.net 411 | vouch.dwl.spamhaus.org 412 | wadb.isipp.com 413 | wbl.triumf.ca 414 | wdl.bl.reynolds.net.au 415 | web.dnsbl.sorbs.net 416 | web.rbl.msrbl.net 417 | whois.rfc-clueless.org 418 | whois.rfc-ignorant.org 419 | wl.mailspike.net 420 | wl.nszones.com 421 | wl.summersault.com 422 | wl.trusted-forwarder.org 423 | work.drbl.caravan.ru 424 | work.drbl.croco.net 425 | work.drbl.dataforce.net 426 | work.drbldf.dsbl.ru 427 | work.drbl.gremlin.ru 428 | work.drbl.host.kz 429 | worm.dnsbl.rangers.eu.org 430 | wormrbl.imp.ch 431 | worms-bl.kundenserver.de 432 | wpb.bl.reynolds.net.au 433 | xbl.selwerd.cx 434 | ybl.megacity.org 435 | zebl.zoneedit.com 436 | z.mailspike.net 437 | z.mailspike.net 438 | zombie.dnsbl.sorbs.net 439 | zta.birdsong.org 440 | ztl.dorkslayers.com 441 | -------------------------------------------------------------------------------- /ref/iso3166.json: -------------------------------------------------------------------------------- 1 | [{"name":"Afghanistan","alpha-2":"AF","alpha-3":"AFG","country-code":"004","iso_3166-2":"ISO 3166-2:AF","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Åland Islands","alpha-2":"AX","alpha-3":"ALA","country-code":"248","iso_3166-2":"ISO 3166-2:AX","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Albania","alpha-2":"AL","alpha-3":"ALB","country-code":"008","iso_3166-2":"ISO 3166-2:AL","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Algeria","alpha-2":"DZ","alpha-3":"DZA","country-code":"012","iso_3166-2":"ISO 3166-2:DZ","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"American Samoa","alpha-2":"AS","alpha-3":"ASM","country-code":"016","iso_3166-2":"ISO 3166-2:AS","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Andorra","alpha-2":"AD","alpha-3":"AND","country-code":"020","iso_3166-2":"ISO 3166-2:AD","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Angola","alpha-2":"AO","alpha-3":"AGO","country-code":"024","iso_3166-2":"ISO 3166-2:AO","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Anguilla","alpha-2":"AI","alpha-3":"AIA","country-code":"660","iso_3166-2":"ISO 3166-2:AI","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Antarctica","alpha-2":"AQ","alpha-3":"ATA","country-code":"010","iso_3166-2":"ISO 3166-2:AQ","region":"","sub-region":"","intermediate-region":"","region-code":"","sub-region-code":"","intermediate-region-code":""},{"name":"Antigua and Barbuda","alpha-2":"AG","alpha-3":"ATG","country-code":"028","iso_3166-2":"ISO 3166-2:AG","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Argentina","alpha-2":"AR","alpha-3":"ARG","country-code":"032","iso_3166-2":"ISO 3166-2:AR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Armenia","alpha-2":"AM","alpha-3":"ARM","country-code":"051","iso_3166-2":"ISO 3166-2:AM","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Aruba","alpha-2":"AW","alpha-3":"ABW","country-code":"533","iso_3166-2":"ISO 3166-2:AW","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Australia","alpha-2":"AU","alpha-3":"AUS","country-code":"036","iso_3166-2":"ISO 3166-2:AU","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Austria","alpha-2":"AT","alpha-3":"AUT","country-code":"040","iso_3166-2":"ISO 3166-2:AT","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Azerbaijan","alpha-2":"AZ","alpha-3":"AZE","country-code":"031","iso_3166-2":"ISO 3166-2:AZ","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Bahamas","alpha-2":"BS","alpha-3":"BHS","country-code":"044","iso_3166-2":"ISO 3166-2:BS","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Bahrain","alpha-2":"BH","alpha-3":"BHR","country-code":"048","iso_3166-2":"ISO 3166-2:BH","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Bangladesh","alpha-2":"BD","alpha-3":"BGD","country-code":"050","iso_3166-2":"ISO 3166-2:BD","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Barbados","alpha-2":"BB","alpha-3":"BRB","country-code":"052","iso_3166-2":"ISO 3166-2:BB","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Belarus","alpha-2":"BY","alpha-3":"BLR","country-code":"112","iso_3166-2":"ISO 3166-2:BY","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Belgium","alpha-2":"BE","alpha-3":"BEL","country-code":"056","iso_3166-2":"ISO 3166-2:BE","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Belize","alpha-2":"BZ","alpha-3":"BLZ","country-code":"084","iso_3166-2":"ISO 3166-2:BZ","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Benin","alpha-2":"BJ","alpha-3":"BEN","country-code":"204","iso_3166-2":"ISO 3166-2:BJ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Bermuda","alpha-2":"BM","alpha-3":"BMU","country-code":"060","iso_3166-2":"ISO 3166-2:BM","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"Bhutan","alpha-2":"BT","alpha-3":"BTN","country-code":"064","iso_3166-2":"ISO 3166-2:BT","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Bolivia, Plurinational State of","alpha-2":"BO","alpha-3":"BOL","country-code":"068","iso_3166-2":"ISO 3166-2:BO","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Bonaire, Sint Eustatius and Saba","alpha-2":"BQ","alpha-3":"BES","country-code":"535","iso_3166-2":"ISO 3166-2:BQ","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Bosnia and Herzegovina","alpha-2":"BA","alpha-3":"BIH","country-code":"070","iso_3166-2":"ISO 3166-2:BA","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Botswana","alpha-2":"BW","alpha-3":"BWA","country-code":"072","iso_3166-2":"ISO 3166-2:BW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"Bouvet Island","alpha-2":"BV","alpha-3":"BVT","country-code":"074","iso_3166-2":"ISO 3166-2:BV","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Brazil","alpha-2":"BR","alpha-3":"BRA","country-code":"076","iso_3166-2":"ISO 3166-2:BR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"British Indian Ocean Territory","alpha-2":"IO","alpha-3":"IOT","country-code":"086","iso_3166-2":"ISO 3166-2:IO","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Brunei Darussalam","alpha-2":"BN","alpha-3":"BRN","country-code":"096","iso_3166-2":"ISO 3166-2:BN","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Bulgaria","alpha-2":"BG","alpha-3":"BGR","country-code":"100","iso_3166-2":"ISO 3166-2:BG","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Burkina Faso","alpha-2":"BF","alpha-3":"BFA","country-code":"854","iso_3166-2":"ISO 3166-2:BF","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Burundi","alpha-2":"BI","alpha-3":"BDI","country-code":"108","iso_3166-2":"ISO 3166-2:BI","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Cabo Verde","alpha-2":"CV","alpha-3":"CPV","country-code":"132","iso_3166-2":"ISO 3166-2:CV","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Cambodia","alpha-2":"KH","alpha-3":"KHM","country-code":"116","iso_3166-2":"ISO 3166-2:KH","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Cameroon","alpha-2":"CM","alpha-3":"CMR","country-code":"120","iso_3166-2":"ISO 3166-2:CM","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Canada","alpha-2":"CA","alpha-3":"CAN","country-code":"124","iso_3166-2":"ISO 3166-2:CA","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"Cayman Islands","alpha-2":"KY","alpha-3":"CYM","country-code":"136","iso_3166-2":"ISO 3166-2:KY","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Central African Republic","alpha-2":"CF","alpha-3":"CAF","country-code":"140","iso_3166-2":"ISO 3166-2:CF","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Chad","alpha-2":"TD","alpha-3":"TCD","country-code":"148","iso_3166-2":"ISO 3166-2:TD","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Chile","alpha-2":"CL","alpha-3":"CHL","country-code":"152","iso_3166-2":"ISO 3166-2:CL","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"China","alpha-2":"CN","alpha-3":"CHN","country-code":"156","iso_3166-2":"ISO 3166-2:CN","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Christmas Island","alpha-2":"CX","alpha-3":"CXR","country-code":"162","iso_3166-2":"ISO 3166-2:CX","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Cocos (Keeling) Islands","alpha-2":"CC","alpha-3":"CCK","country-code":"166","iso_3166-2":"ISO 3166-2:CC","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Colombia","alpha-2":"CO","alpha-3":"COL","country-code":"170","iso_3166-2":"ISO 3166-2:CO","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Comoros","alpha-2":"KM","alpha-3":"COM","country-code":"174","iso_3166-2":"ISO 3166-2:KM","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Congo","alpha-2":"CG","alpha-3":"COG","country-code":"178","iso_3166-2":"ISO 3166-2:CG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Congo, Democratic Republic of the","alpha-2":"CD","alpha-3":"COD","country-code":"180","iso_3166-2":"ISO 3166-2:CD","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Cook Islands","alpha-2":"CK","alpha-3":"COK","country-code":"184","iso_3166-2":"ISO 3166-2:CK","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Costa Rica","alpha-2":"CR","alpha-3":"CRI","country-code":"188","iso_3166-2":"ISO 3166-2:CR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Côte d'Ivoire","alpha-2":"CI","alpha-3":"CIV","country-code":"384","iso_3166-2":"ISO 3166-2:CI","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Croatia","alpha-2":"HR","alpha-3":"HRV","country-code":"191","iso_3166-2":"ISO 3166-2:HR","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Cuba","alpha-2":"CU","alpha-3":"CUB","country-code":"192","iso_3166-2":"ISO 3166-2:CU","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Curaçao","alpha-2":"CW","alpha-3":"CUW","country-code":"531","iso_3166-2":"ISO 3166-2:CW","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Cyprus","alpha-2":"CY","alpha-3":"CYP","country-code":"196","iso_3166-2":"ISO 3166-2:CY","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Czechia","alpha-2":"CZ","alpha-3":"CZE","country-code":"203","iso_3166-2":"ISO 3166-2:CZ","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Denmark","alpha-2":"DK","alpha-3":"DNK","country-code":"208","iso_3166-2":"ISO 3166-2:DK","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Djibouti","alpha-2":"DJ","alpha-3":"DJI","country-code":"262","iso_3166-2":"ISO 3166-2:DJ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Dominica","alpha-2":"DM","alpha-3":"DMA","country-code":"212","iso_3166-2":"ISO 3166-2:DM","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Dominican Republic","alpha-2":"DO","alpha-3":"DOM","country-code":"214","iso_3166-2":"ISO 3166-2:DO","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Ecuador","alpha-2":"EC","alpha-3":"ECU","country-code":"218","iso_3166-2":"ISO 3166-2:EC","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Egypt","alpha-2":"EG","alpha-3":"EGY","country-code":"818","iso_3166-2":"ISO 3166-2:EG","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"El Salvador","alpha-2":"SV","alpha-3":"SLV","country-code":"222","iso_3166-2":"ISO 3166-2:SV","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Equatorial Guinea","alpha-2":"GQ","alpha-3":"GNQ","country-code":"226","iso_3166-2":"ISO 3166-2:GQ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Eritrea","alpha-2":"ER","alpha-3":"ERI","country-code":"232","iso_3166-2":"ISO 3166-2:ER","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Estonia","alpha-2":"EE","alpha-3":"EST","country-code":"233","iso_3166-2":"ISO 3166-2:EE","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Eswatini","alpha-2":"SZ","alpha-3":"SWZ","country-code":"748","iso_3166-2":"ISO 3166-2:SZ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"Ethiopia","alpha-2":"ET","alpha-3":"ETH","country-code":"231","iso_3166-2":"ISO 3166-2:ET","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Falkland Islands (Malvinas)","alpha-2":"FK","alpha-3":"FLK","country-code":"238","iso_3166-2":"ISO 3166-2:FK","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Faroe Islands","alpha-2":"FO","alpha-3":"FRO","country-code":"234","iso_3166-2":"ISO 3166-2:FO","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Fiji","alpha-2":"FJ","alpha-3":"FJI","country-code":"242","iso_3166-2":"ISO 3166-2:FJ","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"Finland","alpha-2":"FI","alpha-3":"FIN","country-code":"246","iso_3166-2":"ISO 3166-2:FI","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"France","alpha-2":"FR","alpha-3":"FRA","country-code":"250","iso_3166-2":"ISO 3166-2:FR","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"French Guiana","alpha-2":"GF","alpha-3":"GUF","country-code":"254","iso_3166-2":"ISO 3166-2:GF","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"French Polynesia","alpha-2":"PF","alpha-3":"PYF","country-code":"258","iso_3166-2":"ISO 3166-2:PF","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"French Southern Territories","alpha-2":"TF","alpha-3":"ATF","country-code":"260","iso_3166-2":"ISO 3166-2:TF","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Gabon","alpha-2":"GA","alpha-3":"GAB","country-code":"266","iso_3166-2":"ISO 3166-2:GA","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Gambia","alpha-2":"GM","alpha-3":"GMB","country-code":"270","iso_3166-2":"ISO 3166-2:GM","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Georgia","alpha-2":"GE","alpha-3":"GEO","country-code":"268","iso_3166-2":"ISO 3166-2:GE","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Germany","alpha-2":"DE","alpha-3":"DEU","country-code":"276","iso_3166-2":"ISO 3166-2:DE","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Ghana","alpha-2":"GH","alpha-3":"GHA","country-code":"288","iso_3166-2":"ISO 3166-2:GH","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Gibraltar","alpha-2":"GI","alpha-3":"GIB","country-code":"292","iso_3166-2":"ISO 3166-2:GI","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Greece","alpha-2":"GR","alpha-3":"GRC","country-code":"300","iso_3166-2":"ISO 3166-2:GR","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Greenland","alpha-2":"GL","alpha-3":"GRL","country-code":"304","iso_3166-2":"ISO 3166-2:GL","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"Grenada","alpha-2":"GD","alpha-3":"GRD","country-code":"308","iso_3166-2":"ISO 3166-2:GD","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Guadeloupe","alpha-2":"GP","alpha-3":"GLP","country-code":"312","iso_3166-2":"ISO 3166-2:GP","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Guam","alpha-2":"GU","alpha-3":"GUM","country-code":"316","iso_3166-2":"ISO 3166-2:GU","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Guatemala","alpha-2":"GT","alpha-3":"GTM","country-code":"320","iso_3166-2":"ISO 3166-2:GT","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Guernsey","alpha-2":"GG","alpha-3":"GGY","country-code":"831","iso_3166-2":"ISO 3166-2:GG","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Guinea","alpha-2":"GN","alpha-3":"GIN","country-code":"324","iso_3166-2":"ISO 3166-2:GN","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Guinea-Bissau","alpha-2":"GW","alpha-3":"GNB","country-code":"624","iso_3166-2":"ISO 3166-2:GW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Guyana","alpha-2":"GY","alpha-3":"GUY","country-code":"328","iso_3166-2":"ISO 3166-2:GY","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Haiti","alpha-2":"HT","alpha-3":"HTI","country-code":"332","iso_3166-2":"ISO 3166-2:HT","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Heard Island and McDonald Islands","alpha-2":"HM","alpha-3":"HMD","country-code":"334","iso_3166-2":"ISO 3166-2:HM","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Holy See","alpha-2":"VA","alpha-3":"VAT","country-code":"336","iso_3166-2":"ISO 3166-2:VA","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Honduras","alpha-2":"HN","alpha-3":"HND","country-code":"340","iso_3166-2":"ISO 3166-2:HN","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Hong Kong","alpha-2":"HK","alpha-3":"HKG","country-code":"344","iso_3166-2":"ISO 3166-2:HK","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Hungary","alpha-2":"HU","alpha-3":"HUN","country-code":"348","iso_3166-2":"ISO 3166-2:HU","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Iceland","alpha-2":"IS","alpha-3":"ISL","country-code":"352","iso_3166-2":"ISO 3166-2:IS","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"India","alpha-2":"IN","alpha-3":"IND","country-code":"356","iso_3166-2":"ISO 3166-2:IN","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Indonesia","alpha-2":"ID","alpha-3":"IDN","country-code":"360","iso_3166-2":"ISO 3166-2:ID","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Iran, Islamic Republic of","alpha-2":"IR","alpha-3":"IRN","country-code":"364","iso_3166-2":"ISO 3166-2:IR","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Iraq","alpha-2":"IQ","alpha-3":"IRQ","country-code":"368","iso_3166-2":"ISO 3166-2:IQ","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Ireland","alpha-2":"IE","alpha-3":"IRL","country-code":"372","iso_3166-2":"ISO 3166-2:IE","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Isle of Man","alpha-2":"IM","alpha-3":"IMN","country-code":"833","iso_3166-2":"ISO 3166-2:IM","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Israel","alpha-2":"IL","alpha-3":"ISR","country-code":"376","iso_3166-2":"ISO 3166-2:IL","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Italy","alpha-2":"IT","alpha-3":"ITA","country-code":"380","iso_3166-2":"ISO 3166-2:IT","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Jamaica","alpha-2":"JM","alpha-3":"JAM","country-code":"388","iso_3166-2":"ISO 3166-2:JM","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Japan","alpha-2":"JP","alpha-3":"JPN","country-code":"392","iso_3166-2":"ISO 3166-2:JP","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Jersey","alpha-2":"JE","alpha-3":"JEY","country-code":"832","iso_3166-2":"ISO 3166-2:JE","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Jordan","alpha-2":"JO","alpha-3":"JOR","country-code":"400","iso_3166-2":"ISO 3166-2:JO","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Kazakhstan","alpha-2":"KZ","alpha-3":"KAZ","country-code":"398","iso_3166-2":"ISO 3166-2:KZ","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Kenya","alpha-2":"KE","alpha-3":"KEN","country-code":"404","iso_3166-2":"ISO 3166-2:KE","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Kiribati","alpha-2":"KI","alpha-3":"KIR","country-code":"296","iso_3166-2":"ISO 3166-2:KI","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Korea, Democratic People's Republic of","alpha-2":"KP","alpha-3":"PRK","country-code":"408","iso_3166-2":"ISO 3166-2:KP","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Korea, Republic of","alpha-2":"KR","alpha-3":"KOR","country-code":"410","iso_3166-2":"ISO 3166-2:KR","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Kuwait","alpha-2":"KW","alpha-3":"KWT","country-code":"414","iso_3166-2":"ISO 3166-2:KW","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Kyrgyzstan","alpha-2":"KG","alpha-3":"KGZ","country-code":"417","iso_3166-2":"ISO 3166-2:KG","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Lao People's Democratic Republic","alpha-2":"LA","alpha-3":"LAO","country-code":"418","iso_3166-2":"ISO 3166-2:LA","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Latvia","alpha-2":"LV","alpha-3":"LVA","country-code":"428","iso_3166-2":"ISO 3166-2:LV","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Lebanon","alpha-2":"LB","alpha-3":"LBN","country-code":"422","iso_3166-2":"ISO 3166-2:LB","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Lesotho","alpha-2":"LS","alpha-3":"LSO","country-code":"426","iso_3166-2":"ISO 3166-2:LS","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"Liberia","alpha-2":"LR","alpha-3":"LBR","country-code":"430","iso_3166-2":"ISO 3166-2:LR","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Libya","alpha-2":"LY","alpha-3":"LBY","country-code":"434","iso_3166-2":"ISO 3166-2:LY","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Liechtenstein","alpha-2":"LI","alpha-3":"LIE","country-code":"438","iso_3166-2":"ISO 3166-2:LI","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Lithuania","alpha-2":"LT","alpha-3":"LTU","country-code":"440","iso_3166-2":"ISO 3166-2:LT","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Luxembourg","alpha-2":"LU","alpha-3":"LUX","country-code":"442","iso_3166-2":"ISO 3166-2:LU","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Macao","alpha-2":"MO","alpha-3":"MAC","country-code":"446","iso_3166-2":"ISO 3166-2:MO","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Madagascar","alpha-2":"MG","alpha-3":"MDG","country-code":"450","iso_3166-2":"ISO 3166-2:MG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Malawi","alpha-2":"MW","alpha-3":"MWI","country-code":"454","iso_3166-2":"ISO 3166-2:MW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Malaysia","alpha-2":"MY","alpha-3":"MYS","country-code":"458","iso_3166-2":"ISO 3166-2:MY","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Maldives","alpha-2":"MV","alpha-3":"MDV","country-code":"462","iso_3166-2":"ISO 3166-2:MV","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Mali","alpha-2":"ML","alpha-3":"MLI","country-code":"466","iso_3166-2":"ISO 3166-2:ML","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Malta","alpha-2":"MT","alpha-3":"MLT","country-code":"470","iso_3166-2":"ISO 3166-2:MT","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Marshall Islands","alpha-2":"MH","alpha-3":"MHL","country-code":"584","iso_3166-2":"ISO 3166-2:MH","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Martinique","alpha-2":"MQ","alpha-3":"MTQ","country-code":"474","iso_3166-2":"ISO 3166-2:MQ","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Mauritania","alpha-2":"MR","alpha-3":"MRT","country-code":"478","iso_3166-2":"ISO 3166-2:MR","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Mauritius","alpha-2":"MU","alpha-3":"MUS","country-code":"480","iso_3166-2":"ISO 3166-2:MU","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Mayotte","alpha-2":"YT","alpha-3":"MYT","country-code":"175","iso_3166-2":"ISO 3166-2:YT","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Mexico","alpha-2":"MX","alpha-3":"MEX","country-code":"484","iso_3166-2":"ISO 3166-2:MX","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Micronesia, Federated States of","alpha-2":"FM","alpha-3":"FSM","country-code":"583","iso_3166-2":"ISO 3166-2:FM","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Moldova, Republic of","alpha-2":"MD","alpha-3":"MDA","country-code":"498","iso_3166-2":"ISO 3166-2:MD","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Monaco","alpha-2":"MC","alpha-3":"MCO","country-code":"492","iso_3166-2":"ISO 3166-2:MC","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Mongolia","alpha-2":"MN","alpha-3":"MNG","country-code":"496","iso_3166-2":"ISO 3166-2:MN","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Montenegro","alpha-2":"ME","alpha-3":"MNE","country-code":"499","iso_3166-2":"ISO 3166-2:ME","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Montserrat","alpha-2":"MS","alpha-3":"MSR","country-code":"500","iso_3166-2":"ISO 3166-2:MS","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Morocco","alpha-2":"MA","alpha-3":"MAR","country-code":"504","iso_3166-2":"ISO 3166-2:MA","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Mozambique","alpha-2":"MZ","alpha-3":"MOZ","country-code":"508","iso_3166-2":"ISO 3166-2:MZ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Myanmar","alpha-2":"MM","alpha-3":"MMR","country-code":"104","iso_3166-2":"ISO 3166-2:MM","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Namibia","alpha-2":"NA","alpha-3":"NAM","country-code":"516","iso_3166-2":"ISO 3166-2:NA","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"Nauru","alpha-2":"NR","alpha-3":"NRU","country-code":"520","iso_3166-2":"ISO 3166-2:NR","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Nepal","alpha-2":"NP","alpha-3":"NPL","country-code":"524","iso_3166-2":"ISO 3166-2:NP","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Netherlands, Kingdom of the","alpha-2":"NL","alpha-3":"NLD","country-code":"528","iso_3166-2":"ISO 3166-2:NL","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"New Caledonia","alpha-2":"NC","alpha-3":"NCL","country-code":"540","iso_3166-2":"ISO 3166-2:NC","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"New Zealand","alpha-2":"NZ","alpha-3":"NZL","country-code":"554","iso_3166-2":"ISO 3166-2:NZ","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Nicaragua","alpha-2":"NI","alpha-3":"NIC","country-code":"558","iso_3166-2":"ISO 3166-2:NI","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Niger","alpha-2":"NE","alpha-3":"NER","country-code":"562","iso_3166-2":"ISO 3166-2:NE","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Nigeria","alpha-2":"NG","alpha-3":"NGA","country-code":"566","iso_3166-2":"ISO 3166-2:NG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Niue","alpha-2":"NU","alpha-3":"NIU","country-code":"570","iso_3166-2":"ISO 3166-2:NU","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Norfolk Island","alpha-2":"NF","alpha-3":"NFK","country-code":"574","iso_3166-2":"ISO 3166-2:NF","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"North Macedonia","alpha-2":"MK","alpha-3":"MKD","country-code":"807","iso_3166-2":"ISO 3166-2:MK","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Northern Mariana Islands","alpha-2":"MP","alpha-3":"MNP","country-code":"580","iso_3166-2":"ISO 3166-2:MP","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Norway","alpha-2":"NO","alpha-3":"NOR","country-code":"578","iso_3166-2":"ISO 3166-2:NO","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Oman","alpha-2":"OM","alpha-3":"OMN","country-code":"512","iso_3166-2":"ISO 3166-2:OM","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Pakistan","alpha-2":"PK","alpha-3":"PAK","country-code":"586","iso_3166-2":"ISO 3166-2:PK","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Palau","alpha-2":"PW","alpha-3":"PLW","country-code":"585","iso_3166-2":"ISO 3166-2:PW","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Palestine, State of","alpha-2":"PS","alpha-3":"PSE","country-code":"275","iso_3166-2":"ISO 3166-2:PS","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Panama","alpha-2":"PA","alpha-3":"PAN","country-code":"591","iso_3166-2":"ISO 3166-2:PA","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Papua New Guinea","alpha-2":"PG","alpha-3":"PNG","country-code":"598","iso_3166-2":"ISO 3166-2:PG","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"Paraguay","alpha-2":"PY","alpha-3":"PRY","country-code":"600","iso_3166-2":"ISO 3166-2:PY","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Peru","alpha-2":"PE","alpha-3":"PER","country-code":"604","iso_3166-2":"ISO 3166-2:PE","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Philippines","alpha-2":"PH","alpha-3":"PHL","country-code":"608","iso_3166-2":"ISO 3166-2:PH","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Pitcairn","alpha-2":"PN","alpha-3":"PCN","country-code":"612","iso_3166-2":"ISO 3166-2:PN","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Poland","alpha-2":"PL","alpha-3":"POL","country-code":"616","iso_3166-2":"ISO 3166-2:PL","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Portugal","alpha-2":"PT","alpha-3":"PRT","country-code":"620","iso_3166-2":"ISO 3166-2:PT","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Puerto Rico","alpha-2":"PR","alpha-3":"PRI","country-code":"630","iso_3166-2":"ISO 3166-2:PR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Qatar","alpha-2":"QA","alpha-3":"QAT","country-code":"634","iso_3166-2":"ISO 3166-2:QA","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Réunion","alpha-2":"RE","alpha-3":"REU","country-code":"638","iso_3166-2":"ISO 3166-2:RE","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Romania","alpha-2":"RO","alpha-3":"ROU","country-code":"642","iso_3166-2":"ISO 3166-2:RO","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Russian Federation","alpha-2":"RU","alpha-3":"RUS","country-code":"643","iso_3166-2":"ISO 3166-2:RU","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Rwanda","alpha-2":"RW","alpha-3":"RWA","country-code":"646","iso_3166-2":"ISO 3166-2:RW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Saint Barthélemy","alpha-2":"BL","alpha-3":"BLM","country-code":"652","iso_3166-2":"ISO 3166-2:BL","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Saint Helena, Ascension and Tristan da Cunha","alpha-2":"SH","alpha-3":"SHN","country-code":"654","iso_3166-2":"ISO 3166-2:SH","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Saint Kitts and Nevis","alpha-2":"KN","alpha-3":"KNA","country-code":"659","iso_3166-2":"ISO 3166-2:KN","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Saint Lucia","alpha-2":"LC","alpha-3":"LCA","country-code":"662","iso_3166-2":"ISO 3166-2:LC","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Saint Martin (French part)","alpha-2":"MF","alpha-3":"MAF","country-code":"663","iso_3166-2":"ISO 3166-2:MF","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Saint Pierre and Miquelon","alpha-2":"PM","alpha-3":"SPM","country-code":"666","iso_3166-2":"ISO 3166-2:PM","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"Saint Vincent and the Grenadines","alpha-2":"VC","alpha-3":"VCT","country-code":"670","iso_3166-2":"ISO 3166-2:VC","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Samoa","alpha-2":"WS","alpha-3":"WSM","country-code":"882","iso_3166-2":"ISO 3166-2:WS","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"San Marino","alpha-2":"SM","alpha-3":"SMR","country-code":"674","iso_3166-2":"ISO 3166-2:SM","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Sao Tome and Principe","alpha-2":"ST","alpha-3":"STP","country-code":"678","iso_3166-2":"ISO 3166-2:ST","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Saudi Arabia","alpha-2":"SA","alpha-3":"SAU","country-code":"682","iso_3166-2":"ISO 3166-2:SA","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Senegal","alpha-2":"SN","alpha-3":"SEN","country-code":"686","iso_3166-2":"ISO 3166-2:SN","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Serbia","alpha-2":"RS","alpha-3":"SRB","country-code":"688","iso_3166-2":"ISO 3166-2:RS","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Seychelles","alpha-2":"SC","alpha-3":"SYC","country-code":"690","iso_3166-2":"ISO 3166-2:SC","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Sierra Leone","alpha-2":"SL","alpha-3":"SLE","country-code":"694","iso_3166-2":"ISO 3166-2:SL","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Singapore","alpha-2":"SG","alpha-3":"SGP","country-code":"702","iso_3166-2":"ISO 3166-2:SG","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Sint Maarten (Dutch part)","alpha-2":"SX","alpha-3":"SXM","country-code":"534","iso_3166-2":"ISO 3166-2:SX","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Slovakia","alpha-2":"SK","alpha-3":"SVK","country-code":"703","iso_3166-2":"ISO 3166-2:SK","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Slovenia","alpha-2":"SI","alpha-3":"SVN","country-code":"705","iso_3166-2":"ISO 3166-2:SI","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Solomon Islands","alpha-2":"SB","alpha-3":"SLB","country-code":"090","iso_3166-2":"ISO 3166-2:SB","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"Somalia","alpha-2":"SO","alpha-3":"SOM","country-code":"706","iso_3166-2":"ISO 3166-2:SO","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"South Africa","alpha-2":"ZA","alpha-3":"ZAF","country-code":"710","iso_3166-2":"ISO 3166-2:ZA","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"South Georgia and the South Sandwich Islands","alpha-2":"GS","alpha-3":"SGS","country-code":"239","iso_3166-2":"ISO 3166-2:GS","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"South Sudan","alpha-2":"SS","alpha-3":"SSD","country-code":"728","iso_3166-2":"ISO 3166-2:SS","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Spain","alpha-2":"ES","alpha-3":"ESP","country-code":"724","iso_3166-2":"ISO 3166-2:ES","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Sri Lanka","alpha-2":"LK","alpha-3":"LKA","country-code":"144","iso_3166-2":"ISO 3166-2:LK","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Sudan","alpha-2":"SD","alpha-3":"SDN","country-code":"729","iso_3166-2":"ISO 3166-2:SD","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Suriname","alpha-2":"SR","alpha-3":"SUR","country-code":"740","iso_3166-2":"ISO 3166-2:SR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Svalbard and Jan Mayen","alpha-2":"SJ","alpha-3":"SJM","country-code":"744","iso_3166-2":"ISO 3166-2:SJ","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Sweden","alpha-2":"SE","alpha-3":"SWE","country-code":"752","iso_3166-2":"ISO 3166-2:SE","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Switzerland","alpha-2":"CH","alpha-3":"CHE","country-code":"756","iso_3166-2":"ISO 3166-2:CH","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Syrian Arab Republic","alpha-2":"SY","alpha-3":"SYR","country-code":"760","iso_3166-2":"ISO 3166-2:SY","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Taiwan, Province of China","alpha-2":"TW","alpha-3":"TWN","country-code":"158","iso_3166-2":"ISO 3166-2:TW","region":null,"sub-region":null,"intermediate-region":null,"region-code":null,"sub-region-code":null,"intermediate-region-code":null},{"name":"Tajikistan","alpha-2":"TJ","alpha-3":"TJK","country-code":"762","iso_3166-2":"ISO 3166-2:TJ","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Tanzania, United Republic of","alpha-2":"TZ","alpha-3":"TZA","country-code":"834","iso_3166-2":"ISO 3166-2:TZ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Thailand","alpha-2":"TH","alpha-3":"THA","country-code":"764","iso_3166-2":"ISO 3166-2:TH","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Timor-Leste","alpha-2":"TL","alpha-3":"TLS","country-code":"626","iso_3166-2":"ISO 3166-2:TL","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Togo","alpha-2":"TG","alpha-3":"TGO","country-code":"768","iso_3166-2":"ISO 3166-2:TG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Tokelau","alpha-2":"TK","alpha-3":"TKL","country-code":"772","iso_3166-2":"ISO 3166-2:TK","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Tonga","alpha-2":"TO","alpha-3":"TON","country-code":"776","iso_3166-2":"ISO 3166-2:TO","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Trinidad and Tobago","alpha-2":"TT","alpha-3":"TTO","country-code":"780","iso_3166-2":"ISO 3166-2:TT","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Tunisia","alpha-2":"TN","alpha-3":"TUN","country-code":"788","iso_3166-2":"ISO 3166-2:TN","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Türkiye","alpha-2":"TR","alpha-3":"TUR","country-code":"792","iso_3166-2":"ISO 3166-2:TR","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Turkmenistan","alpha-2":"TM","alpha-3":"TKM","country-code":"795","iso_3166-2":"ISO 3166-2:TM","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Turks and Caicos Islands","alpha-2":"TC","alpha-3":"TCA","country-code":"796","iso_3166-2":"ISO 3166-2:TC","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Tuvalu","alpha-2":"TV","alpha-3":"TUV","country-code":"798","iso_3166-2":"ISO 3166-2:TV","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Uganda","alpha-2":"UG","alpha-3":"UGA","country-code":"800","iso_3166-2":"ISO 3166-2:UG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Ukraine","alpha-2":"UA","alpha-3":"UKR","country-code":"804","iso_3166-2":"ISO 3166-2:UA","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"United Arab Emirates","alpha-2":"AE","alpha-3":"ARE","country-code":"784","iso_3166-2":"ISO 3166-2:AE","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"United Kingdom of Great Britain and Northern Ireland","alpha-2":"GB","alpha-3":"GBR","country-code":"826","iso_3166-2":"ISO 3166-2:GB","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"United States of America","alpha-2":"US","alpha-3":"USA","country-code":"840","iso_3166-2":"ISO 3166-2:US","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"United States Minor Outlying Islands","alpha-2":"UM","alpha-3":"UMI","country-code":"581","iso_3166-2":"ISO 3166-2:UM","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Uruguay","alpha-2":"UY","alpha-3":"URY","country-code":"858","iso_3166-2":"ISO 3166-2:UY","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Uzbekistan","alpha-2":"UZ","alpha-3":"UZB","country-code":"860","iso_3166-2":"ISO 3166-2:UZ","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Vanuatu","alpha-2":"VU","alpha-3":"VUT","country-code":"548","iso_3166-2":"ISO 3166-2:VU","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"Venezuela, Bolivarian Republic of","alpha-2":"VE","alpha-3":"VEN","country-code":"862","iso_3166-2":"ISO 3166-2:VE","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Viet Nam","alpha-2":"VN","alpha-3":"VNM","country-code":"704","iso_3166-2":"ISO 3166-2:VN","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Virgin Islands (British)","alpha-2":"VG","alpha-3":"VGB","country-code":"092","iso_3166-2":"ISO 3166-2:VG","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Virgin Islands (U.S.)","alpha-2":"VI","alpha-3":"VIR","country-code":"850","iso_3166-2":"ISO 3166-2:VI","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Wallis and Futuna","alpha-2":"WF","alpha-3":"WLF","country-code":"876","iso_3166-2":"ISO 3166-2:WF","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Western Sahara","alpha-2":"EH","alpha-3":"ESH","country-code":"732","iso_3166-2":"ISO 3166-2:EH","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Yemen","alpha-2":"YE","alpha-3":"YEM","country-code":"887","iso_3166-2":"ISO 3166-2:YE","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Zambia","alpha-2":"ZM","alpha-3":"ZMB","country-code":"894","iso_3166-2":"ISO 3166-2:ZM","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Zimbabwe","alpha-2":"ZW","alpha-3":"ZWE","country-code":"716","iso_3166-2":"ISO 3166-2:ZW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"}] -------------------------------------------------------------------------------- /ref/sponsor.ans: -------------------------------------------------------------------------------- 1 | SPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSP 2 | ONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPON 3 | SORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSO 4 | RSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORS 5 | PONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPO 6 | NSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONS 7 | ORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSOR 8 | SPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSP 9 | ONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPON 10 | SORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSO 11 | RSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORSPONSORS 12 |  13 | 14 | -------------------------------------------------------------------------------- /ref/upgrade_bash.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | upgrade_bash() { 3 | # 检查当前的 Bash 版本 4 | current_bash_version=$(bash --version | head -n 1 | awk -F ' ' '{for (i=1; i<=NF; i++) if ($i ~ /^[0-9]+\.[0-9]+\.[0-9]+/) {print $i; exit}}' | cut -d . -f 1) 5 | if [ "$current_bash_version" -ge 4 ]; then 6 | echo "Bash version is 4.0 or higher. No need to upgrade." 7 | return 0 8 | fi 9 | echo "Bash version is lower than 4.0. Upgrading Bash..." 10 | if [ "$(uname)" == "Darwin" ]; then 11 | if ! command -v brew >/dev/null 2>&1; then 12 | echo "Homebrew is not installed. Installing Homebrew..." 13 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 14 | # 添加 Homebrew 到 PATH 15 | eval "$(/opt/homebrew/bin/brew shellenv)" 16 | echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile 17 | else 18 | eval "$(/opt/homebrew/bin/brew shellenv)" 19 | fi 20 | brew install bash 21 | new_bash_path=$(brew --prefix)/bin/bash 22 | else 23 | if [ -f /etc/os-release ]; then 24 | . /etc/os-release 25 | if [ $(id -u) -ne 0 ] && ! command -v sudo >/dev/null 2>&1; then 26 | echo "Error: You need sudo privileges to upgrade Bash." 27 | exit 1 28 | fi 29 | case $ID in 30 | ubuntu|debian|linuxmint) 31 | sudo apt update 32 | sudo apt install -y bash 33 | ;; 34 | fedora|rhel|centos|almalinux|rocky) 35 | sudo dnf install -y bash 36 | ;; 37 | arch|manjaro) 38 | sudo pacman -Sy --noconfirm bash 39 | ;; 40 | alpine) 41 | sudo apk update 42 | sudo apk add bash 43 | ;; 44 | *) 45 | echo "Unsupported distribution: $ID" 46 | exit 1 47 | ;; 48 | esac 49 | new_bash_path=$(which bash) 50 | elif [ -n "$PREFIX" ]; then # Termux 检测 51 | pkg install bash 52 | new_bash_path=$(which bash) 53 | else 54 | echo "Cannot detect distribution because /etc/os-release is missing." 55 | exit 1 56 | fi 57 | fi 58 | # 更改默认 shell 为新的 Bash 版本 59 | if ! grep -q "$new_bash_path" /etc/shells; then 60 | echo "Adding new Bash to /etc/shells..." 61 | echo "$new_bash_path" | sudo tee -a /etc/shells 62 | fi 63 | echo "Changing the default shell to the new Bash version..." 64 | chsh -s "$new_bash_path" 65 | 66 | echo "Bash has been upgraded to the latest version. Please restart your terminal." 67 | } 68 | upgrade_bash 69 | --------------------------------------------------------------------------------