├── .travis.yml ├── LICENSE.md ├── README.md ├── examples ├── example_whitelist.cidr └── postscreen_ovh_whitelist.cidr ├── postwhite ├── postwhite.conf ├── query_mailer_ovh ├── scrape_yahoo ├── testdata ├── README.md ├── sorted-V.txt ├── sorted-n.txt ├── sorted-tkn-uniq.txt ├── sorted-tkn.txt ├── sorted-u.txt ├── sorted-uV.txt ├── sorted-un.txt ├── sorted-untk.txt └── unsorted.txt └── yahoo_static_hosts.txt /.travis.yml: -------------------------------------------------------------------------------- 1 | language: bash 2 | 3 | # Use container-based infrastructure for quicker build start-up 4 | sudo: false 5 | 6 | addons: 7 | apt: 8 | sources: 9 | - debian-sid # Grab shellcheck from the Debian repo (o_O) 10 | packages: 11 | - shellcheck 12 | 13 | script: 14 | - bash -c 'shopt -s globstar; shellcheck postwhite' 15 | 16 | matrix: 17 | fast_finish: true 18 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Jenkins Holdings LLC 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [ ![Codeship Status for stevejenkins/postwhite](https://app.codeship.com/projects/8cd4ff10-77b6-0133-22fe-02534086190b/status?branch=master)](https://app.codeship.com/projects/118483) [![Issue Count](https://codeclimate.com/github/stevejenkins/postwhite/badges/issue_count.svg)](https://codeclimate.com/github/stevejenkins/postwhite) 2 | 3 | # Postwhite - Automatic Postcreen Whitelist & Blacklist Generator 4 | A script for generating a Postscreen whitelist (and optionally a blacklist) based on large and presumably trustworthy senders' SPF records. 5 | 6 | # Why Postwhite? 7 | Postwhite uses the published SPF records from domains of known webmailers, social networks, ecommerce providers, and compliant bulk senders to generate a list of outbound mailer IP addresses and CIDR ranges to create a whitelist (and optionally a blacklist) for Postfix's Postscreen. 8 | 9 | This allows Postscreen to save time and resources by immediately handing off whitelisted connections from these hosts (which we can somewhat safely presume are properly configured) to Postfix's smtpd process for further action. Blacklisted hosts are rejected before they reach Postfix's smtpd process. 10 | 11 | Note this does *not* whitelist (or blacklist) email messages from any of these hosts. A whitelist for Postscreen (which is merely the first line of Postfix's defense) merely allows listed hosts to connect to Postfix without further tests to prove they are properly configured and/or legitimate senders. A Postscreen blacklist does nothing but reject the connection based on the blacklisted host's IP. 12 | 13 | If all of the whitelist mailers are selected when Postwhite runs, the resulting whitelist includes over 500 outbound mail servers, all of which have a very high probability of being properly configured. 14 | 15 | # Warning about Blacklisting 16 | By default, Postwhite has blacklisting turned off. Most users will not need to ever turn it on, but it's there if you *really* believe you need it. If you choose to enable it, make sure you understand the implications of blacklisting IP addresses based on their hostnames and associated mailers, and re-run Postwhite often via cron to make sure you're not inadvertently blocking legitimate senders. 17 | 18 | # Requirements 19 | Postwhite runs as a shell script (```/bin/sh```) and relies on two scripts from the SPF-Tools project (**despf.sh** and **simplify.sh**) to help recursively query SPF records. I recommend cloning or copying the entire SPF-Tools repo to ```/usr/local/bin/```directory on your system, then confirming the ```spftoolspath``` value in ```postwhite```. 21 | 22 | **Please update SPF-Tools whenever you update Postwhite, as both are under continuous development, and sometimes new features of Postwhite depend upon an updated version of SPF-Tools.** 23 | 24 | Postwhite also assumes that you have **Postfix** and the appropriate **bind-utils** package for your Linux distro installed on your system. 25 | 26 | # Usage 27 | 1. Make sure you have SPF-Tools on your system 28 | 2. Move the ```postwhite.conf``` file to your `/etc/` directory 29 | 3. Add any custom hosts in ```postwhite.conf``` 30 | 4. Run ```./postwhite``` from the command line. 31 | 32 | You can optionally provide a configuration file via the command line which will override the default configuration file: 33 | 34 | ./postwhite /path/to/config-file 35 | 36 | I recommend cloning both the SPF-Tools and the Postwhite repos into your ```/usr/local/bin/``` directory. Once you're satisfied with its performance, set a daily cron job to pick up any new hosts in the mailers' SPF records like this: 37 | 38 | @daily /usr/local/bin/postwhite/postwhite > /dev/null 2>&1 #Update Postscreen Whitelists 39 | 40 | I also recommend updating the list of known Yahoo! IP outbound mailers weekly: 41 | 42 | @weekly /usr/local/bin/postwhite/scrape_yahoo > /dev/null 2>&1 #Update Yahoo! IPs for Postscreen Whitelists 43 | 44 | *(Please read more about Yahoo! hosts below)* 45 | 46 | When executed, Postwhite will generate a file named ```postscreen_spf_whitelist.cidr```, write it to your Postfix directory, then reload Postfix to pick up any changes. 47 | 48 | Add the filename of your whitelist (and optionally your blacklist) to the ```postscreen_access_list``` option in your Postfix ```main.cf``` file, like this: 49 | 50 | postscreen_access_list = permit_mynetworks, 51 | ... 52 | cidr:/etc/postfix/postscreen_spf_whitelist.cidr, 53 | cidr:/etc/postfix/postscreen_spf_blacklist.cidr, 54 | ... 55 | 56 | **IMPORTANT:** If you choose to enable blacklisting, list the blacklist file *after* the whitelist file in ```main.cf```, as shown above. If you misconfigure Postwhite and an IP address inadvertently finds its way onto both lists, the first entry "wins." Listing the whitelist file first in ```main.cf``` will assure that whitelisted hosts aren't blacklisted, even if they appear in the blacklist file. 57 | 58 | Then do a manual ```postfix reload``` or re-run ```./postwhite``` to build a fresh whitelist and automatically reload Postfix. 59 | 60 | # Options 61 | Options for Postwhite are located in the ```postwhite.conf``` file. This file shoud be moved to your system's ```/etc/``` directory before running Postwhite for the first time. 62 | 63 | ## Custom Hosts 64 | By default, Postwhite includes a number of well-known (and presumably trustworthy) mailers in five categories: 65 | 66 | * Webmailers 67 | * Ecommerce 68 | * Social Networks 69 | * Bulk Senders 70 | * Miscellaneous 71 | 72 | To add your own additional custom hosts, add them to the ```custom_hosts``` section of ```/etc/postwhite.conf``` separated by a single space: 73 | 74 | custom_hosts="aol.com google.com microsoft.com" 75 | 76 | Additional trusted mailers are added to the script from time to time, so check back periodically for new versions, or "Watch" this repo to receive update notifications. 77 | 78 | ## Hosts that Don't Publish their Outbound Mailers via SPF Records 79 | Because Postwhite relies on published SPF records to build its whitelist, mailers who refuse to publish outbound mailer IP addresses via SPF are problematic. The largest such host is Yahoo!, which is dealt with separately (see below). For smaller mailhosts without SPF-published mailer lists, the included `query_host_ovh` file is a working example of a script that queries a range of hostnames for a specific mailer (`mail-out.ovh.net` in the included example), collects valid IP addresses, and includes them in a custom whitelist. The new custom whitelist may then be included in as an additional entry in your Postfix's `postscreen_access_list` parameter (see **Usage** above). An example of the `query_host_ovh` file's output is included in the `/examples/` folder as `postscreen_ovh_whitelist.cidr`. 80 | 81 | To create additional customized query scripts for mailers that don't publish outbound IPs via SPF, copy the example `query_host_ovh` file to a new unique filename, edit the script's mailhost and numerical range values as required, set a unique output file (`/etc/postfix/postscreen_*_whitelist.cidr`), include the output file in Postfix's `postscreen_access_list` parameter, then configure cron to run the new query script periodically. 82 | 83 | Depending on the size of the range you wish to query, this script could take a long time to complete. I recommend testing on a small fraction of the mailhost's range before pushing the script to a production environment. 84 | 85 | ## Yahoo! Hosts 86 | As mentioned in the **Known Issues**, Yahoo!'s SPF record doesn't support queries to expose their netblocks, and therefore a dynamic list of Yahoo mailers can't be built. However, Yahoo! does publish a list of outbound mailer IP addresses at https://help.yahoo.com/kb/SLN23997.html. 87 | 88 | A list of Yahoo! outbound IP addresses, based on the linked knowledgebase article and formatted for Postwhite, is included as ```yahoo_static_hosts.txt```. By default, the contents of this file are added to the final whitelist. To disable the Yahoo! IPs from being included in your whitelist, set the ```include_yahoo``` configuration option in ```/etc/postwhite.conf``` to ```include_yahoo="no"```. 89 | 90 | The ```yahoo_static_hosts.txt``` file can be periodically updated by running the ```scrape_yahoo``` script, which requires either **Wget** or **cURL** (included on most systems). The ```scrape_yahoo``` script reads the Postwhite config file for the location to write the updated list of Yahoo! oubound IP addresses. Run the ```scrape_yahoo``` script periodically via cron (I recommend no more than weekly) to automatically update the list of Yahoo! IPs used by Postwhite. 91 | 92 | ## Blacklisting 93 | To enable blacklisting, set ```enable_blacklist=yes``` and then list blacklisted hosts in ```blacklist_hosts```. Please refer to the blacklisting warning above. Blacklisting is not the primary purpose of Postwhite, and most users will never need to turn it on. 94 | 95 | ## Simplify 96 | By default, the option to simplify (remove) invididual IP addresses that are already included in CIDR ranges (handled by the SPT-Tools ```simplify.sh``` script) is set to **no**. Turning this feature on when building a whitelist for more than just a few mailers *dramatically* adds to the processing time required to run Postwhite. Feel free to turn it on to see how it affects the amount of time required to build your whitelist, but if you're whitelisting more than just 3 or 4 mailers, you'll probably want to turn it to "no" again. Having a handful of individual IP addresses in your whitelist that might be redundantly covered by CIDR ranges won't have any appreciable impact on Postscreen's performance. 97 | 98 | ## Invalid hosts 99 | You can also choose how to handle malformed or invalid CIDR ranges that appear in the mailers' SPF records (which happens more often than it should). The options are: 100 | 101 | * **remove** - the default action, it removes the invalid CIDR range so it doesn't appear in the whitelist. 102 | * **keep** - this keeps the invalid CIDR range in the whitelist. Postfix will log a warning about ```non-null host address bits```, suggest the closest valid range with a matching prefix length, and harmlessly ignore the rule. Useful only if you want to see which mailers are less than careful about their SPF records (cough, cough, *Microsoft*, cough, cough). 103 | * **fix** - this option will change the invalid CIDR to the closest valid range (the same one suggested by Postfix, in fact) and include the corrected CIDR range in the whitelist. 104 | 105 | Other options in ```postwhite.conf``` include changing the filenames for your whitelist & blacklist, Postfix path, SPF-Tools path, and whether or not to automatically reload Postfix after you've generated a new list. 106 | 107 | # Credits 108 | * Special thanks to Mike Miller for his 2013 gwhitelist script that initially got me tinkering with SPF-based Postscreen whitelists. The temp file creation and ```printf``` statement near the end of the Postwhite script are remnants of his original script. 109 | * Thanks to Jan Sarenik (author of SPF-Tools). 110 | * Thanks to Jose Borges Ferreira for patches and contributions to Postwhite, include internal code to validate CIDRs. 111 | * Thanks to Ricardo Iván Vieitez Parra for contributions to Postwhite, including external config file support, normalization improvements, error handling, and additional modifications that allow Postwhite to run on additional systems. 112 | * Thanks to partner (business... not life) Steve Cook for helping me cludge through Bash scripting, and for writing the initial version of the ```scrape_yahoo``` script. 113 | * Thanks to all the generous [contributors](https://github.com/stevejenkins/postwhite/graphs/contributors) right here on GitHub who have helped move the project along! 114 | 115 | # More Info 116 | My blog post discussing how Postwhite came to be is here: 117 | 118 | http://www.stevejenkins.com/blog/2015/11/postscreen-whitelisting-smtp-outbound-ip-addresses-large-webmail-providers/ 119 | 120 | # Known Issues 121 | * I'd love to include Yahoo's IPs in the whitelist via the same methods used for all other mails, but their SPF record doesn't support queries to expose their netblocks. The included ```scrape_yahoo``` script, which creates a static list of Yahoo! IPs by scraping their web page, is an acceptable work-around, but if you have a suggestion for a more elegant solution, please create an issue and let me know, or create a pull request. 122 | 123 | * I have no way of validating IPv6 CIDRs yet. For now, the script assumes all SPF-published IPv6 CIDRs are valid and includes them in the whitelist. 124 | 125 | * I've improved the sorting by doing the ```uniq``` separately, after the sort. ```sort -u -V``` is still ideal, but it the ```-V``` option doesn't exist on all platforms (OSX doesn't support it, for example). For now, I can live with the two-step ```sort``` and ```uniq```, even though the final output splits the IPv6 address into two grips: those that start with letters and numbers (2a00, 2a01, etc.) at the top, and those that start with numbers only (2001, 2004, etc.) at the bottom. All the IPv4 addresses in the middle are sorted properly. See the `/testdata/` folder for examples of different sorting attempts or to play around with your own attempts at sorting. If you have any suggestions to improve the sorting without losing any data, I'm all ears! 126 | 127 | # Suggestions for Additional Mailers 128 | If you're a Postfix admin who sees a good number of ```PASS OLD``` entries for Postscreen in your mail logs, and have a suggestion for an additional mail host that might be a good candidate to include in Postwhite, please comment on this issue: https://github.com/stevejenkins/postwhite/issues/2 129 | 130 | # Disclaimer 131 | You are totally responsible for anything this script does to your system. Whether it launches a nice game of Tic Tac Toe or global thermonuclear war, you're on your own. :) 132 | -------------------------------------------------------------------------------- /examples/postscreen_ovh_whitelist.cidr: -------------------------------------------------------------------------------- 1 | 46.105.32.81 permit 2 | 46.105.32.172 permit 3 | 46.105.32.186 permit 4 | 46.105.32.188 permit 5 | 46.105.32.190 permit 6 | 46.105.32.191 permit 7 | 46.105.32.194 permit 8 | 46.105.32.236 permit 9 | 46.105.32.238 permit 10 | 46.105.33.36 permit 11 | 46.105.33.49 permit 12 | 46.105.33.73 permit 13 | 46.105.33.181 permit 14 | 46.105.33.219 permit 15 | 46.105.33.231 permit 16 | 46.105.34.113 permit 17 | 46.105.34.118 permit 18 | 46.105.34.145 permit 19 | 46.105.34.162 permit 20 | 46.105.34.195 permit 21 | 46.105.34.207 permit 22 | 46.105.34.221 permit 23 | 46.105.34.231 permit 24 | 46.105.34.245 permit 25 | 46.105.34.246 permit 26 | 46.105.35.4 permit 27 | 46.105.35.60 permit 28 | 46.105.35.68 permit 29 | 46.105.35.72 permit 30 | 46.105.35.78 permit 31 | 46.105.35.92 permit 32 | 46.105.35.156 permit 33 | 46.105.35.174 permit 34 | 46.105.35.203 permit 35 | 46.105.35.204 permit 36 | 46.105.36.132 permit 37 | 46.105.36.144 permit 38 | 46.105.36.150 permit 39 | 46.105.36.192 permit 40 | 46.105.36.252 permit 41 | 46.105.37.52 permit 42 | 46.105.37.77 permit 43 | 46.105.37.173 permit 44 | 46.105.37.185 permit 45 | 46.105.37.209 permit 46 | 46.105.38.11 permit 47 | 46.105.38.34 permit 48 | 46.105.38.108 permit 49 | 46.105.38.231 permit 50 | 46.105.39.47 permit 51 | 46.105.39.65 permit 52 | 46.105.39.71 permit 53 | 46.105.39.115 permit 54 | 46.105.39.122 permit 55 | 46.105.39.148 permit 56 | 46.105.39.163 permit 57 | 46.105.39.168 permit 58 | 46.105.39.171 permit 59 | 46.105.39.199 permit 60 | 46.105.39.221 permit 61 | 46.105.40.29 permit 62 | 46.105.40.108 permit 63 | 46.105.40.157 permit 64 | 46.105.40.176 permit 65 | 46.105.40.177 permit 66 | 46.105.41.15 permit 67 | 46.105.41.16 permit 68 | 46.105.41.145 permit 69 | 46.105.41.160 permit 70 | 46.105.41.205 permit 71 | 46.105.41.244 permit 72 | 46.105.42.25 permit 73 | 46.105.42.134 permit 74 | 46.105.42.182 permit 75 | 46.105.42.187 permit 76 | 46.105.42.221 permit 77 | 46.105.42.251 permit 78 | 46.105.43.20 permit 79 | 46.105.43.46 permit 80 | 46.105.43.56 permit 81 | 46.105.43.66 permit 82 | 46.105.43.80 permit 83 | 46.105.43.129 permit 84 | 46.105.43.131 permit 85 | 46.105.43.147 permit 86 | 46.105.43.205 permit 87 | 46.105.43.253 permit 88 | 46.105.44.64 permit 89 | 46.105.44.144 permit 90 | 46.105.44.175 permit 91 | 46.105.44.202 permit 92 | 46.105.44.226 permit 93 | 46.105.44.248 permit 94 | 46.105.45.45 permit 95 | 46.105.45.177 permit 96 | 46.105.45.201 permit 97 | 46.105.45.217 permit 98 | 46.105.45.224 permit 99 | 46.105.45.239 permit 100 | 46.105.46.12 permit 101 | 46.105.46.70 permit 102 | 46.105.46.158 permit 103 | 46.105.46.185 permit 104 | 46.105.46.194 permit 105 | 46.105.47.34 permit 106 | 46.105.47.46 permit 107 | 46.105.47.77 permit 108 | 46.105.47.83 permit 109 | 46.105.47.91 permit 110 | 46.105.47.167 permit 111 | 46.105.47.184 permit 112 | 46.105.47.188 permit 113 | 46.105.47.226 permit 114 | 46.105.47.241 permit 115 | 46.105.47.251 permit 116 | 46.105.48.8 permit 117 | 46.105.48.14 permit 118 | 46.105.48.21 permit 119 | 46.105.48.26 permit 120 | 46.105.48.48 permit 121 | 46.105.48.52 permit 122 | 46.105.48.164 permit 123 | 46.105.49.79 permit 124 | 46.105.49.139 permit 125 | 46.105.49.177 permit 126 | 46.105.49.208 permit 127 | 46.105.50.53 permit 128 | 46.105.50.63 permit 129 | 46.105.50.118 permit 130 | 46.105.51.9 permit 131 | 46.105.51.21 permit 132 | 46.105.51.67 permit 133 | 46.105.51.134 permit 134 | 46.105.51.136 permit 135 | 46.105.51.139 permit 136 | 46.105.51.140 permit 137 | 46.105.51.191 permit 138 | 46.105.51.192 permit 139 | 46.105.51.194 permit 140 | 46.105.51.241 permit 141 | 46.105.52.30 permit 142 | 46.105.52.67 permit 143 | 46.105.52.76 permit 144 | 46.105.52.80 permit 145 | 46.105.52.148 permit 146 | 46.105.52.155 permit 147 | 46.105.52.186 permit 148 | 46.105.52.210 permit 149 | 46.105.52.247 permit 150 | 46.105.53.126 permit 151 | 46.105.53.141 permit 152 | 46.105.53.166 permit 153 | 46.105.53.167 permit 154 | 46.105.53.176 permit 155 | 46.105.53.195 permit 156 | 46.105.53.199 permit 157 | 46.105.53.214 permit 158 | 46.105.53.224 permit 159 | 46.105.53.230 permit 160 | 46.105.53.236 permit 161 | 46.105.54.31 permit 162 | 46.105.54.55 permit 163 | 46.105.54.58 permit 164 | 46.105.54.105 permit 165 | 46.105.54.117 permit 166 | 46.105.54.123 permit 167 | 46.105.54.134 permit 168 | 46.105.54.135 permit 169 | 46.105.54.145 permit 170 | 46.105.54.146 permit 171 | 46.105.54.147 permit 172 | 46.105.54.156 permit 173 | 46.105.54.169 permit 174 | 46.105.54.175 permit 175 | 46.105.54.179 permit 176 | 46.105.54.196 permit 177 | 46.105.54.203 permit 178 | 46.105.55.63 permit 179 | 46.105.55.136 permit 180 | 46.105.55.162 permit 181 | 46.105.55.252 permit 182 | 46.105.56.30 permit 183 | 46.105.56.106 permit 184 | 46.105.56.113 permit 185 | 46.105.56.132 permit 186 | 46.105.56.136 permit 187 | 46.105.56.161 permit 188 | 46.105.56.218 permit 189 | 46.105.57.57 permit 190 | 46.105.57.59 permit 191 | 46.105.57.115 permit 192 | 46.105.57.117 permit 193 | 46.105.57.125 permit 194 | 46.105.57.127 permit 195 | 46.105.57.129 permit 196 | 46.105.57.145 permit 197 | 46.105.57.146 permit 198 | 46.105.57.155 permit 199 | 46.105.57.165 permit 200 | 46.105.57.191 permit 201 | 46.105.57.200 permit 202 | 46.105.57.224 permit 203 | 46.105.57.227 permit 204 | 46.105.57.236 permit 205 | 46.105.57.238 permit 206 | 46.105.57.239 permit 207 | 46.105.57.240 permit 208 | 46.105.57.248 permit 209 | 46.105.57.252 permit 210 | 46.105.58.83 permit 211 | 46.105.58.93 permit 212 | 46.105.58.99 permit 213 | 46.105.58.124 permit 214 | 46.105.58.127 permit 215 | 46.105.58.131 permit 216 | 46.105.58.153 permit 217 | 46.105.58.162 permit 218 | 46.105.58.165 permit 219 | 46.105.58.166 permit 220 | 46.105.58.172 permit 221 | 46.105.58.175 permit 222 | 46.105.58.183 permit 223 | 46.105.58.186 permit 224 | 46.105.58.192 permit 225 | 46.105.58.226 permit 226 | 46.105.58.229 permit 227 | 46.105.58.238 permit 228 | 46.105.58.240 permit 229 | 46.105.59.66 permit 230 | 46.105.59.83 permit 231 | 46.105.59.97 permit 232 | 46.105.59.124 permit 233 | 46.105.59.131 permit 234 | 46.105.59.141 permit 235 | 46.105.59.142 permit 236 | 46.105.59.145 permit 237 | 46.105.59.155 permit 238 | 46.105.59.157 permit 239 | 46.105.59.184 permit 240 | 46.105.59.196 permit 241 | 46.105.59.214 permit 242 | 46.105.59.215 permit 243 | 46.105.59.221 permit 244 | 46.105.59.222 permit 245 | 46.105.59.232 permit 246 | 46.105.59.251 permit 247 | 46.105.60.177 permit 248 | 46.105.60.186 permit 249 | 46.105.60.189 permit 250 | 46.105.60.225 permit 251 | 46.105.60.232 permit 252 | 46.105.60.248 permit 253 | 46.105.60.251 permit 254 | 46.105.61.55 permit 255 | 46.105.61.64 permit 256 | 46.105.61.80 permit 257 | 46.105.61.82 permit 258 | 46.105.61.84 permit 259 | 46.105.61.85 permit 260 | 46.105.61.87 permit 261 | 46.105.61.88 permit 262 | 46.105.61.89 permit 263 | 46.105.61.93 permit 264 | 46.105.61.97 permit 265 | 46.105.61.108 permit 266 | 46.105.61.109 permit 267 | 46.105.61.111 permit 268 | 46.105.61.112 permit 269 | 46.105.61.120 permit 270 | 46.105.61.122 permit 271 | 46.105.61.151 permit 272 | 46.105.61.156 permit 273 | 46.105.62.87 permit 274 | 46.105.62.156 permit 275 | 46.105.62.169 permit 276 | 46.105.62.173 permit 277 | 46.105.62.182 permit 278 | 46.105.62.192 permit 279 | 46.105.62.198 permit 280 | 46.105.62.209 permit 281 | 46.105.62.224 permit 282 | 46.105.62.226 permit 283 | 46.105.62.229 permit 284 | 46.105.63.46 permit 285 | 46.105.63.65 permit 286 | 46.105.63.97 permit 287 | 46.105.63.121 permit 288 | 46.105.63.150 permit 289 | 46.105.63.157 permit 290 | 46.105.63.165 permit 291 | 46.105.63.174 permit 292 | 46.105.63.175 permit 293 | 46.105.63.177 permit 294 | 46.105.63.217 permit 295 | 46.105.63.253 permit 296 | 46.105.72.36 permit 297 | 46.105.72.64 permit 298 | 46.105.72.116 permit 299 | 46.105.72.119 permit 300 | 46.105.72.130 permit 301 | 46.105.72.133 permit 302 | 46.105.72.137 permit 303 | 46.105.72.140 permit 304 | 46.105.72.153 permit 305 | 46.105.72.169 permit 306 | 46.105.72.174 permit 307 | 46.105.72.179 permit 308 | 46.105.72.188 permit 309 | 46.105.72.196 permit 310 | 46.105.72.198 permit 311 | 46.105.72.202 permit 312 | 46.105.72.203 permit 313 | 46.105.72.216 permit 314 | 46.105.72.218 permit 315 | 46.105.72.222 permit 316 | 46.105.72.230 permit 317 | 46.105.72.233 permit 318 | 46.105.72.235 permit 319 | 46.105.72.236 permit 320 | 46.105.72.237 permit 321 | 46.105.72.249 permit 322 | 46.105.73.110 permit 323 | 46.105.73.126 permit 324 | 46.105.73.146 permit 325 | 46.105.73.165 permit 326 | 46.105.73.168 permit 327 | 46.105.73.179 permit 328 | 46.105.73.206 permit 329 | 46.105.73.214 permit 330 | 46.105.73.236 permit 331 | 46.105.74.88 permit 332 | 46.105.74.94 permit 333 | 46.105.74.101 permit 334 | 46.105.74.103 permit 335 | 46.105.74.114 permit 336 | 46.105.74.136 permit 337 | 46.105.74.150 permit 338 | 46.105.74.156 permit 339 | 46.105.74.157 permit 340 | 46.105.74.169 permit 341 | 46.105.74.173 permit 342 | 46.105.74.177 permit 343 | 46.105.74.178 permit 344 | 46.105.74.185 permit 345 | 46.105.74.191 permit 346 | 46.105.74.193 permit 347 | 46.105.74.197 permit 348 | 46.105.74.206 permit 349 | 46.105.74.207 permit 350 | 46.105.74.208 permit 351 | 46.105.74.216 permit 352 | 46.105.74.220 permit 353 | 46.105.74.241 permit 354 | 46.105.74.249 permit 355 | 46.105.75.36 permit 356 | 46.105.75.89 permit 357 | 46.105.75.107 permit 358 | 46.105.75.137 permit 359 | 46.105.75.150 permit 360 | 46.105.75.160 permit 361 | 46.105.75.170 permit 362 | 46.105.75.197 permit 363 | 46.105.76.26 permit 364 | 46.105.76.65 permit 365 | 46.105.76.144 permit 366 | 46.105.76.172 permit 367 | 46.105.76.173 permit 368 | 46.105.76.181 permit 369 | 46.105.76.184 permit 370 | 46.105.76.196 permit 371 | 46.105.77.29 permit 372 | 46.105.77.35 permit 373 | 46.105.77.68 permit 374 | 46.105.77.73 permit 375 | 46.105.77.114 permit 376 | 46.105.77.209 permit 377 | 46.105.77.212 permit 378 | 46.105.77.213 permit 379 | 46.105.77.232 permit 380 | 46.105.78.5 permit 381 | 46.105.78.54 permit 382 | 46.105.78.203 permit 383 | 46.105.78.204 permit 384 | 46.105.78.213 permit 385 | 46.105.78.218 permit 386 | 46.105.79.201 permit 387 | 46.105.79.237 permit 388 | 87.98.129.247 permit 389 | 87.98.130.244 permit 390 | 87.98.131.72 permit 391 | 87.98.131.103 permit 392 | 87.98.133.133 permit 393 | 87.98.133.174 permit 394 | 87.98.134.233 permit 395 | 87.98.135.181 permit 396 | 87.98.138.227 permit 397 | 87.98.139.99 permit 398 | 87.98.139.208 permit 399 | 87.98.140.253 permit 400 | 87.98.141.82 permit 401 | 87.98.143.68 permit 402 | 87.98.145.159 permit 403 | 87.98.146.108 permit 404 | 87.98.146.229 permit 405 | 87.98.147.69 permit 406 | 87.98.148.115 permit 407 | 87.98.148.146 permit 408 | 87.98.148.215 permit 409 | 87.98.149.19 permit 410 | 87.98.150.21 permit 411 | 87.98.150.175 permit 412 | 87.98.150.177 permit 413 | 87.98.150.205 permit 414 | 87.98.152.239 permit 415 | 87.98.153.124 permit 416 | 87.98.155.69 permit 417 | 87.98.155.138 permit 418 | 87.98.157.236 permit 419 | 87.98.158.110 permit 420 | 87.98.159.208 permit 421 | 87.98.160.151 permit 422 | 87.98.162.31 permit 423 | 87.98.162.189 permit 424 | 87.98.162.229 permit 425 | 87.98.163.110 permit 426 | 87.98.163.167 permit 427 | 87.98.164.98 permit 428 | 87.98.165.38 permit 429 | 87.98.165.71 permit 430 | 87.98.165.232 permit 431 | 87.98.166.124 permit 432 | 87.98.166.192 permit 433 | 87.98.167.122 permit 434 | 87.98.168.193 permit 435 | 87.98.168.250 permit 436 | 87.98.169.13 permit 437 | 87.98.169.150 permit 438 | 87.98.170.142 permit 439 | 87.98.170.166 permit 440 | 87.98.170.235 permit 441 | 87.98.171.54 permit 442 | 87.98.171.122 permit 443 | 87.98.171.146 permit 444 | 87.98.172.75 permit 445 | 87.98.172.162 permit 446 | 87.98.172.249 permit 447 | 87.98.173.17 permit 448 | 87.98.173.103 permit 449 | 87.98.173.157 permit 450 | 87.98.173.169 permit 451 | 87.98.173.225 permit 452 | 87.98.174.5 permit 453 | 87.98.174.144 permit 454 | 87.98.174.156 permit 455 | 87.98.176.130 permit 456 | 87.98.176.203 permit 457 | 87.98.177.69 permit 458 | 87.98.177.216 permit 459 | 87.98.177.220 permit 460 | 87.98.177.223 permit 461 | 87.98.177.230 permit 462 | 87.98.177.235 permit 463 | 87.98.177.239 permit 464 | 87.98.177.243 permit 465 | 87.98.178.36 permit 466 | 87.98.178.58 permit 467 | 87.98.178.125 permit 468 | 87.98.178.174 permit 469 | 87.98.179.66 permit 470 | 87.98.179.93 permit 471 | 87.98.179.142 permit 472 | 87.98.180.21 permit 473 | 87.98.180.39 permit 474 | 87.98.180.195 permit 475 | 87.98.180.216 permit 476 | 87.98.180.241 permit 477 | 87.98.180.252 permit 478 | 87.98.181.23 permit 479 | 87.98.181.61 permit 480 | 87.98.181.88 permit 481 | 87.98.181.200 permit 482 | 87.98.181.235 permit 483 | 87.98.181.237 permit 484 | 87.98.181.248 permit 485 | 87.98.182.46 permit 486 | 87.98.182.69 permit 487 | 87.98.182.191 permit 488 | 87.98.182.239 permit 489 | 87.98.183.136 permit 490 | 87.98.183.153 permit 491 | 87.98.183.167 permit 492 | 87.98.184.65 permit 493 | 87.98.184.99 permit 494 | 87.98.184.141 permit 495 | 87.98.184.158 permit 496 | 87.98.184.159 permit 497 | 87.98.184.162 permit 498 | 87.98.184.163 permit 499 | 87.98.184.167 permit 500 | 87.98.184.219 permit 501 | 87.98.184.254 permit 502 | 87.98.185.87 permit 503 | 87.98.185.155 permit 504 | 87.98.185.180 permit 505 | 87.98.185.215 permit 506 | 87.98.185.239 permit 507 | 87.98.186.98 permit 508 | 87.98.186.136 permit 509 | 87.98.186.221 permit 510 | 87.98.187.172 permit 511 | 87.98.187.209 permit 512 | 87.98.187.214 permit 513 | 87.98.187.215 permit 514 | 87.98.187.240 permit 515 | 87.98.188.89 permit 516 | 87.98.188.193 permit 517 | 87.98.188.209 permit 518 | 87.98.188.219 permit 519 | 87.98.188.226 permit 520 | 87.98.189.181 permit 521 | 87.98.190.31 permit 522 | 87.98.221.139 permit 523 | 91.121.46.154 permit 524 | 91.121.47.65 permit 525 | 91.121.55.239 permit 526 | 91.121.57.82 permit 527 | 91.121.57.104 permit 528 | 91.121.57.155 permit 529 | 91.121.57.176 permit 530 | 91.121.57.194 permit 531 | 91.121.58.189 permit 532 | 91.121.59.69 permit 533 | 91.121.59.168 permit 534 | 91.121.62.11 permit 535 | 91.121.62.60 permit 536 | 91.121.63.64 permit 537 | 178.32.96.90 permit 538 | 178.32.96.102 permit 539 | 178.32.96.110 permit 540 | 178.32.96.118 permit 541 | 178.32.96.149 permit 542 | 178.32.96.176 permit 543 | 178.32.96.204 permit 544 | 178.32.97.10 permit 545 | 178.32.97.11 permit 546 | 178.32.97.129 permit 547 | 178.32.97.145 permit 548 | 178.32.97.161 permit 549 | 178.32.97.206 permit 550 | 178.32.97.215 permit 551 | 178.32.97.238 permit 552 | 178.32.97.239 permit 553 | 178.32.98.131 permit 554 | 178.32.98.231 permit 555 | 178.32.98.242 permit 556 | 178.32.99.39 permit 557 | 178.32.100.81 permit 558 | 178.32.100.115 permit 559 | 178.32.101.123 permit 560 | 178.32.101.241 permit 561 | 178.32.102.5 permit 562 | 178.32.102.24 permit 563 | 178.32.102.156 permit 564 | 178.32.102.222 permit 565 | 178.32.102.231 permit 566 | 178.32.102.249 permit 567 | 178.32.103.16 permit 568 | 178.32.103.53 permit 569 | 178.32.103.160 permit 570 | 178.32.104.11 permit 571 | 178.32.104.63 permit 572 | 178.32.104.182 permit 573 | 178.32.104.196 permit 574 | 178.32.105.7 permit 575 | 178.32.105.32 permit 576 | 178.32.105.92 permit 577 | 178.32.105.96 permit 578 | 178.32.105.254 permit 579 | 178.32.106.169 permit 580 | 178.32.106.239 permit 581 | 178.32.106.250 permit 582 | 178.32.107.11 permit 583 | 178.32.107.182 permit 584 | 178.32.107.186 permit 585 | 178.32.107.219 permit 586 | 178.32.108.57 permit 587 | 178.32.108.119 permit 588 | 178.32.108.122 permit 589 | 178.32.108.162 permit 590 | 178.32.108.172 permit 591 | 178.32.109.4 permit 592 | 178.32.109.69 permit 593 | 178.32.109.123 permit 594 | 178.32.109.131 permit 595 | 178.32.109.175 permit 596 | 178.32.110.17 permit 597 | 178.32.110.113 permit 598 | 178.32.110.186 permit 599 | 178.32.110.197 permit 600 | 178.32.110.211 permit 601 | 178.32.110.229 permit 602 | 178.32.111.20 permit 603 | 178.32.111.190 permit 604 | 178.32.111.226 permit 605 | 178.32.111.254 permit 606 | 178.32.112.17 permit 607 | 178.32.112.34 permit 608 | 178.32.112.193 permit 609 | 178.32.112.248 permit 610 | 178.32.113.14 permit 611 | 178.32.113.43 permit 612 | 178.32.113.77 permit 613 | 178.32.113.183 permit 614 | 178.32.113.248 permit 615 | 178.32.114.3 permit 616 | 178.32.114.16 permit 617 | 178.32.114.76 permit 618 | 178.32.114.111 permit 619 | 178.32.114.128 permit 620 | 178.32.115.34 permit 621 | 178.32.115.61 permit 622 | 178.32.115.234 permit 623 | 178.32.116.1 permit 624 | 178.32.116.20 permit 625 | 178.32.116.54 permit 626 | 178.32.116.77 permit 627 | 178.32.116.78 permit 628 | 178.32.116.92 permit 629 | 178.32.116.214 permit 630 | 178.32.116.223 permit 631 | 178.32.117.99 permit 632 | 178.32.117.227 permit 633 | 178.32.117.251 permit 634 | 178.32.118.42 permit 635 | 178.32.118.78 permit 636 | 178.32.118.106 permit 637 | 178.32.118.186 permit 638 | 178.32.118.208 permit 639 | 178.32.118.242 permit 640 | 178.32.119.10 permit 641 | 178.32.119.138 permit 642 | 178.32.119.228 permit 643 | 178.32.119.250 permit 644 | 178.32.120.105 permit 645 | 178.32.120.204 permit 646 | 178.32.120.213 permit 647 | 178.32.120.239 permit 648 | 178.32.120.250 permit 649 | 178.32.121.12 permit 650 | 178.32.121.83 permit 651 | 178.32.121.88 permit 652 | 178.32.121.112 permit 653 | 178.32.121.234 permit 654 | 178.32.122.4 permit 655 | 178.32.122.241 permit 656 | 178.32.122.253 permit 657 | 178.32.122.254 permit 658 | 178.32.123.89 permit 659 | 178.32.123.107 permit 660 | 178.32.123.152 permit 661 | 178.32.123.170 permit 662 | 178.32.123.219 permit 663 | 178.32.123.222 permit 664 | 178.32.123.254 permit 665 | 178.32.124.17 permit 666 | 178.32.124.100 permit 667 | 178.32.124.216 permit 668 | 178.32.124.237 permit 669 | 178.32.125.77 permit 670 | 178.32.125.81 permit 671 | 178.32.125.182 permit 672 | 178.32.125.192 permit 673 | 178.32.125.228 permit 674 | 178.32.125.242 permit 675 | 178.32.126.32 permit 676 | 178.32.126.83 permit 677 | 178.32.126.100 permit 678 | 178.32.126.153 permit 679 | 178.32.126.168 permit 680 | 178.32.126.230 permit 681 | 178.32.127.22 permit 682 | 178.32.127.41 permit 683 | 178.32.127.206 permit 684 | 178.32.127.250 permit 685 | 178.33.40.126 permit 686 | 178.33.40.224 permit 687 | 178.33.41.46 permit 688 | 178.33.41.51 permit 689 | 178.33.41.93 permit 690 | 178.33.41.95 permit 691 | 178.33.41.96 permit 692 | 178.33.41.120 permit 693 | 178.33.41.174 permit 694 | 178.33.42.89 permit 695 | 178.33.42.131 permit 696 | 178.33.42.184 permit 697 | 178.33.42.201 permit 698 | 178.33.42.204 permit 699 | 178.33.42.233 permit 700 | 178.33.42.253 permit 701 | 178.33.43.122 permit 702 | 178.33.43.187 permit 703 | 178.33.43.227 permit 704 | 178.33.43.246 permit 705 | 178.33.44.139 permit 706 | 178.33.44.150 permit 707 | 178.33.44.193 permit 708 | 178.33.45.10 permit 709 | 178.33.45.29 permit 710 | 178.33.45.51 permit 711 | 178.33.45.77 permit 712 | 178.33.45.107 permit 713 | 178.33.45.209 permit 714 | 178.33.45.212 permit 715 | 178.33.46.10 permit 716 | 178.33.46.74 permit 717 | 178.33.46.78 permit 718 | 178.33.46.151 permit 719 | 178.33.46.170 permit 720 | 178.33.46.223 permit 721 | 178.33.47.24 permit 722 | 178.33.47.84 permit 723 | 178.33.47.89 permit 724 | 178.33.47.94 permit 725 | 178.33.47.95 permit 726 | 178.33.47.98 permit 727 | 178.33.47.183 permit 728 | 178.33.104.120 permit 729 | 178.33.104.128 permit 730 | 178.33.104.198 permit 731 | 178.33.104.224 permit 732 | 178.33.104.238 permit 733 | 178.33.104.253 permit 734 | 178.33.105.44 permit 735 | 178.33.105.89 permit 736 | 178.33.105.148 permit 737 | 178.33.105.206 permit 738 | 178.33.105.229 permit 739 | 178.33.105.246 permit 740 | 178.33.106.63 permit 741 | 178.33.106.72 permit 742 | 178.33.106.95 permit 743 | 178.33.106.198 permit 744 | 178.33.107.29 permit 745 | 178.33.107.49 permit 746 | 178.33.107.135 permit 747 | 178.33.107.136 permit 748 | 178.33.107.167 permit 749 | 178.33.107.174 permit 750 | 178.33.107.184 permit 751 | 178.33.107.185 permit 752 | 178.33.107.229 permit 753 | 178.33.108.33 permit 754 | 178.33.108.60 permit 755 | 178.33.108.114 permit 756 | 178.33.108.132 permit 757 | 178.33.108.154 permit 758 | 178.33.108.240 permit 759 | 178.33.109.12 permit 760 | 178.33.109.38 permit 761 | 178.33.109.43 permit 762 | 178.33.109.65 permit 763 | 178.33.109.73 permit 764 | 178.33.109.86 permit 765 | 178.33.109.94 permit 766 | 178.33.109.111 permit 767 | 178.33.109.113 permit 768 | 178.33.109.147 permit 769 | 178.33.109.153 permit 770 | 178.33.109.155 permit 771 | 178.33.109.196 permit 772 | 178.33.110.42 permit 773 | 178.33.110.45 permit 774 | 178.33.110.99 permit 775 | 178.33.110.131 permit 776 | 178.33.110.199 permit 777 | 178.33.110.207 permit 778 | 178.33.110.239 permit 779 | 178.33.111.21 permit 780 | 178.33.111.23 permit 781 | 178.33.111.27 permit 782 | 178.33.111.39 permit 783 | 178.33.111.133 permit 784 | 178.33.111.140 permit 785 | 178.33.111.162 permit 786 | 178.33.111.214 permit 787 | 178.33.111.245 permit 788 | 178.33.111.247 permit 789 | 178.33.248.11 permit 790 | 178.33.248.13 permit 791 | 178.33.248.67 permit 792 | 178.33.248.87 permit 793 | 178.33.248.104 permit 794 | 178.33.248.124 permit 795 | 178.33.248.175 permit 796 | 178.33.248.177 permit 797 | 178.33.248.188 permit 798 | 178.33.248.196 permit 799 | 178.33.249.1 permit 800 | 178.33.249.22 permit 801 | 178.33.249.100 permit 802 | 178.33.249.147 permit 803 | 178.33.249.179 permit 804 | 178.33.249.243 permit 805 | 178.33.250.42 permit 806 | 178.33.250.56 permit 807 | 178.33.250.138 permit 808 | 178.33.250.168 permit 809 | 178.33.250.243 permit 810 | 178.33.251.8 permit 811 | 178.33.251.19 permit 812 | 178.33.251.73 permit 813 | 178.33.251.76 permit 814 | 178.33.251.77 permit 815 | 178.33.251.95 permit 816 | 178.33.251.104 permit 817 | 178.33.251.118 permit 818 | 178.33.251.152 permit 819 | 178.33.252.21 permit 820 | 178.33.252.35 permit 821 | 178.33.252.88 permit 822 | 178.33.252.92 permit 823 | 178.33.252.105 permit 824 | 178.33.252.135 permit 825 | 178.33.252.226 permit 826 | 178.33.253.8 permit 827 | 178.33.253.26 permit 828 | 178.33.253.27 permit 829 | 178.33.253.33 permit 830 | 178.33.253.54 permit 831 | 178.33.253.115 permit 832 | 178.33.253.120 permit 833 | 178.33.253.128 permit 834 | 178.33.253.167 permit 835 | 178.33.254.4 permit 836 | 178.33.254.52 permit 837 | 178.33.254.102 permit 838 | 178.33.254.123 permit 839 | 178.33.254.212 permit 840 | 178.33.255.60 permit 841 | 178.33.255.105 permit 842 | 178.33.255.125 permit 843 | 178.33.255.148 permit 844 | 178.33.255.172 permit 845 | 178.33.255.211 permit 846 | 178.33.255.223 permit 847 | 188.165.32.12 permit 848 | 188.165.32.128 permit 849 | 188.165.33.69 permit 850 | 188.165.33.85 permit 851 | 188.165.33.109 permit 852 | 188.165.33.112 permit 853 | 188.165.33.202 permit 854 | 188.165.34.115 permit 855 | 188.165.34.173 permit 856 | 188.165.34.209 permit 857 | 188.165.34.231 permit 858 | 188.165.34.248 permit 859 | 188.165.35.18 permit 860 | 188.165.35.127 permit 861 | 188.165.35.227 permit 862 | 188.165.35.233 permit 863 | 188.165.35.242 permit 864 | 188.165.36.73 permit 865 | 188.165.36.253 permit 866 | 188.165.37.20 permit 867 | 188.165.37.95 permit 868 | 188.165.37.237 permit 869 | 188.165.38.115 permit 870 | 188.165.38.119 permit 871 | 188.165.38.159 permit 872 | 188.165.38.175 permit 873 | 188.165.38.208 permit 874 | 188.165.38.218 permit 875 | 188.165.38.232 permit 876 | 188.165.39.66 permit 877 | 188.165.39.72 permit 878 | 188.165.39.161 permit 879 | 188.165.39.164 permit 880 | 188.165.39.188 permit 881 | 188.165.39.192 permit 882 | 188.165.39.218 permit 883 | 188.165.39.222 permit 884 | 188.165.40.97 permit 885 | 188.165.40.146 permit 886 | 188.165.41.37 permit 887 | 188.165.41.62 permit 888 | 188.165.41.99 permit 889 | 188.165.41.179 permit 890 | 188.165.41.191 permit 891 | 188.165.41.226 permit 892 | 188.165.41.254 permit 893 | 188.165.42.35 permit 894 | 188.165.42.94 permit 895 | 188.165.42.182 permit 896 | 188.165.42.213 permit 897 | 188.165.43.4 permit 898 | 188.165.43.97 permit 899 | 188.165.43.98 permit 900 | 188.165.43.119 permit 901 | 188.165.43.123 permit 902 | 188.165.43.173 permit 903 | 188.165.44.15 permit 904 | 188.165.44.50 permit 905 | 188.165.44.154 permit 906 | 188.165.44.165 permit 907 | 188.165.44.187 permit 908 | 188.165.44.201 permit 909 | 188.165.45.114 permit 910 | 188.165.45.168 permit 911 | 188.165.45.178 permit 912 | 188.165.45.216 permit 913 | 188.165.46.33 permit 914 | 188.165.46.37 permit 915 | 188.165.46.67 permit 916 | 188.165.46.149 permit 917 | 188.165.46.247 permit 918 | 188.165.46.248 permit 919 | 188.165.47.15 permit 920 | 188.165.47.41 permit 921 | 188.165.47.65 permit 922 | 188.165.47.147 permit 923 | 188.165.47.200 permit 924 | 188.165.48.26 permit 925 | 188.165.48.29 permit 926 | 188.165.48.107 permit 927 | 188.165.48.139 permit 928 | 188.165.48.140 permit 929 | 188.165.48.182 permit 930 | 188.165.48.198 permit 931 | 188.165.48.212 permit 932 | 188.165.49.9 permit 933 | 188.165.49.161 permit 934 | 188.165.50.212 permit 935 | 188.165.50.233 permit 936 | 188.165.50.246 permit 937 | 188.165.51.82 permit 938 | 188.165.51.94 permit 939 | 188.165.51.121 permit 940 | 188.165.51.161 permit 941 | 188.165.51.182 permit 942 | 188.165.52.59 permit 943 | 188.165.52.147 permit 944 | 188.165.52.190 permit 945 | 188.165.52.236 permit 946 | 188.165.52.239 permit 947 | 188.165.53.9 permit 948 | 188.165.53.117 permit 949 | 188.165.53.119 permit 950 | 188.165.53.149 permit 951 | 188.165.53.156 permit 952 | 188.165.53.235 permit 953 | 188.165.53.247 permit 954 | 188.165.53.252 permit 955 | 188.165.54.43 permit 956 | 188.165.54.92 permit 957 | 188.165.54.133 permit 958 | 188.165.54.143 permit 959 | 188.165.54.176 permit 960 | 188.165.55.20 permit 961 | 188.165.55.102 permit 962 | 188.165.55.104 permit 963 | 188.165.55.128 permit 964 | 188.165.55.186 permit 965 | 188.165.55.229 permit 966 | 188.165.55.230 permit 967 | 188.165.56.67 permit 968 | 188.165.56.90 permit 969 | 188.165.56.92 permit 970 | 188.165.56.124 permit 971 | 188.165.56.131 permit 972 | 188.165.56.145 permit 973 | 188.165.56.158 permit 974 | 188.165.56.163 permit 975 | 188.165.56.177 permit 976 | 188.165.56.217 permit 977 | 188.165.56.249 permit 978 | 188.165.56.252 permit 979 | 188.165.57.91 permit 980 | 188.165.57.92 permit 981 | 188.165.57.218 permit 982 | 188.165.57.246 permit 983 | 188.165.58.38 permit 984 | 188.165.58.45 permit 985 | 188.165.59.28 permit 986 | 188.165.59.30 permit 987 | 188.165.59.37 permit 988 | 188.165.60.7 permit 989 | 188.165.60.123 permit 990 | 188.165.60.158 permit 991 | 188.165.60.244 permit 992 | 188.165.61.18 permit 993 | 188.165.61.21 permit 994 | 188.165.61.22 permit 995 | 188.165.61.53 permit 996 | 188.165.61.70 permit 997 | 213.186.56.160 permit 998 | -------------------------------------------------------------------------------- /postwhite: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | ################################################################### 4 | # Postwhite - Automatic Postcreen Whitelist / Blacklist Generator # 5 | # https://github.com/stevejenkins/postwhite # 6 | # By Steve Jenkins (https://www.stevejenkins.com/) # 7 | ################################################################### 8 | 9 | version="3.4" 10 | lastupdated="14 April 2018" 11 | 12 | # Usage: 1) Place entire /postwhite directory in /usr/local/bin 13 | # 2) Move postwhite.conf to /etc 14 | # 3) Run ./postwhite [config-file] 15 | # Optional config file passed via command line overrides the default config file location. 16 | # 17 | # Requires SPF-Tools (https://github.com/jsarenik/spf-tools) 18 | # Please update your copy of spf-tools whenever you update Postwhite 19 | # 20 | # Thanks to Mike Miller (mmiller@mgm51.com) for gwhitelist.sh script. 21 | # Thanks to Jan Sarenik for SPF-Tools. 22 | # Thanks to Jose Borges Ferreira for IPv4 normalization help. 23 | # Thanks to Ricardo Iván Vieitez Parra for improved error reporting, normalization, conf file 24 | # improvements, and removal of bash-isms so that script is usable on more systems. 25 | # Thanks to Steve Cook for Yahoo! IP scraping help. 26 | # Thanks to all the additional contributors on GitHub! 27 | # 28 | # USER-DEFINABLE OPTIONS AND CUSTOM HOSTS STORED IN /etc/postwhite.conf 29 | # CONFIGURATION FILE CAN ALSO BE PASSED FROM COMMAND LINE 30 | # 31 | # NO NEED TO EDIT PAST THIS LINE 32 | # 33 | ################################################################# 34 | 35 | # DEFAULT HOSTS 36 | # CUSTOM HOSTS CAN BE ADDED IN /etc/postwhite.conf 37 | 38 | # Hosts to query 39 | webmail_hosts="aol.com fastmail.com google.com gmx.com hotmail.com icloud.com \ 40 | inbox.com mail.com microsoft.com outlook.com secure-mailgate.com zoho.com" 41 | 42 | social_hosts="facebook.com facebookmail.com instagram.com linkedin.com \ 43 | pinterest.com reddit.com tumblr.com twitter.com" 44 | 45 | commerce_hosts="amazon.com craigslist.org ebay.com paypal.com" 46 | 47 | bulk_hosts="amazonses.com authsmtp.com constantcontact.com \ 48 | cust-spf.exacttarget.com exacttarget.com fbmta.com fishbowl.com \ 49 | icontact.com mailchimp.com mailgun.com mailjet.com messagelabs.com \ 50 | messagegears.net sendgrid.com sendgrid.net sparkpost.com sparkpostmail.com" 51 | 52 | misc_hosts="github.com zendesk.com" 53 | 54 | permit_line_v4="%s\tpermit\n" 55 | reject_line_v4="%s\treject\n" 56 | 57 | permit_line_v6="${permit_line_v4}" 58 | reject_line_v6="${reject_line_v4}" 59 | 60 | # Abort script on error (FYI: enabling will cause script to exit silently if mailer has no valid results) 61 | set -e 62 | 63 | printf "Starting Postwhite v$version ($lastupdated)\n" 64 | 65 | # Check for passed config file 66 | config_file="/etc/postwhite.conf" 67 | if [ -n "$1" ]; then 68 | config_file="$1" 69 | fi 70 | 71 | # Read config file options 72 | if [ ! -s $config_file ] ; then 73 | printf "%s: Can't find %s. Exiting.\n" "$0" "$config_file" 1>&2 74 | exit 1 75 | fi 76 | printf "\nReading options from %s...\n" "$config_file" 77 | . "${config_file}" 78 | 79 | # Create temporary files 80 | printf "\nCreating temporary files...\n" 81 | tmpBase=$(basename "$0") 82 | 83 | tmpPrefix="tmp" 84 | if [ x"$enable_blacklist" = x"yes" ]; then 85 | tmpPrefix="tmp blktmp" 86 | fi 87 | 88 | for p in $tmpPrefix; do 89 | for i in 1 2 3 4 5; do 90 | t="$(mktemp -q /tmp/"${tmpBase}".XXXXXX)" 91 | if [ $? -ne 0 ]; then 92 | >&2 printf "%s: Can't create temp files, exiting...\n" "$0" 93 | cleanup 94 | exit 1 95 | fi 96 | eval ${p}${i}="$t" 97 | done 98 | done 99 | 100 | # Create IPv4 normalize function 101 | ip2int() { 102 | for i in 1 2 3 4 5; do 103 | eval ip2int_${i}="$(echo "$1" | cut -s -d. -f$i)" 104 | done 105 | ip2int_valid_range="$((ip2int_1 | ip2int_2 | ip2int_3 | ip2int_4))" 106 | [ -z "$ip2int_5" ] && [ -n "$ip2int_1" ] && [ -n "$ip2int_2" ] && [ -n "$ip2int_3" ] && [ -n "$ip2int_4" ] && [ "$ip2int_valid_range" -ge 0 ] && [ "$ip2int_valid_range" -le 255 ] && 107 | printf "%d" "$(((((((ip2int_1 << 8) | ip2int_2) << 8) | ip2int_3) << 8) | ip2int_4))" 108 | } 109 | 110 | int2ip() { 111 | int2ip_ui32="$1"; shift 112 | int2ip_ip="" 113 | [ -n "$int2ip_ui32" ] && [ "$int2ip_ui32" -ge 0 ] && [ "$int2ip_ui32" -le 4294967295 ] && for n in 1 2 3 4; do 114 | int2ip_ip="$((int2ip_ui32 & 0xff))${int2ip_ip:+.}$int2ip_ip" 115 | int2ip_ui32="$((int2ip_ui32 >> 8))" 116 | done 117 | printf "%s" "${int2ip_ip}" 118 | } 119 | 120 | network_v4() { 121 | network_v4_ia="$(echo "$1" | cut -d/ -f1)" 122 | network_v4_netmask="$(echo "$1" | cut -d/ -f2-)" 123 | if [ -n "$network_v4_netmask" ] && [ "$network_v4_netmask" -ge 0 ] && [ "$network_v4_netmask" -le 32 ]; then 124 | network_v4_addr="$(ip2int $network_v4_ia)" 125 | network_v4_mask="$((0xffffffff << (32 - network_v4_netmask)))" 126 | if [ "$network_v4_netmask" -eq 32 ]; then 127 | printf "%s" $(int2ip $((network_v4_addr & network_v4_mask))) 128 | else 129 | printf "%s/%s" "$(int2ip $((network_v4_addr & network_v4_mask)))" "$network_v4_netmask" 130 | fi 131 | fi 132 | } 133 | 134 | network_v6() { 135 | printf "%s" "$1" 136 | } 137 | 138 | normalize_ip() { 139 | # split by ":" 140 | normalize_ip_type="$( echo $1 | cut -s -d\: -f1)" 141 | normalize_ip_value="$( echo $1 | cut -s -d\: -f2-)" 142 | normalize_ip_IP="" 143 | if [ x"${normalize_ip_type}" = x"ip4" ] ; then 144 | # check if is a CIDR 145 | if expr "x${normalize_ip_value}" : "x.*/[0-9]*" > /dev/null; then 146 | normalize_ip_IP="$(network_v4 "${normalize_ip_value}")" 147 | else 148 | normalize_ip_IP="$(network_v4 "${normalize_ip_value}/32")" 149 | fi 150 | elif [ x"${normalize_ip_type}" = x"ip6" ]; then 151 | normalize_ip_IP="$(network_v6 "${normalize_ip_value}")" 152 | fi 153 | printf "%s" "$normalize_ip_IP" 154 | } 155 | 156 | # Create host query function 157 | query_host() { 158 | "${spftoolspath}"/despf.sh "$1" | (grep -Ei ^ip || true ) >> "${tmp1}" 159 | } 160 | 161 | query_black_host() { 162 | "${spftoolspath}"/despf.sh "$1" | (grep -Ei ^ip || true ) >> "${blktmp1}" 163 | } 164 | 165 | # Create progress dots function 166 | show_dots() { 167 | while ps "$1" >/dev/null; do 168 | printf "." 169 | sleep 1 170 | done 171 | printf "\n" 172 | } 173 | 174 | # Fix mode 175 | fix_invalid_ip() { 176 | fix_invalid_ip_iptype="$( echo "$1" | cut -d\: -f1 )" 177 | fix_invalid_ip_ip="$(normalize_ip "$1")" 178 | if [ -n "$fix_invalid_ip_ip" ]; then 179 | if [ x"$fix_invalid_ip_iptype" = x"ip4" ]; then 180 | printf "$(eval printf "%s" "\${${2}_line_v4}")" "$fix_invalid_ip_ip" 181 | elif [ x"$fix_invalid_ip_iptype" = x"ip6" ] ; then 182 | printf "$(eval printf "%s" "\${${2}_line_v6}")" "$fix_invalid_ip_ip" 183 | fi 184 | fi 185 | } 186 | 187 | # Remove mode 188 | remove_invalid_ip() { 189 | remove_invalid_ip_iptype="$( echo "$1" | cut -d\: -f1 )" 190 | remove_invalid_ip_origip="$( echo "$1" | cut -d\: -f2- )" 191 | remove_invalid_ip_ip="$(normalize_ip "$1")" 192 | if [ x"$remove_invalid_ip_origip" = x"$remove_invalid_ip_ip" ]; then 193 | if [ x"$remove_invalid_ip_iptype" = x"ip4" ]; then 194 | printf "$(eval printf "%s" "\${${2}_line_v4}")" "$remove_invalid_ip_ip" 195 | elif [ x"$remove_invalid_ip_iptype" = x"ip6" ] ; then 196 | printf "$(eval printf "%s" "\${${2}_line_v6}")" "$remove_invalid_ip_ip" 197 | fi 198 | fi 199 | } 200 | 201 | # Keep mode 202 | keep_invalid_ip() { 203 | keep_invalid_ip_iptype="$( echo "$1" | cut -d\: -f1 )" 204 | keep_invalid_ip_ip="$( echo "$1" | cut -d\: -f2- )" 205 | if [ -n "$keep_invalid_ip_ip" ]; then 206 | if [ x"$keep_invalid_ip_iptype" = x"ip4" ]; then 207 | printf "$(eval printf "%s" "\${${2}_line_v4}")" "$keep_invalid_ip_ip" 208 | elif [ x"$keep_invalid_ip_iptype" = x"ip6" ] ; then 209 | printf "$(eval printf "%s" "\${${2}_line_v6}")" "$keep_invalid_ip_ip" 210 | fi 211 | fi 212 | } 213 | 214 | # Let's DO this! 215 | 216 | printf "\nRecursively querying SPF records of selected whitelist mailers...\n" 217 | 218 | # Query selected mailers 219 | 220 | printf "\nQuerying webmail hosts...\n" 221 | 222 | for h in ${webmail_hosts}; do 223 | query_host "${h}" 224 | done 225 | 226 | printf "\nQuerying social network hosts...\n" 227 | 228 | for h in ${social_hosts}; do 229 | query_host "${h}" 230 | done 231 | 232 | printf "\nQuerying ecommerce hosts...\n" 233 | 234 | for h in ${commerce_hosts}; do 235 | query_host "${h}" 236 | done 237 | 238 | printf "\nQuerying bulk mail hosts...\n" 239 | 240 | for h in ${bulk_hosts}; do 241 | query_host "${h}" 242 | done 243 | 244 | printf "\nQuerying miscellaneous hosts...\n" 245 | 246 | for h in ${misc_hosts}; do 247 | query_host "${h}" 248 | done 249 | 250 | printf "\nQuerying custom hosts...\n" 251 | 252 | for h in ${custom_hosts}; do 253 | query_host "${h}" 254 | done 255 | 256 | if [ x"$include_yahoo" = x"yes" ] ; then 257 | printf "\nIncluding scraped Yahoo! outbound hosts...\n" 258 | 259 | cat "${yahoo_static_hosts}" >> "${tmp1}" 260 | fi 261 | 262 | if [ x"$enable_blacklist" = x"yes" ] ; then 263 | printf "\nQuerying blacklist hosts...\n" 264 | 265 | for h in ${blacklist_hosts}; do 266 | query_black_host "${h}" 267 | done 268 | fi 269 | 270 | # If enabled, simplify (remove) any individual IPs already included in CIDR ranges (disabled by default) 271 | if [ x"$simplify" = x"yes" ]; then 272 | printf "\nSimplifying whitelist IP addresses already included in CIDR ranges. These calculations\n" 273 | printf "can take a LONG time if you have many mailers selected. Please be patient..." 274 | 275 | sed '/\./s/\/32//g' "${tmp1}" | sort -u | "${spftoolspath}"/simplify.sh > "${tmp2}" & 276 | show_dots "$!" 277 | 278 | if [ x"$enable_blacklist" = x"yes" ] ; then 279 | printf "\nSimplifying blacklist IP addresses already included in CIDR ranges. These calculations\n" 280 | printf "can take a LONG time if you have many mailers selected. Please be patient..." 281 | cat "${blktmp1}" | sort -u | "${spftoolspath}"/simplify.sh > "${blktmp2}" & 282 | show_dots "$!" 283 | fi 284 | 285 | printf "\nIP address simplification complete.\n" 286 | else 287 | sed '/\./s/\/32//g' "${tmp1}" > "${tmp2}" 288 | if [ x"$enable_blacklist" = x"yes" ] ; then 289 | cat "${blktmp1}" > "${blktmp2}" 290 | fi 291 | fi 292 | 293 | # Check for invalid IPv4 CIDRs, then format the whitelist 294 | 295 | # If enabled, fix invalid CIDRs 296 | if [ x"$invalid_ip4" = x"fix" ] ; then 297 | printf "\nFixing invalid whitelist IPv4 CIDRs..." 298 | cat "${tmp2}" | while read ip; do 299 | fix_invalid_ip "$ip" "permit" 300 | done >> "${tmp3}" & 301 | show_dots "$!" 302 | 303 | if [ x"$enable_blacklist" = x"yes" ] ; then 304 | printf "\nFixing invalid blacklist IPv4 CIDRs..." 305 | cat "${blktmp2}" | while read ip; do 306 | fix_invalid_ip "$ip" "reject" 307 | done >> "${blktmp3}" & 308 | show_dots "$!" 309 | fi 310 | 311 | # If enabled, remove invalid CIDRs 312 | elif [ x"$invalid_ip4" = x"remove" ] ; then 313 | printf "\nRemoving invalid IPv4 CIDRs from whitelist..." 314 | cat "${tmp2}" | while read ip; do 315 | remove_invalid_ip "$ip" "permit" 316 | done >> "${tmp3}" & 317 | show_dots "$!" 318 | 319 | if [ x"$enable_blacklist" = x"yes" ] ; then 320 | printf "\nRemoving invalid IPv4 CIDRs from blacklist..." 321 | cat "${blktmp2}" | while read ip; do 322 | remove_invalid_ip "$ip" "reject" 323 | done >> "${blktmp3}" & 324 | show_dots "$!" 325 | fi 326 | 327 | # If enabled, keep invalid CIDRs 328 | elif [ x"$invalid_ip4" = x"keep" ] ; then 329 | printf "\nKeeping invalid whitelist IPv4 CIDRs...\n" 330 | cat "${tmp2}" | while read ip; do 331 | keep_invalid_ip "$ip" "permit" 332 | done >> "${tmp3}" & 333 | show_dots "$!" 334 | 335 | if [ x"$enable_blacklist" = x"yes" ] ; then 336 | printf "\nKeeping invalid blacklist IPv4 CIDRs...\n" 337 | cat "${blktmp2}" | while read ip; do 338 | keep_invalid_ip "$ip" "reject" 339 | done >> "${blktmp3}" & 340 | show_dots "$!" 341 | fi 342 | fi 343 | 344 | # Sort, uniq, and count final rules 345 | # Have to do sort and uniq separately, as 'sort -u -t. -k1,1n...' removes valid rules 346 | printf "\nSorting whitelist rules...\n" 347 | sort -t. -k1,1n -k2,2n -k3,3n -k4,4n "${tmp3}" > "${tmp4}" 348 | uniq "${tmp4}" >> "${tmp5}" 349 | numrules="$(cat "${tmp5}" | wc -l)" 350 | 351 | if [ x"$enable_blacklist" = x"yes" ] ; then 352 | printf "\nSorting blacklist rules...\n" 353 | sort -t. -k1,1n -k2,2n -k3,3n -k4,4n "${blktmp3}" > "${blktmp4}" 354 | uniq "${blktmp4}" >> "${blktmp5}" 355 | numblackrules="$(cat "${blktmp5}" | wc -l)" 356 | fi 357 | 358 | # Write whitelist and blacklist to Postfix directory 359 | printf "\nWriting $numrules whitelist rules to ${postfixpath}/${whitelist}...\n" 360 | printf "# Whitelist generated by Postwhite v$version on $(date)\n# https://github.com/stevejenkins/postwhite/\n# $numrules total rules\n" > "${postfixpath}"/"${whitelist}" 361 | cat "${tmp5}" >> "${postfixpath}"/"${whitelist}" 362 | 363 | if [ x"$enable_blacklist" = x"yes" ] ; then 364 | printf "\nWriting $numblackrules blacklist rules to ${postfixpath}/${blacklist}...\n" 365 | printf "# Blacklist generated by Postwhite v$version on $(date)\n# https://github.com/stevejenkins/postwhite/\n# $numblackrules total rules\n" > "${postfixpath}"/"${blacklist}" 366 | cat "${blktmp5}" >> "${postfixpath}"/"${blacklist}" 367 | fi 368 | 369 | # Remove temp files 370 | cleanup() { 371 | test -e "${tmp1}" && rm "${tmp1}" 372 | test -e "${tmp2}" && rm "${tmp2}" 373 | test -e "${tmp3}" && rm "${tmp3}" 374 | test -e "${tmp4}" && rm "${tmp4}" 375 | test -e "${tmp5}" && rm "${tmp5}" 376 | if [ x"$enable_blacklist" = x"yes" ] ; then 377 | test -e "${blktmp1}" && rm "${blktmp1}" 378 | test -e "${blktmp2}" && rm "${blktmp2}" 379 | test -e "${blktmp3}" && rm "${blktmp3}" 380 | test -e "${blktmp4}" && rm "${blktmp4}" 381 | test -e "${blktmp5}" && rm "${blktmp5}" 382 | fi 383 | } 384 | cleanup 385 | 386 | # Reload Postfix to pick up changes in whitelist 387 | if [ x"$reload_postfix" = x"yes" ]; then 388 | printf '\nReloading Postfix configuration to refresh rules...\n' 389 | ${postfixbinarypath}/postfix reload 390 | fi 391 | 392 | printf '\nDone!\n' 393 | 394 | exit 395 | -------------------------------------------------------------------------------- /postwhite.conf: -------------------------------------------------------------------------------- 1 | # CONFIGURATION OPTIONS FOR POSTWHITE 2 | # https://github.com/stevejenkins/postwhite 3 | # POSTWHITE WILL LOOK FOR THIS FILE IN /etc/postwhite.conf 4 | 5 | # FILE PATHS 6 | spftoolspath=/usr/local/bin/spf-tools 7 | postfixpath=/etc/postfix 8 | postfixbinarypath=/usr/sbin 9 | whitelist=postscreen_spf_whitelist.cidr 10 | blacklist=postscreen_spf_blacklist.cidr 11 | yahoo_static_hosts=/usr/local/bin/postwhite/yahoo_static_hosts.txt 12 | 13 | # CUSTOM HOSTS 14 | # Enter custom hosts separated by a space, ex: "example.com example2.com example3.com" 15 | custom_hosts="" 16 | 17 | # Include list of Yahoo Outbound IPs from https://help.yahoo.com/kb/SLN23997.html? 18 | include_yahoo="yes" 19 | 20 | # Do you also want to build a blacklist? 21 | enable_blacklist=no 22 | blacklist_hosts="" 23 | 24 | # Do what to invalid IPv4 addresses and CIDRs? 25 | # Valid settings are 'remove' 'fix' or 'keep' 26 | invalid_ip4=remove 27 | 28 | # Simplify (remove) IP addresses from the whitelist that are already covered by CIDRs? 29 | # WARNING: Enabling this option can dramatically increase the time Postwhite takes to 30 | # run if you have many mailers selected. Try it once, then come back and turn it off. :) 31 | simplify=no 32 | 33 | # Reload Postfix Automatically when done? 34 | reload_postfix=yes 35 | -------------------------------------------------------------------------------- /query_mailer_ovh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ########################################################################### 4 | # Query Mailer - Generates a Postscreen whitelist for a mailhost that # 5 | # doesn't publish their outbound mailer IPs via SPF records # 6 | # https://github.com/stevejenkins/postwhite # 7 | ########################################################################### 8 | 9 | # By Jesse Norell (https://github.com/jnorell) 10 | # and Steve Jenkins (https://www.stevejenkins.com/) 11 | 12 | version="1.1" 13 | lastupdated="16 April 2018" 14 | 15 | temp_file="/tmp/ovh_hosts.txt" 16 | whitelist_file="/etc/postfix/postscreen_ovh_whitelist.cidr" 17 | 18 | ########################################################################### 19 | 20 | # This script uses "mail-out.ovh.net" as a working example of a mailhost 21 | # that does not publish their outbound mailer IP address via SPF records. To 22 | # use this script as a template for additional hosts: 23 | 24 | # 1. Copy this script to a new unique filename 25 | # 2. Edit the script's mailhost and numerical range values as required 26 | # 3. Set a unique output file (/etc/postfix/postscreen_*_whitelist.cidr) 27 | # 4. Configure cron to run the new script as often as you like 28 | # 5. Include the output file in Postfix's postscreen_access_list parameter 29 | 30 | ########################################################################### 31 | 32 | # Uncomment to see output 33 | set -x 34 | 35 | printf "Querying outbound IP addresses. This could take a while...\n" 36 | 37 | # Query user-defined mailer range 38 | 39 | for a in {1..99}; 40 | do for b in {1..300}; 41 | do host ${a}.mo${b}.mail-out.ovh.net; 42 | done; 43 | done > $temp_file 44 | 45 | # Format queried hosts 46 | 47 | printf "Formatting custom whitelist...\n" 48 | 49 | grep 'has address' /tmp/ovh_hosts.txt | awk '{print $4 " permit"}' | sort -uV > $whitelist_file 50 | 51 | # Restart Postfix 52 | 53 | printf "Restarting Postfix...\n" 54 | 55 | postfix reload 56 | 57 | # All done! 58 | 59 | printf "Done!\n" 60 | 61 | exit 62 | -------------------------------------------------------------------------------- /scrape_yahoo: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ######################################################################### 4 | # Scrape Yahoo! - Generates a list of Yahoo! Outbound IPs for Postwhite # 5 | # https://github.com/stevejenkins/postwhite # 6 | ######################################################################### 7 | 8 | # By Steve Cook (https://www.stevecook.net/) 9 | # and Steve Jenkins (https://www.stevejenkins.com/) 10 | 11 | version="1.0" 12 | lastupdated="30 April 2017" 13 | 14 | yahoo_url="https://help.yahoo.com/kb/SLN23997.html" 15 | 16 | # NO NEED TO EDIT PAST THIS LINE 17 | 18 | ################################################################# 19 | 20 | # Abort script on error 21 | set -e 22 | 23 | printf "Scraping Yahoo! outbound IP addresses...\n" 24 | 25 | # Check for passed config file 26 | if [ -n "$1" ]; then 27 | config_file="$1" 28 | else 29 | config_file="/etc/postwhite.conf" 30 | fi 31 | 32 | # Read config file options 33 | if [ -s $config_file ] ; then 34 | printf "\nReading options from %s...\n" "$config_file" 35 | . "${config_file}" 36 | else 37 | >&2 printf "%s: Can't find %s. Exiting.\n" "$0" "$config_file" 38 | exit 1 39 | fi 40 | 41 | # Check for wget or curl 42 | if [ `command -v wget` ] 43 | then 44 | content=$(wget $yahoo_url -q -O -) 45 | elif [ -n `command -v curl` ] 46 | then 47 | content=$(curl -s -L $yahoo_url) 48 | else 49 | echo "wget or curl required."; 50 | exit 1; 51 | fi 52 | 53 | # Scrape and format IPv4 addresses 54 | ipv4_mailers=$(echo "$content" | grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/([0-9]{1,3}?)' | while read line; do echo "ip4:$line"; done) 55 | 56 | # Overwrite old Yahoo! mailer list with scraped IPv4 hosts 57 | echo "$ipv4_mailers" > "$yahoo_static_hosts" 58 | 59 | # Scrape and format IPv6 addresses 60 | ipv6_mailers=$(echo "$content" | grep -E -o '(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))' | while read line; do echo "ipv6:$line"; done) 61 | 62 | # Append IPv6 hosts to newly-created Yahoo! mailer list 63 | echo "$ipv6_mailers" >> "$yahoo_static_hosts" 64 | 65 | printf '\nYahoo! outbound mailers updated.\n' 66 | 67 | exit 68 | -------------------------------------------------------------------------------- /testdata/README.md: -------------------------------------------------------------------------------- 1 | This testdata directory contains the following files: 2 | 3 | * **unsorted.txt** - an example of "raw" output from Postwhite that has not been sorted or uniqued 4 | 5 | * **sort-n.txt** - original data sorted using ```sort -n``` 6 | 7 | * **sort-V.txt** - original data sorted using ```sort -V``` 8 | 9 | * **sort-u.txt** - original data sorted using ```sort -u``` 10 | 11 | * **sort-uV.txt** - original data sorted using ```sort -u -V``` 12 | 13 | * **sort-un.txt** - original data sorted using ```sort -u -n``` 14 | 15 | * **sort-untk.txt** - original data sorted using ```sort -u -n -t. -k 1,1 -k 2,2 -k 3,3 -k 4,4``` 16 | 17 | * **sort-tkn.txt** - original data sorted using ```sort -t. -k1,1n -k2,2n -k3,3n -k4,4n``` 18 | 19 | * **sort-tkn-uniq.txt** - output of ```uniq sort-tkn.txt```. This is Postwhite's current approach to sorting and unique-ing as of v1.16. 20 | 21 | Note that only the data sorted with ```-u``` and ```-u -V``` resulted in unique rules without any data loss. All other unique sorts combining ```-u``` with ```-n-``` resulted in valid whitelist rules being removed from the unsorted data. 22 | 23 | Using ```sort -V``` would be ideal, but the ```-V``` sort option is not available on all platforms, so I did not include it as the default option in Postwhite. 24 | 25 | Please feel free to experiment with this data, and if you have a suggestion for a better sort option, I'm all ears! :) 26 | -------------------------------------------------------------------------------- /testdata/sorted-V.txt: -------------------------------------------------------------------------------- 1 | 2a00:1450:4000::/36 permit 2 | 2a00:1450:4000::/36 permit 3 | 2a00:1450:4000::/36 permit 4 | 2a00:1450:4000::/36 permit 5 | 2a00:1450:4000::/36 permit 6 | 2a00:1450:4000::/36 permit 7 | 2a00:1450:4000::/36 permit 8 | 2a00:1450:4000::/36 permit 9 | 2a00:1450:4000::/36 permit 10 | 2a00:1450:4000::/36 permit 11 | 2a01:111:f400::/48 permit 12 | 2a01:111:f400::/48 permit 13 | 2a01:111:f400::/48 permit 14 | 2a04:35c0::/29 permit 15 | 2c0f:fb50:4000::/36 permit 16 | 2c0f:fb50:4000::/36 permit 17 | 2c0f:fb50:4000::/36 permit 18 | 2c0f:fb50:4000::/36 permit 19 | 2c0f:fb50:4000::/36 permit 20 | 2c0f:fb50:4000::/36 permit 21 | 2c0f:fb50:4000::/36 permit 22 | 2c0f:fb50:4000::/36 permit 23 | 2c0f:fb50:4000::/36 permit 24 | 2c0f:fb50:4000::/36 permit 25 | 8.25.194.0/23 permit 26 | 8.25.196.0/23 permit 27 | 13.111.0.0/22 permit 28 | 17.41.0.0/16 permit 29 | 17.110.0.0/15 permit 30 | 17.133.0.0/16 permit 31 | 17.142.0.0/15 permit 32 | 17.151.1.0/24 permit 33 | 17.158.0.0/15 permit 34 | 17.162.0.0/15 permit 35 | 17.164.0.0/16 permit 36 | 17.171.37.0/24 permit 37 | 17.172.0.0/16 permit 38 | 23.21.83.90 permit 39 | 23.23.237.213 permit 40 | 23.96.52.53 permit 41 | 23.100.122.175 permit 42 | 23.103.128.0/19 permit 43 | 23.103.128.0/19 permit 44 | 23.103.128.0/19 permit 45 | 23.103.191.0/24 permit 46 | 23.103.191.0/24 permit 47 | 23.103.191.0/24 permit 48 | 23.103.198.0/23 permit 49 | 23.103.198.0/23 permit 50 | 23.103.198.0/23 permit 51 | 23.103.200.0/21 permit 52 | 23.103.200.0/21 permit 53 | 23.103.200.0/21 permit 54 | 23.103.208.0/21 permit 55 | 23.103.208.0/21 permit 56 | 23.103.208.0/21 permit 57 | 23.103.224.0/19 permit 58 | 23.253.182.0/24 permit 59 | 23.253.182.0/24 permit 60 | 23.253.182.103 permit 61 | 23.253.183.0/24 permit 62 | 23.253.183.0/24 permit 63 | 37.188.97.188/32 permit 64 | 41.74.192.0/22 permit 65 | 41.74.196.0/22 permit 66 | 41.74.200.0/22 permit 67 | 41.74.201.0/24 permit 68 | 41.74.204.0/22 permit 69 | 41.74.205.0/24 permit 70 | 46.19.168.0/23 permit 71 | 50.18.45.249 permit 72 | 50.18.121.236 permit 73 | 50.18.121.248 permit 74 | 50.18.123.221 permit 75 | 50.18.124.70 permit 76 | 50.18.125.97 permit 77 | 50.18.125.237 permit 78 | 50.18.126.162 permit 79 | 50.22.164.201 permit 80 | 50.23.218.192/27 permit 81 | 50.23.218.192/27 permit 82 | 50.31.32.0/19 permit 83 | 50.31.32.0/19 permit 84 | 50.31.32.0/19 permit 85 | 50.31.32.0/19 permit 86 | 50.31.32.0/19 permit 87 | 50.31.36.197 permit 88 | 50.31.36.199 permit 89 | 50.31.36.205 permit 90 | 50.31.36.208 permit 91 | 50.31.36.213 permit 92 | 50.31.60.1 permit 93 | 50.31.156.96/27 permit 94 | 52.0.20.102 permit 95 | 54.173.229.38 permit 96 | 54.240.0.0/18 permit 97 | 54.243.205.80 permit 98 | 62.17.146.128/26 permit 99 | 63.111.28.137 permit 100 | 63.128.21.0/24 permit 101 | 64.4.22.64/26 permit 102 | 64.4.22.64/26 permit 103 | 64.4.22.64/26 permit 104 | 64.12.88.131 permit 105 | 64.12.88.132 permit 106 | 64.12.91.195 permit 107 | 64.18.0.0/20 permit 108 | 64.18.0.0/20 permit 109 | 64.18.0.0/20 permit 110 | 64.18.0.0/20 permit 111 | 64.18.0.0/20 permit 112 | 64.18.0.0/20 permit 113 | 64.18.0.0/20 permit 114 | 64.18.0.0/20 permit 115 | 64.18.0.0/20 permit 116 | 64.18.0.0/20 permit 117 | 64.20.241.45 permit 118 | 64.34.47.128/27 permit 119 | 64.34.57.192/26 permit 120 | 64.79.155.192 permit 121 | 64.127.115.252 permit 122 | 64.132.88.0/23 permit 123 | 64.132.92.0/24 permit 124 | 64.135.77.0/24 permit 125 | 64.135.83.0/24 permit 126 | 64.233.160.0/19 permit 127 | 64.233.160.0/19 permit 128 | 64.233.160.0/19 permit 129 | 64.233.160.0/19 permit 130 | 64.233.160.0/19 permit 131 | 64.233.160.0/19 permit 132 | 64.233.160.0/19 permit 133 | 64.233.160.0/19 permit 134 | 64.233.160.0/19 permit 135 | 64.233.160.0/19 permit 136 | 65.39.215.0/24 permit 137 | 65.54.51.64/26 permit 138 | 65.54.51.64/26 permit 139 | 65.54.51.64/26 permit 140 | 65.54.61.64/26 permit 141 | 65.54.61.64/26 permit 142 | 65.54.61.64/26 permit 143 | 65.54.121.120/29 permit 144 | 65.54.121.120/29 permit 145 | 65.54.121.124/31 permit 146 | 65.54.190.0/24 permit 147 | 65.54.190.0/24 permit 148 | 65.54.190.0/24 permit 149 | 65.54.241.0/24 permit 150 | 65.54.241.0/24 permit 151 | 65.54.241.0/24 permit 152 | 65.55.33.64/28 permit 153 | 65.55.33.64/28 permit 154 | 65.55.34.0/24 permit 155 | 65.55.34.0/24 permit 156 | 65.55.34.0/24 permit 157 | 65.55.42.224/28 permit 158 | 65.55.52.224/27 permit 159 | 65.55.52.224/27 permit 160 | 65.55.52.224/27 permit 161 | 65.55.77.28 permit 162 | 65.55.78.128/25 permit 163 | 65.55.78.128/25 permit 164 | 65.55.81.48/28 permit 165 | 65.55.81.48/28 permit 166 | 65.55.81.54/31 permit 167 | 65.55.85.12 permit 168 | 65.55.88.0/24 permit 169 | 65.55.88.0/24 permit 170 | 65.55.88.0/24 permit 171 | 65.55.90.0/24 permit 172 | 65.55.90.0/24 permit 173 | 65.55.90.0/24 permit 174 | 65.55.94.0/25 permit 175 | 65.55.94.0/25 permit 176 | 65.55.111.0/24 permit 177 | 65.55.111.0/24 permit 178 | 65.55.111.0/24 permit 179 | 65.55.113.64/26 permit 180 | 65.55.113.64/26 permit 181 | 65.55.116.0/25 permit 182 | 65.55.116.0/25 permit 183 | 65.55.116.0/25 permit 184 | 65.55.126.0/25 permit 185 | 65.55.126.0/25 permit 186 | 65.55.169.0/24 permit 187 | 65.55.169.0/24 permit 188 | 65.55.169.0/24 permit 189 | 65.55.174.0/25 permit 190 | 65.55.174.0/25 permit 191 | 65.55.178.128/27 permit 192 | 65.55.178.128/27 permit 193 | 65.55.234.192/26 permit 194 | 65.55.234.192/26 permit 195 | 65.55.234.192/26 permit 196 | 65.110.161.77 permit 197 | 65.242.92.0/24 permit 198 | 66.77.16.201/32 permit 199 | 66.102.0.0/20 permit 200 | 66.102.0.0/20 permit 201 | 66.102.0.0/20 permit 202 | 66.102.0.0/20 permit 203 | 66.102.0.0/20 permit 204 | 66.102.0.0/20 permit 205 | 66.102.0.0/20 permit 206 | 66.102.0.0/20 permit 207 | 66.102.0.0/20 permit 208 | 66.102.0.0/20 permit 209 | 66.135.213.241 permit 210 | 66.135.215.0/24 permit 211 | 66.211.161.0/25 permit 212 | 66.211.184.0/23 permit 213 | 66.220.144.128/25 permit 214 | 66.220.144.128/25 permit 215 | 66.220.155.128/25 permit 216 | 66.220.155.128/25 permit 217 | 66.220.157.0/25 permit 218 | 66.220.157.0/25 permit 219 | 66.231.80.0/20 permit 220 | 66.249.80.0/20 permit 221 | 66.249.80.0/20 permit 222 | 66.249.80.0/20 permit 223 | 66.249.80.0/20 permit 224 | 66.249.80.0/20 permit 225 | 66.249.80.0/20 permit 226 | 66.249.80.0/20 permit 227 | 66.249.80.0/20 permit 228 | 66.249.80.0/20 permit 229 | 66.249.80.0/20 permit 230 | 67.23.31.6 permit 231 | 67.72.99.26 permit 232 | 67.228.2.24/30 permit 233 | 67.228.21.184/29 permit 234 | 67.228.37.4/30 permit 235 | 67.228.50.32/27 permit 236 | 67.228.50.32/27 permit 237 | 67.228.50.32/27 permit 238 | 67.228.50.32/27 permit 239 | 67.231.145.42 permit 240 | 67.231.153.30 permit 241 | 68.232.192.0/20 permit 242 | 69.63.178.128/25 permit 243 | 69.63.178.128/25 permit 244 | 69.63.184.0/25 permit 245 | 69.63.184.0/25 permit 246 | 69.65.42.195 permit 247 | 69.65.49.192/29 permit 248 | 69.162.98.0/24 permit 249 | 69.162.98.0/24 permit 250 | 69.162.98.0/24 permit 251 | 69.162.98.0/24 permit 252 | 69.162.98.0/24 permit 253 | 69.171.232.128/25 permit 254 | 69.171.232.128/25 permit 255 | 70.37.151.128/25 permit 256 | 70.37.151.128/25 permit 257 | 72.3.185.0/24 permit 258 | 72.3.237.64/28 permit 259 | 72.5.230.111/32 permit 260 | 72.14.192.0/18 permit 261 | 72.14.192.0/18 permit 262 | 72.14.192.0/18 permit 263 | 72.14.192.0/18 permit 264 | 72.14.192.0/18 permit 265 | 72.14.192.0/18 permit 266 | 72.14.192.0/18 permit 267 | 72.14.192.0/18 permit 268 | 72.14.192.0/18 permit 269 | 72.14.192.0/18 permit 270 | 72.32.154.0/24 permit 271 | 72.32.217.0/24 permit 272 | 72.32.243.0/24 permit 273 | 72.249.147.250/32 permit 274 | 74.63.63.115 permit 275 | 74.63.63.121 permit 276 | 74.63.194.0/24 permit 277 | 74.63.194.0/24 permit 278 | 74.63.194.0/24 permit 279 | 74.63.194.0/24 permit 280 | 74.63.202.0/24 permit 281 | 74.63.202.0/24 permit 282 | 74.63.202.0/24 permit 283 | 74.63.202.0/24 permit 284 | 74.63.202.100 permit 285 | 74.63.231.0/24 permit 286 | 74.63.231.0/24 permit 287 | 74.63.231.0/24 permit 288 | 74.63.231.0/24 permit 289 | 74.63.234.0/24 permit 290 | 74.63.234.0/24 permit 291 | 74.63.234.0/24 permit 292 | 74.63.234.0/24 permit 293 | 74.63.234.75 permit 294 | 74.63.235.0/24 permit 295 | 74.63.235.0/24 permit 296 | 74.63.235.0/24 permit 297 | 74.63.235.0/24 permit 298 | 74.63.236.0/24 permit 299 | 74.63.236.0/24 permit 300 | 74.63.236.0/24 permit 301 | 74.63.236.0/24 permit 302 | 74.63.236.0/24 permit 303 | 74.63.247.0/24 permit 304 | 74.63.247.0/24 permit 305 | 74.63.247.0/24 permit 306 | 74.63.247.0/24 permit 307 | 74.86.113.28/30 permit 308 | 74.86.129.240/30 permit 309 | 74.86.131.208/30 permit 310 | 74.86.132.208/30 permit 311 | 74.86.160.160/30 permit 312 | 74.86.164.188/30 permit 313 | 74.86.171.192/30 permit 314 | 74.86.195.28/30 permit 315 | 74.86.207.36/30 permit 316 | 74.86.226.216/30 permit 317 | 74.86.236.240/30 permit 318 | 74.86.241.250/31 permit 319 | 74.112.170.21/32 permit 320 | 74.125.0.0/16 permit 321 | 74.125.0.0/16 permit 322 | 74.125.0.0/16 permit 323 | 74.125.0.0/16 permit 324 | 74.125.0.0/16 permit 325 | 74.125.0.0/16 permit 326 | 74.125.0.0/16 permit 327 | 74.125.0.0/16 permit 328 | 74.125.0.0/16 permit 329 | 74.125.0.0/16 permit 330 | 74.201.84.0/24 permit 331 | 74.201.152.59/32 permit 332 | 74.201.154.0/24 permit 333 | 74.201.155.25/32 permit 334 | 74.201.155.26/32 permit 335 | 74.201.155.27/32 permit 336 | 74.201.155.28/32 permit 337 | 74.201.155.79/32 permit 338 | 74.202.227.52/32 permit 339 | 74.208.4.192/26 permit 340 | 74.208.4.192/26 permit 341 | 74.208.5.64/26 permit 342 | 74.208.5.64/26 permit 343 | 74.208.122.0/26 permit 344 | 74.208.122.0/26 permit 345 | 75.126.200.128/27 permit 346 | 75.126.200.128/27 permit 347 | 75.126.200.128/27 permit 348 | 75.126.200.128/27 permit 349 | 75.126.253.0/24 permit 350 | 75.126.253.0/24 permit 351 | 75.126.253.0/24 permit 352 | 75.126.253.0/24 permit 353 | 75.126.253.48 permit 354 | 81.223.46.0/27 permit 355 | 82.165.159.0/24 permit 356 | 82.165.159.0/24 permit 357 | 85.222.130.224/28 permit 358 | 85.222.130.224/28 permit 359 | 85.222.130.224/28 permit 360 | 86.61.88.25 permit 361 | 91.194.248.0/23 permit 362 | 91.211.240.0/24 permit 363 | 91.211.242.0/24 permit 364 | 91.211.243.0/24 permit 365 | 91.220.42.0/24 permit 366 | 94.236.119.0/26 permit 367 | 94.245.112.0/27 permit 368 | 94.245.112.0/27 permit 369 | 94.245.112.0/27 permit 370 | 94.245.112.10/31 permit 371 | 94.245.112.10/31 permit 372 | 96.43.144.0/20 permit 373 | 96.43.144.64/28 permit 374 | 96.43.144.64/28 permit 375 | 96.43.144.64/28 permit 376 | 96.43.144.64/31 permit 377 | 96.43.147.64/28 permit 378 | 96.43.147.64/28 permit 379 | 96.43.147.64/28 permit 380 | 96.43.148.64/28 permit 381 | 96.43.148.64/28 permit 382 | 96.43.148.64/28 permit 383 | 96.43.148.64/31 permit 384 | 96.43.151.64/28 permit 385 | 96.43.151.64/28 permit 386 | 96.43.151.64/28 permit 387 | 96.43.152.64/27 permit 388 | 96.43.152.64/27 permit 389 | 96.43.152.64/27 permit 390 | 96.43.153.64/27 permit 391 | 96.43.153.64/27 permit 392 | 96.43.153.64/27 permit 393 | 96.46.150.192/27 permit 394 | 96.46.150.192/27 permit 395 | 96.46.150.192/27 permit 396 | 96.46.150.192/27 permit 397 | 103.13.69.0/24 permit 398 | 103.237.104.0/22 permit 399 | 104.40.211.35 permit 400 | 104.43.195.251 permit 401 | 104.47.0.0/17 permit 402 | 104.47.0.0/17 permit 403 | 104.47.0.0/17 permit 404 | 104.130.96.0/28 permit 405 | 104.130.96.0/28 permit 406 | 104.130.122.0/23 permit 407 | 104.130.122.0/23 permit 408 | 107.0.11.224/27 permit 409 | 108.174.3.0/24 permit 410 | 108.174.6.0/24 permit 411 | 108.177.8.0/21 permit 412 | 108.177.8.0/21 permit 413 | 108.177.8.0/21 permit 414 | 108.177.8.0/21 permit 415 | 108.177.8.0/21 permit 416 | 108.177.8.0/21 permit 417 | 108.177.8.0/21 permit 418 | 108.177.8.0/21 permit 419 | 108.177.8.0/21 permit 420 | 111.221.23.128/25 permit 421 | 111.221.23.128/25 permit 422 | 111.221.26.0/27 permit 423 | 111.221.26.0/27 permit 424 | 111.221.26.0/27 permit 425 | 111.221.66.0/25 permit 426 | 111.221.66.0/25 permit 427 | 111.221.69.128/25 permit 428 | 111.221.69.128/25 permit 429 | 111.221.112.0/21 permit 430 | 111.221.112.0/21 permit 431 | 124.47.150.0/24 permit 432 | 124.47.189.0/24 permit 433 | 129.41.169.249 permit 434 | 131.107.0.0/16 permit 435 | 131.107.1.18 permit 436 | 131.107.1.19 permit 437 | 131.107.1.20 permit 438 | 131.107.1.37 permit 439 | 131.107.1.44 permit 440 | 131.107.1.48 permit 441 | 131.107.1.56 permit 442 | 131.253.30.0/24 permit 443 | 132.245.13.210 permit 444 | 132.245.17.34 permit 445 | 132.245.21.82 permit 446 | 132.245.23.242 permit 447 | 132.245.81.130 permit 448 | 132.245.92.194 permit 449 | 132.245.113.194 permit 450 | 134.170.113.0/26 permit 451 | 134.170.132.0/24 permit 452 | 134.170.132.0/24 permit 453 | 134.170.132.0/24 permit 454 | 134.170.140.0/24 permit 455 | 134.170.140.0/24 permit 456 | 134.170.140.0/24 permit 457 | 134.170.141.64/26 permit 458 | 134.170.143.0/24 permit 459 | 134.170.174.0/24 permit 460 | 136.146.128.64/27 permit 461 | 136.146.128.64/27 permit 462 | 136.146.128.64/27 permit 463 | 136.146.208.16/28 permit 464 | 136.146.208.16/28 permit 465 | 136.146.208.16/28 permit 466 | 136.146.210.16/28 permit 467 | 136.146.210.16/28 permit 468 | 136.146.210.16/28 permit 469 | 136.147.46.192/26 permit 470 | 136.147.46.192/26 permit 471 | 136.147.46.192/26 permit 472 | 136.147.62.192/26 permit 473 | 136.147.62.192/26 permit 474 | 136.147.62.192/26 permit 475 | 136.147.128.0/20 permit 476 | 136.147.176.0/20 permit 477 | 146.101.78.0/24 permit 478 | 147.243.1.47 permit 479 | 147.243.1.48 permit 480 | 147.243.1.153 permit 481 | 147.243.128.24 permit 482 | 147.243.128.26 permit 483 | 152.163.0.67 permit 484 | 152.163.0.68 permit 485 | 152.163.0.99 permit 486 | 157.55.0.192/26 permit 487 | 157.55.0.192/26 permit 488 | 157.55.0.192/26 permit 489 | 157.55.1.128/26 permit 490 | 157.55.1.128/26 permit 491 | 157.55.1.128/26 permit 492 | 157.55.2.0/25 permit 493 | 157.55.2.0/25 permit 494 | 157.55.2.0/25 permit 495 | 157.55.9.128/25 permit 496 | 157.55.9.128/25 permit 497 | 157.55.11.0/25 permit 498 | 157.55.11.0/25 permit 499 | 157.55.49.0/25 permit 500 | 157.55.49.0/25 permit 501 | 157.55.61.0/24 permit 502 | 157.55.61.0/24 permit 503 | 157.55.133.0/25 permit 504 | 157.55.133.0/25 permit 505 | 157.55.133.0/25 permit 506 | 157.55.152.112 permit 507 | 157.55.157.128/25 permit 508 | 157.55.157.128/25 permit 509 | 157.55.158.0/23 permit 510 | 157.55.158.0/23 permit 511 | 157.55.158.0/23 permit 512 | 157.55.225.0/25 permit 513 | 157.55.225.0/25 permit 514 | 157.55.234.0/24 permit 515 | 157.55.234.0/24 permit 516 | 157.55.234.0/24 permit 517 | 157.56.24.0/25 permit 518 | 157.56.24.0/25 permit 519 | 157.56.87.192/26 permit 520 | 157.56.87.192/26 permit 521 | 157.56.87.192/26 permit 522 | 157.56.110.0/23 permit 523 | 157.56.110.0/23 permit 524 | 157.56.110.0/23 permit 525 | 157.56.112.0/24 permit 526 | 157.56.112.0/24 permit 527 | 157.56.112.0/24 permit 528 | 157.56.116.0/25 permit 529 | 157.56.116.0/25 permit 530 | 157.56.116.0/25 permit 531 | 157.56.120.0/25 permit 532 | 157.56.120.0/25 permit 533 | 157.56.120.0/25 permit 534 | 157.56.120.128/26 permit 535 | 157.56.172.28 permit 536 | 157.56.232.0/21 permit 537 | 157.56.232.0/21 permit 538 | 157.56.237.242 permit 539 | 157.56.240.0/20 permit 540 | 157.56.240.0/20 permit 541 | 157.56.242.98 permit 542 | 157.56.248.0/21 permit 543 | 157.56.248.0/21 permit 544 | 165.254.168.66/31 permit 545 | 165.254.168.68/31 permit 546 | 165.254.168.70/31 permit 547 | 165.254.168.72/31 permit 548 | 166.78.68.0/22 permit 549 | 166.78.68.0/22 permit 550 | 166.78.68.221 permit 551 | 166.78.69.146 permit 552 | 167.89.0.0/17 permit 553 | 167.89.0.0/17 permit 554 | 167.89.0.0/17 permit 555 | 167.89.0.0/17 permit 556 | 167.89.25.84 permit 557 | 167.89.32.5 permit 558 | 167.89.32.50 permit 559 | 167.89.46.159 permit 560 | 167.89.46.185 permit 561 | 167.89.64.9 permit 562 | 167.89.65.0 permit 563 | 167.89.65.53 permit 564 | 167.89.65.100 permit 565 | 167.220.67.238 permit 566 | 173.193.132.0/23 permit 567 | 173.193.132.0/23 permit 568 | 173.193.132.0/23 permit 569 | 173.193.132.0/23 permit 570 | 173.193.210.32/27 permit 571 | 173.193.210.32/27 permit 572 | 173.194.0.0/16 permit 573 | 173.194.0.0/16 permit 574 | 173.194.0.0/16 permit 575 | 173.194.0.0/16 permit 576 | 173.194.0.0/16 permit 577 | 173.194.0.0/16 permit 578 | 173.194.0.0/16 permit 579 | 173.194.0.0/16 permit 580 | 173.194.0.0/16 permit 581 | 173.194.0.0/16 permit 582 | 173.194.205.27 permit 583 | 173.203.79.182 permit 584 | 173.203.81.39 permit 585 | 173.228.155.0/24 permit 586 | 174.36.80.208/28 permit 587 | 174.36.80.208/28 permit 588 | 174.36.80.208/28 permit 589 | 174.36.80.208/28 permit 590 | 174.36.84.8/29 permit 591 | 174.36.84.16/29 permit 592 | 174.36.84.32/29 permit 593 | 174.36.84.144/29 permit 594 | 174.36.84.240/29 permit 595 | 174.36.85.248/30 permit 596 | 174.36.92.96/27 permit 597 | 174.36.92.96/27 permit 598 | 174.36.92.96/27 permit 599 | 174.36.92.96/27 permit 600 | 174.36.114.128/30 permit 601 | 174.36.114.140/30 permit 602 | 174.36.114.148/30 permit 603 | 174.36.114.152/29 permit 604 | 174.37.67.28/30 permit 605 | 174.37.226.64/27 permit 606 | 174.37.226.64/27 permit 607 | 174.129.194.241 permit 608 | 174.137.46.0/24 permit 609 | 174.137.46.0/24 permit 610 | 174.137.46.0/24 permit 611 | 174.137.46.0/24 permit 612 | 178.249.98.16/29 permit 613 | 178.249.202.16/29 permit 614 | 182.50.76.0/22 permit 615 | 182.50.78.64/28 permit 616 | 182.50.78.64/28 permit 617 | 182.50.78.64/28 permit 618 | 182.50.78.64/28 permit 619 | 184.173.105.0/24 permit 620 | 184.173.105.0/24 permit 621 | 184.173.153.0/24 permit 622 | 184.173.153.0/24 permit 623 | 185.4.120.0/24 permit 624 | 185.4.122.0/24 permit 625 | 185.12.80.0/22 permit 626 | 185.12.80.0/22 permit 627 | 185.12.80.0/22 permit 628 | 185.12.80.0/22 permit 629 | 185.28.196.0/22 permit 630 | 188.172.128.0/20 permit 631 | 188.172.128.0/20 permit 632 | 188.172.128.0/20 permit 633 | 188.172.128.0/20 permit 634 | 191.239.213.197 permit 635 | 192.28.128.0/18 permit 636 | 192.64.236.0/24 permit 637 | 192.64.237.0/24 permit 638 | 192.64.238.0/24 permit 639 | 192.161.144.0/20 permit 640 | 192.161.144.0/20 permit 641 | 192.161.144.0/20 permit 642 | 192.161.144.0/20 permit 643 | 192.230.81.86 permit 644 | 192.237.158.0/23 permit 645 | 192.237.158.0/23 permit 646 | 192.237.159.42 permit 647 | 192.237.159.43 permit 648 | 192.254.112.0/20 permit 649 | 192.254.112.0/20 permit 650 | 192.254.112.0/20 permit 651 | 192.254.112.0/20 permit 652 | 192.254.112.0/20 permit 653 | 192.254.115.72 permit 654 | 193.28.178.0/25 permit 655 | 194.64.234.128/27 permit 656 | 195.54.172.0/23 permit 657 | 195.130.217.0/24 permit 658 | 198.2.128.0/18 permit 659 | 198.2.128.0/24 permit 660 | 198.2.132.0/22 permit 661 | 198.2.136.0/23 permit 662 | 198.2.177.0/24 permit 663 | 198.2.178.0/24 permit 664 | 198.2.179.0/24 permit 665 | 198.2.180.0/24 permit 666 | 198.2.186.0/23 permit 667 | 198.21.0.0/21 permit 668 | 198.21.0.0/21 permit 669 | 198.21.0.0/21 permit 670 | 198.21.0.0/21 permit 671 | 198.21.0.0/21 permit 672 | 198.21.3.166 permit 673 | 198.21.4.224 permit 674 | 198.37.144.0/20 permit 675 | 198.37.144.0/20 permit 676 | 198.37.144.0/20 permit 677 | 198.37.144.0/20 permit 678 | 198.37.144.0/20 permit 679 | 198.37.145.250 permit 680 | 198.37.149.128 permit 681 | 198.41.208.137 permit 682 | 198.41.208.138 permit 683 | 198.41.208.139 permit 684 | 198.41.208.140 permit 685 | 198.41.208.141 permit 686 | 198.41.208.142 permit 687 | 198.41.208.143 permit 688 | 198.41.209.136 permit 689 | 198.41.209.137 permit 690 | 198.41.209.138 permit 691 | 198.41.209.139 permit 692 | 198.41.209.140 permit 693 | 198.41.209.141 permit 694 | 198.41.209.142 permit 695 | 198.41.209.143 permit 696 | 198.61.254.0/23 permit 697 | 198.61.254.0/23 permit 698 | 198.245.80.0/20 permit 699 | 199.15.212.0/22 permit 700 | 199.15.214.169/32 permit 701 | 199.16.156.0/22 permit 702 | 199.59.148.0/22 permit 703 | 199.83.132.86 permit 704 | 199.101.161.130 permit 705 | 199.101.162.0/25 permit 706 | 199.122.120.0/21 permit 707 | 199.127.232.0/22 permit 708 | 199.187.117.209 permit 709 | 199.187.117.233 permit 710 | 199.187.117.234/31 permit 711 | 199.187.117.236/31 permit 712 | 199.187.118.201 permit 713 | 199.187.118.202/31 permit 714 | 199.187.118.204 permit 715 | 199.187.118.209 permit 716 | 199.255.192.0/22 permit 717 | 202.129.242.0/23 permit 718 | 202.177.148.100 permit 719 | 202.177.148.110 permit 720 | 203.32.4.25 permit 721 | 203.122.32.250 permit 722 | 204.13.11.48/30 permit 723 | 204.14.232.0/21 permit 724 | 204.14.232.64/28 permit 725 | 204.14.232.64/28 permit 726 | 204.14.232.64/28 permit 727 | 204.14.232.64/28 permit 728 | 204.14.232.64/28 permit 729 | 204.14.234.64/28 permit 730 | 204.14.234.64/28 permit 731 | 204.14.234.64/28 permit 732 | 204.14.234.64/28 permit 733 | 204.14.234.64/28 permit 734 | 204.14.238.0/27 permit 735 | 204.14.238.0/27 permit 736 | 204.14.238.0/27 permit 737 | 204.92.114.203 permit 738 | 204.92.114.204/31 permit 739 | 204.153.121.0/24 permit 740 | 205.139.110.0/23 permit 741 | 205.201.128.0/20 permit 742 | 205.201.131.128/25 permit 743 | 205.201.132.14 permit 744 | 205.201.134.128/25 permit 745 | 205.201.136.0/23 permit 746 | 205.201.137.229 permit 747 | 205.201.139.0/24 permit 748 | 205.201.140.14 permit 749 | 205.207.104.0/22 permit 750 | 205.217.25.132 permit 751 | 205.217.25.135 permit 752 | 206.165.246.80/29 permit 753 | 206.191.224.0/19 permit 754 | 206.246.157.1 permit 755 | 207.46.4.128/25 permit 756 | 207.46.4.128/25 permit 757 | 207.46.22.35 permit 758 | 207.46.22.98 permit 759 | 207.46.22.101 permit 760 | 207.46.50.72 permit 761 | 207.46.50.82 permit 762 | 207.46.50.192/26 permit 763 | 207.46.50.192/26 permit 764 | 207.46.50.192/26 permit 765 | 207.46.50.224 permit 766 | 207.46.50.224 permit 767 | 207.46.51.64/26 permit 768 | 207.46.51.64/26 permit 769 | 207.46.51.64/26 permit 770 | 207.46.52.71 permit 771 | 207.46.52.79 permit 772 | 207.46.58.128/25 permit 773 | 207.46.58.128/25 permit 774 | 207.46.100.0/24 permit 775 | 207.46.100.0/24 permit 776 | 207.46.100.0/24 permit 777 | 207.46.101.128/26 permit 778 | 207.46.101.128/26 permit 779 | 207.46.101.128/26 permit 780 | 207.46.108.0/25 permit 781 | 207.46.108.0/25 permit 782 | 207.46.108.0/25 permit 783 | 207.46.116.128/29 permit 784 | 207.46.116.128/29 permit 785 | 207.46.117.0/24 permit 786 | 207.46.117.0/24 permit 787 | 207.46.117.0/24 permit 788 | 207.46.132.128/27 permit 789 | 207.46.132.128/27 permit 790 | 207.46.163.0/24 permit 791 | 207.46.163.0/24 permit 792 | 207.46.163.0/24 permit 793 | 207.46.198.0/25 permit 794 | 207.46.198.0/25 permit 795 | 207.46.200.0/27 permit 796 | 207.46.200.0/27 permit 797 | 207.46.200.0/27 permit 798 | 207.67.38.0/24 permit 799 | 207.67.98.192/27 permit 800 | 207.68.176.0/26 permit 801 | 207.68.176.0/26 permit 802 | 207.68.176.96/27 permit 803 | 207.68.176.96/27 permit 804 | 207.82.80.0/24 permit 805 | 207.126.144.0/20 permit 806 | 207.126.144.0/20 permit 807 | 207.126.144.0/20 permit 808 | 207.126.144.0/20 permit 809 | 207.126.144.0/20 permit 810 | 207.126.144.0/20 permit 811 | 207.126.144.0/20 permit 812 | 207.126.144.0/20 permit 813 | 207.126.144.0/20 permit 814 | 207.126.144.0/20 permit 815 | 207.211.30.0/24 permit 816 | 207.211.31.0/25 permit 817 | 207.211.41.113 permit 818 | 207.250.68.0/24 permit 819 | 208.43.21.28/30 permit 820 | 208.43.21.64/29 permit 821 | 208.43.21.72/30 permit 822 | 208.43.239.136/30 permit 823 | 208.43.239.136/30 permit 824 | 208.66.139.0/25 permit 825 | 208.74.204.0/22 permit 826 | 208.75.120.0/22 permit 827 | 208.75.120.0/22 permit 828 | 208.75.122.246 permit 829 | 208.82.236.96/28 permit 830 | 208.82.237.96/28 permit 831 | 208.82.238.96/28 permit 832 | 208.89.13.233 permit 833 | 208.89.13.234/31 permit 834 | 208.89.13.236/31 permit 835 | 208.89.14.201 permit 836 | 208.89.14.202/31 permit 837 | 208.89.14.204 permit 838 | 208.89.14.209 permit 839 | 208.115.214.0/24 permit 840 | 208.115.214.0/24 permit 841 | 208.115.214.0/24 permit 842 | 208.115.214.0/24 permit 843 | 208.115.235.0/24 permit 844 | 208.115.235.0/24 permit 845 | 208.115.235.0/24 permit 846 | 208.115.235.0/24 permit 847 | 208.115.239.0/24 permit 848 | 208.115.239.0/24 permit 849 | 208.115.239.0/24 permit 850 | 208.115.239.0/24 permit 851 | 208.117.48.0/20 permit 852 | 208.117.48.0/20 permit 853 | 208.117.48.0/20 permit 854 | 208.117.48.0/20 permit 855 | 208.117.48.0/20 permit 856 | 209.43.22.0/28 permit 857 | 209.61.151.0/24 permit 858 | 209.61.151.0/24 permit 859 | 209.67.98.59 permit 860 | 209.85.128.0/17 permit 861 | 209.85.128.0/17 permit 862 | 209.85.128.0/17 permit 863 | 209.85.128.0/17 permit 864 | 209.85.128.0/17 permit 865 | 209.85.128.0/17 permit 866 | 209.85.128.0/17 permit 867 | 209.85.128.0/17 permit 868 | 209.85.128.0/17 permit 869 | 209.85.128.0/17 permit 870 | 212.4.136.0/26 permit 871 | 212.227.15.0/24 permit 872 | 212.227.15.0/24 permit 873 | 212.227.17.0/27 permit 874 | 212.227.17.0/27 permit 875 | 212.227.126.128/25 permit 876 | 212.227.126.128/25 permit 877 | 213.165.64.0/23 permit 878 | 213.165.64.0/23 permit 879 | 213.167.75.0/24 permit 880 | 213.167.81.0/24 permit 881 | 213.199.128.139 permit 882 | 213.199.128.145 permit 883 | 213.199.138.181 permit 884 | 213.199.138.191 permit 885 | 213.199.154.0/24 permit 886 | 213.199.154.0/24 permit 887 | 213.199.154.0/24 permit 888 | 213.199.161.128/27 permit 889 | 213.199.161.128/27 permit 890 | 213.199.177.0/26 permit 891 | 213.199.177.0/26 permit 892 | 213.199.180.0/24 permit 893 | 213.199.180.0/24 permit 894 | 213.199.180.0/24 permit 895 | 216.32.180.0/23 permit 896 | 216.32.180.0/23 permit 897 | 216.32.180.0/23 permit 898 | 216.52.242.16 permit 899 | 216.58.192.0/19 permit 900 | 216.58.192.0/19 permit 901 | 216.58.192.0/19 permit 902 | 216.58.192.0/19 permit 903 | 216.58.192.0/19 permit 904 | 216.58.192.0/19 permit 905 | 216.58.192.0/19 permit 906 | 216.58.192.0/19 permit 907 | 216.58.192.0/19 permit 908 | 216.99.5.67 permit 909 | 216.99.5.68 permit 910 | 216.113.160.0/24 permit 911 | 216.113.172.0/25 permit 912 | 216.113.175.0/24 permit 913 | 216.136.162.65 permit 914 | 216.198.0.0/18 permit 915 | 216.198.0.0/18 permit 916 | 216.198.0.0/18 permit 917 | 216.198.0.0/18 permit 918 | 216.203.30.55 permit 919 | 216.203.33.178/31 permit 920 | 216.205.24.0/24 permit 921 | 216.229.156.0/25 permit 922 | 216.239.32.0/19 permit 923 | 216.239.32.0/19 permit 924 | 216.239.32.0/19 permit 925 | 216.239.32.0/19 permit 926 | 216.239.32.0/19 permit 927 | 216.239.32.0/19 permit 928 | 216.239.32.0/19 permit 929 | 216.239.32.0/19 permit 930 | 216.239.32.0/19 permit 931 | 216.239.32.0/19 permit 932 | 217.72.207.0/27 permit 933 | 217.72.207.0/27 permit 934 | 217.77.141.52 permit 935 | 217.77.141.59 permit 936 | 217.175.193.0/24 permit 937 | 217.175.194.0/24 permit 938 | 217.175.195.0/24 permit 939 | 217.175.196.0/24 permit 940 | 2001:4860:4000::/36 permit 941 | 2001:4860:4000::/36 permit 942 | 2001:4860:4000::/36 permit 943 | 2001:4860:4000::/36 permit 944 | 2001:4860:4000::/36 permit 945 | 2001:4860:4000::/36 permit 946 | 2001:4860:4000::/36 permit 947 | 2001:4860:4000::/36 permit 948 | 2001:4860:4000::/36 permit 949 | 2001:4860:4000::/36 permit 950 | 2404:6800:4000::/36 permit 951 | 2404:6800:4000::/36 permit 952 | 2404:6800:4000::/36 permit 953 | 2404:6800:4000::/36 permit 954 | 2404:6800:4000::/36 permit 955 | 2404:6800:4000::/36 permit 956 | 2404:6800:4000::/36 permit 957 | 2404:6800:4000::/36 permit 958 | 2404:6800:4000::/36 permit 959 | 2404:6800:4000::/36 permit 960 | 2607:f8b0:400d:c02::1a permit 961 | 2607:f8b0:4000::/36 permit 962 | 2607:f8b0:4000::/36 permit 963 | 2607:f8b0:4000::/36 permit 964 | 2607:f8b0:4000::/36 permit 965 | 2607:f8b0:4000::/36 permit 966 | 2607:f8b0:4000::/36 permit 967 | 2607:f8b0:4000::/36 permit 968 | 2607:f8b0:4000::/36 permit 969 | 2607:f8b0:4000::/36 permit 970 | 2607:f8b0:4000::/36 permit 971 | 2620:109:c00d:104::/64 permit 972 | 2620:109:c003:104::/64 permit 973 | 2620:109:c006:104::/64 permit 974 | 2800:3f0:4000::/36 permit 975 | 2800:3f0:4000::/36 permit 976 | 2800:3f0:4000::/36 permit 977 | 2800:3f0:4000::/36 permit 978 | 2800:3f0:4000::/36 permit 979 | 2800:3f0:4000::/36 permit 980 | 2800:3f0:4000::/36 permit 981 | 2800:3f0:4000::/36 permit 982 | 2800:3f0:4000::/36 permit 983 | 2800:3f0:4000::/36 permit 984 | -------------------------------------------------------------------------------- /testdata/sorted-n.txt: -------------------------------------------------------------------------------- 1 | 2a00:1450:4000::/36 permit 2 | 2a00:1450:4000::/36 permit 3 | 2a00:1450:4000::/36 permit 4 | 2a00:1450:4000::/36 permit 5 | 2a00:1450:4000::/36 permit 6 | 2a00:1450:4000::/36 permit 7 | 2a00:1450:4000::/36 permit 8 | 2a00:1450:4000::/36 permit 9 | 2a00:1450:4000::/36 permit 10 | 2a00:1450:4000::/36 permit 11 | 2a01:111:f400::/48 permit 12 | 2a01:111:f400::/48 permit 13 | 2a01:111:f400::/48 permit 14 | 2a04:35c0::/29 permit 15 | 2c0f:fb50:4000::/36 permit 16 | 2c0f:fb50:4000::/36 permit 17 | 2c0f:fb50:4000::/36 permit 18 | 2c0f:fb50:4000::/36 permit 19 | 2c0f:fb50:4000::/36 permit 20 | 2c0f:fb50:4000::/36 permit 21 | 2c0f:fb50:4000::/36 permit 22 | 2c0f:fb50:4000::/36 permit 23 | 2c0f:fb50:4000::/36 permit 24 | 2c0f:fb50:4000::/36 permit 25 | 8.25.194.0/23 permit 26 | 8.25.196.0/23 permit 27 | 13.111.0.0/22 permit 28 | 17.110.0.0/15 permit 29 | 17.133.0.0/16 permit 30 | 17.142.0.0/15 permit 31 | 17.151.1.0/24 permit 32 | 17.158.0.0/15 permit 33 | 17.162.0.0/15 permit 34 | 17.164.0.0/16 permit 35 | 17.171.37.0/24 permit 36 | 17.172.0.0/16 permit 37 | 17.41.0.0/16 permit 38 | 23.100.122.175 permit 39 | 23.103.128.0/19 permit 40 | 23.103.128.0/19 permit 41 | 23.103.128.0/19 permit 42 | 23.103.191.0/24 permit 43 | 23.103.191.0/24 permit 44 | 23.103.191.0/24 permit 45 | 23.103.198.0/23 permit 46 | 23.103.198.0/23 permit 47 | 23.103.198.0/23 permit 48 | 23.103.200.0/21 permit 49 | 23.103.200.0/21 permit 50 | 23.103.200.0/21 permit 51 | 23.103.208.0/21 permit 52 | 23.103.208.0/21 permit 53 | 23.103.208.0/21 permit 54 | 23.103.224.0/19 permit 55 | 23.21.83.90 permit 56 | 23.23.237.213 permit 57 | 23.253.182.0/24 permit 58 | 23.253.182.0/24 permit 59 | 23.253.182.103 permit 60 | 23.253.183.0/24 permit 61 | 23.253.183.0/24 permit 62 | 23.96.52.53 permit 63 | 37.188.97.188/32 permit 64 | 41.74.192.0/22 permit 65 | 41.74.196.0/22 permit 66 | 41.74.200.0/22 permit 67 | 41.74.201.0/24 permit 68 | 41.74.204.0/22 permit 69 | 41.74.205.0/24 permit 70 | 46.19.168.0/23 permit 71 | 50.18.121.236 permit 72 | 50.18.121.248 permit 73 | 50.18.123.221 permit 74 | 50.18.124.70 permit 75 | 50.18.125.237 permit 76 | 50.18.125.97 permit 77 | 50.18.126.162 permit 78 | 50.18.45.249 permit 79 | 50.22.164.201 permit 80 | 50.23.218.192/27 permit 81 | 50.23.218.192/27 permit 82 | 50.31.156.96/27 permit 83 | 50.31.32.0/19 permit 84 | 50.31.32.0/19 permit 85 | 50.31.32.0/19 permit 86 | 50.31.32.0/19 permit 87 | 50.31.32.0/19 permit 88 | 50.31.36.197 permit 89 | 50.31.36.199 permit 90 | 50.31.36.205 permit 91 | 50.31.36.208 permit 92 | 50.31.36.213 permit 93 | 50.31.60.1 permit 94 | 52.0.20.102 permit 95 | 54.173.229.38 permit 96 | 54.240.0.0/18 permit 97 | 54.243.205.80 permit 98 | 62.17.146.128/26 permit 99 | 63.111.28.137 permit 100 | 63.128.21.0/24 permit 101 | 64.12.88.131 permit 102 | 64.12.88.132 permit 103 | 64.12.91.195 permit 104 | 64.127.115.252 permit 105 | 64.132.88.0/23 permit 106 | 64.132.92.0/24 permit 107 | 64.135.77.0/24 permit 108 | 64.135.83.0/24 permit 109 | 64.18.0.0/20 permit 110 | 64.18.0.0/20 permit 111 | 64.18.0.0/20 permit 112 | 64.18.0.0/20 permit 113 | 64.18.0.0/20 permit 114 | 64.18.0.0/20 permit 115 | 64.18.0.0/20 permit 116 | 64.18.0.0/20 permit 117 | 64.18.0.0/20 permit 118 | 64.18.0.0/20 permit 119 | 64.20.241.45 permit 120 | 64.233.160.0/19 permit 121 | 64.233.160.0/19 permit 122 | 64.233.160.0/19 permit 123 | 64.233.160.0/19 permit 124 | 64.233.160.0/19 permit 125 | 64.233.160.0/19 permit 126 | 64.233.160.0/19 permit 127 | 64.233.160.0/19 permit 128 | 64.233.160.0/19 permit 129 | 64.233.160.0/19 permit 130 | 64.34.47.128/27 permit 131 | 64.34.57.192/26 permit 132 | 64.4.22.64/26 permit 133 | 64.4.22.64/26 permit 134 | 64.4.22.64/26 permit 135 | 64.79.155.192 permit 136 | 65.110.161.77 permit 137 | 65.242.92.0/24 permit 138 | 65.39.215.0/24 permit 139 | 65.54.121.120/29 permit 140 | 65.54.121.120/29 permit 141 | 65.54.121.124/31 permit 142 | 65.54.190.0/24 permit 143 | 65.54.190.0/24 permit 144 | 65.54.190.0/24 permit 145 | 65.54.241.0/24 permit 146 | 65.54.241.0/24 permit 147 | 65.54.241.0/24 permit 148 | 65.54.51.64/26 permit 149 | 65.54.51.64/26 permit 150 | 65.54.51.64/26 permit 151 | 65.54.61.64/26 permit 152 | 65.54.61.64/26 permit 153 | 65.54.61.64/26 permit 154 | 65.55.111.0/24 permit 155 | 65.55.111.0/24 permit 156 | 65.55.111.0/24 permit 157 | 65.55.113.64/26 permit 158 | 65.55.113.64/26 permit 159 | 65.55.116.0/25 permit 160 | 65.55.116.0/25 permit 161 | 65.55.116.0/25 permit 162 | 65.55.126.0/25 permit 163 | 65.55.126.0/25 permit 164 | 65.55.169.0/24 permit 165 | 65.55.169.0/24 permit 166 | 65.55.169.0/24 permit 167 | 65.55.174.0/25 permit 168 | 65.55.174.0/25 permit 169 | 65.55.178.128/27 permit 170 | 65.55.178.128/27 permit 171 | 65.55.234.192/26 permit 172 | 65.55.234.192/26 permit 173 | 65.55.234.192/26 permit 174 | 65.55.33.64/28 permit 175 | 65.55.33.64/28 permit 176 | 65.55.34.0/24 permit 177 | 65.55.34.0/24 permit 178 | 65.55.34.0/24 permit 179 | 65.55.42.224/28 permit 180 | 65.55.52.224/27 permit 181 | 65.55.52.224/27 permit 182 | 65.55.52.224/27 permit 183 | 65.55.77.28 permit 184 | 65.55.78.128/25 permit 185 | 65.55.78.128/25 permit 186 | 65.55.81.48/28 permit 187 | 65.55.81.48/28 permit 188 | 65.55.81.54/31 permit 189 | 65.55.85.12 permit 190 | 65.55.88.0/24 permit 191 | 65.55.88.0/24 permit 192 | 65.55.88.0/24 permit 193 | 65.55.90.0/24 permit 194 | 65.55.90.0/24 permit 195 | 65.55.90.0/24 permit 196 | 65.55.94.0/25 permit 197 | 65.55.94.0/25 permit 198 | 66.102.0.0/20 permit 199 | 66.102.0.0/20 permit 200 | 66.102.0.0/20 permit 201 | 66.102.0.0/20 permit 202 | 66.102.0.0/20 permit 203 | 66.102.0.0/20 permit 204 | 66.102.0.0/20 permit 205 | 66.102.0.0/20 permit 206 | 66.102.0.0/20 permit 207 | 66.102.0.0/20 permit 208 | 66.135.213.241 permit 209 | 66.135.215.0/24 permit 210 | 66.211.161.0/25 permit 211 | 66.211.184.0/23 permit 212 | 66.220.144.128/25 permit 213 | 66.220.144.128/25 permit 214 | 66.220.155.128/25 permit 215 | 66.220.155.128/25 permit 216 | 66.220.157.0/25 permit 217 | 66.220.157.0/25 permit 218 | 66.231.80.0/20 permit 219 | 66.249.80.0/20 permit 220 | 66.249.80.0/20 permit 221 | 66.249.80.0/20 permit 222 | 66.249.80.0/20 permit 223 | 66.249.80.0/20 permit 224 | 66.249.80.0/20 permit 225 | 66.249.80.0/20 permit 226 | 66.249.80.0/20 permit 227 | 66.249.80.0/20 permit 228 | 66.249.80.0/20 permit 229 | 66.77.16.201/32 permit 230 | 67.228.21.184/29 permit 231 | 67.228.2.24/30 permit 232 | 67.228.37.4/30 permit 233 | 67.228.50.32/27 permit 234 | 67.228.50.32/27 permit 235 | 67.228.50.32/27 permit 236 | 67.228.50.32/27 permit 237 | 67.23.31.6 permit 238 | 67.231.145.42 permit 239 | 67.231.153.30 permit 240 | 67.72.99.26 permit 241 | 68.232.192.0/20 permit 242 | 69.162.98.0/24 permit 243 | 69.162.98.0/24 permit 244 | 69.162.98.0/24 permit 245 | 69.162.98.0/24 permit 246 | 69.162.98.0/24 permit 247 | 69.171.232.128/25 permit 248 | 69.171.232.128/25 permit 249 | 69.63.178.128/25 permit 250 | 69.63.178.128/25 permit 251 | 69.63.184.0/25 permit 252 | 69.63.184.0/25 permit 253 | 69.65.42.195 permit 254 | 69.65.49.192/29 permit 255 | 70.37.151.128/25 permit 256 | 70.37.151.128/25 permit 257 | 72.14.192.0/18 permit 258 | 72.14.192.0/18 permit 259 | 72.14.192.0/18 permit 260 | 72.14.192.0/18 permit 261 | 72.14.192.0/18 permit 262 | 72.14.192.0/18 permit 263 | 72.14.192.0/18 permit 264 | 72.14.192.0/18 permit 265 | 72.14.192.0/18 permit 266 | 72.14.192.0/18 permit 267 | 72.249.147.250/32 permit 268 | 72.3.185.0/24 permit 269 | 72.3.237.64/28 permit 270 | 72.32.154.0/24 permit 271 | 72.32.217.0/24 permit 272 | 72.32.243.0/24 permit 273 | 72.5.230.111/32 permit 274 | 74.112.170.21/32 permit 275 | 74.125.0.0/16 permit 276 | 74.125.0.0/16 permit 277 | 74.125.0.0/16 permit 278 | 74.125.0.0/16 permit 279 | 74.125.0.0/16 permit 280 | 74.125.0.0/16 permit 281 | 74.125.0.0/16 permit 282 | 74.125.0.0/16 permit 283 | 74.125.0.0/16 permit 284 | 74.125.0.0/16 permit 285 | 74.201.152.59/32 permit 286 | 74.201.154.0/24 permit 287 | 74.201.155.25/32 permit 288 | 74.201.155.26/32 permit 289 | 74.201.155.27/32 permit 290 | 74.201.155.28/32 permit 291 | 74.201.155.79/32 permit 292 | 74.201.84.0/24 permit 293 | 74.202.227.52/32 permit 294 | 74.208.122.0/26 permit 295 | 74.208.122.0/26 permit 296 | 74.208.4.192/26 permit 297 | 74.208.4.192/26 permit 298 | 74.208.5.64/26 permit 299 | 74.208.5.64/26 permit 300 | 74.63.194.0/24 permit 301 | 74.63.194.0/24 permit 302 | 74.63.194.0/24 permit 303 | 74.63.194.0/24 permit 304 | 74.63.202.0/24 permit 305 | 74.63.202.0/24 permit 306 | 74.63.202.0/24 permit 307 | 74.63.202.0/24 permit 308 | 74.63.202.100 permit 309 | 74.63.231.0/24 permit 310 | 74.63.231.0/24 permit 311 | 74.63.231.0/24 permit 312 | 74.63.231.0/24 permit 313 | 74.63.234.0/24 permit 314 | 74.63.234.0/24 permit 315 | 74.63.234.0/24 permit 316 | 74.63.234.0/24 permit 317 | 74.63.234.75 permit 318 | 74.63.235.0/24 permit 319 | 74.63.235.0/24 permit 320 | 74.63.235.0/24 permit 321 | 74.63.235.0/24 permit 322 | 74.63.236.0/24 permit 323 | 74.63.236.0/24 permit 324 | 74.63.236.0/24 permit 325 | 74.63.236.0/24 permit 326 | 74.63.236.0/24 permit 327 | 74.63.247.0/24 permit 328 | 74.63.247.0/24 permit 329 | 74.63.247.0/24 permit 330 | 74.63.247.0/24 permit 331 | 74.63.63.115 permit 332 | 74.63.63.121 permit 333 | 74.86.113.28/30 permit 334 | 74.86.129.240/30 permit 335 | 74.86.131.208/30 permit 336 | 74.86.132.208/30 permit 337 | 74.86.160.160/30 permit 338 | 74.86.164.188/30 permit 339 | 74.86.171.192/30 permit 340 | 74.86.195.28/30 permit 341 | 74.86.207.36/30 permit 342 | 74.86.226.216/30 permit 343 | 74.86.236.240/30 permit 344 | 74.86.241.250/31 permit 345 | 75.126.200.128/27 permit 346 | 75.126.200.128/27 permit 347 | 75.126.200.128/27 permit 348 | 75.126.200.128/27 permit 349 | 75.126.253.0/24 permit 350 | 75.126.253.0/24 permit 351 | 75.126.253.0/24 permit 352 | 75.126.253.0/24 permit 353 | 75.126.253.48 permit 354 | 81.223.46.0/27 permit 355 | 82.165.159.0/24 permit 356 | 82.165.159.0/24 permit 357 | 85.222.130.224/28 permit 358 | 85.222.130.224/28 permit 359 | 85.222.130.224/28 permit 360 | 86.61.88.25 permit 361 | 91.194.248.0/23 permit 362 | 91.211.240.0/24 permit 363 | 91.211.242.0/24 permit 364 | 91.211.243.0/24 permit 365 | 91.220.42.0/24 permit 366 | 94.236.119.0/26 permit 367 | 94.245.112.0/27 permit 368 | 94.245.112.0/27 permit 369 | 94.245.112.0/27 permit 370 | 94.245.112.10/31 permit 371 | 94.245.112.10/31 permit 372 | 96.43.144.0/20 permit 373 | 96.43.144.64/28 permit 374 | 96.43.144.64/28 permit 375 | 96.43.144.64/28 permit 376 | 96.43.144.64/31 permit 377 | 96.43.147.64/28 permit 378 | 96.43.147.64/28 permit 379 | 96.43.147.64/28 permit 380 | 96.43.148.64/28 permit 381 | 96.43.148.64/28 permit 382 | 96.43.148.64/28 permit 383 | 96.43.148.64/31 permit 384 | 96.43.151.64/28 permit 385 | 96.43.151.64/28 permit 386 | 96.43.151.64/28 permit 387 | 96.43.152.64/27 permit 388 | 96.43.152.64/27 permit 389 | 96.43.152.64/27 permit 390 | 96.43.153.64/27 permit 391 | 96.43.153.64/27 permit 392 | 96.43.153.64/27 permit 393 | 96.46.150.192/27 permit 394 | 96.46.150.192/27 permit 395 | 96.46.150.192/27 permit 396 | 96.46.150.192/27 permit 397 | 103.13.69.0/24 permit 398 | 103.237.104.0/22 permit 399 | 104.130.122.0/23 permit 400 | 104.130.122.0/23 permit 401 | 104.130.96.0/28 permit 402 | 104.130.96.0/28 permit 403 | 104.40.211.35 permit 404 | 104.43.195.251 permit 405 | 104.47.0.0/17 permit 406 | 104.47.0.0/17 permit 407 | 104.47.0.0/17 permit 408 | 107.0.11.224/27 permit 409 | 108.174.3.0/24 permit 410 | 108.174.6.0/24 permit 411 | 108.177.8.0/21 permit 412 | 108.177.8.0/21 permit 413 | 108.177.8.0/21 permit 414 | 108.177.8.0/21 permit 415 | 108.177.8.0/21 permit 416 | 108.177.8.0/21 permit 417 | 108.177.8.0/21 permit 418 | 108.177.8.0/21 permit 419 | 108.177.8.0/21 permit 420 | 111.221.112.0/21 permit 421 | 111.221.112.0/21 permit 422 | 111.221.23.128/25 permit 423 | 111.221.23.128/25 permit 424 | 111.221.26.0/27 permit 425 | 111.221.26.0/27 permit 426 | 111.221.26.0/27 permit 427 | 111.221.66.0/25 permit 428 | 111.221.66.0/25 permit 429 | 111.221.69.128/25 permit 430 | 111.221.69.128/25 permit 431 | 124.47.150.0/24 permit 432 | 124.47.189.0/24 permit 433 | 129.41.169.249 permit 434 | 131.107.0.0/16 permit 435 | 131.107.1.18 permit 436 | 131.107.1.19 permit 437 | 131.107.1.20 permit 438 | 131.107.1.37 permit 439 | 131.107.1.44 permit 440 | 131.107.1.48 permit 441 | 131.107.1.56 permit 442 | 131.253.30.0/24 permit 443 | 132.245.113.194 permit 444 | 132.245.13.210 permit 445 | 132.245.17.34 permit 446 | 132.245.21.82 permit 447 | 132.245.23.242 permit 448 | 132.245.81.130 permit 449 | 132.245.92.194 permit 450 | 134.170.113.0/26 permit 451 | 134.170.132.0/24 permit 452 | 134.170.132.0/24 permit 453 | 134.170.132.0/24 permit 454 | 134.170.140.0/24 permit 455 | 134.170.140.0/24 permit 456 | 134.170.140.0/24 permit 457 | 134.170.141.64/26 permit 458 | 134.170.143.0/24 permit 459 | 134.170.174.0/24 permit 460 | 136.146.128.64/27 permit 461 | 136.146.128.64/27 permit 462 | 136.146.128.64/27 permit 463 | 136.146.208.16/28 permit 464 | 136.146.208.16/28 permit 465 | 136.146.208.16/28 permit 466 | 136.146.210.16/28 permit 467 | 136.146.210.16/28 permit 468 | 136.146.210.16/28 permit 469 | 136.147.128.0/20 permit 470 | 136.147.176.0/20 permit 471 | 136.147.46.192/26 permit 472 | 136.147.46.192/26 permit 473 | 136.147.46.192/26 permit 474 | 136.147.62.192/26 permit 475 | 136.147.62.192/26 permit 476 | 136.147.62.192/26 permit 477 | 146.101.78.0/24 permit 478 | 147.243.1.153 permit 479 | 147.243.128.24 permit 480 | 147.243.128.26 permit 481 | 147.243.1.47 permit 482 | 147.243.1.48 permit 483 | 152.163.0.67 permit 484 | 152.163.0.68 permit 485 | 152.163.0.99 permit 486 | 157.55.0.192/26 permit 487 | 157.55.0.192/26 permit 488 | 157.55.0.192/26 permit 489 | 157.55.11.0/25 permit 490 | 157.55.11.0/25 permit 491 | 157.55.1.128/26 permit 492 | 157.55.1.128/26 permit 493 | 157.55.1.128/26 permit 494 | 157.55.133.0/25 permit 495 | 157.55.133.0/25 permit 496 | 157.55.133.0/25 permit 497 | 157.55.152.112 permit 498 | 157.55.157.128/25 permit 499 | 157.55.157.128/25 permit 500 | 157.55.158.0/23 permit 501 | 157.55.158.0/23 permit 502 | 157.55.158.0/23 permit 503 | 157.55.2.0/25 permit 504 | 157.55.2.0/25 permit 505 | 157.55.2.0/25 permit 506 | 157.55.225.0/25 permit 507 | 157.55.225.0/25 permit 508 | 157.55.234.0/24 permit 509 | 157.55.234.0/24 permit 510 | 157.55.234.0/24 permit 511 | 157.55.49.0/25 permit 512 | 157.55.49.0/25 permit 513 | 157.55.61.0/24 permit 514 | 157.55.61.0/24 permit 515 | 157.55.9.128/25 permit 516 | 157.55.9.128/25 permit 517 | 157.56.110.0/23 permit 518 | 157.56.110.0/23 permit 519 | 157.56.110.0/23 permit 520 | 157.56.112.0/24 permit 521 | 157.56.112.0/24 permit 522 | 157.56.112.0/24 permit 523 | 157.56.116.0/25 permit 524 | 157.56.116.0/25 permit 525 | 157.56.116.0/25 permit 526 | 157.56.120.0/25 permit 527 | 157.56.120.0/25 permit 528 | 157.56.120.0/25 permit 529 | 157.56.120.128/26 permit 530 | 157.56.172.28 permit 531 | 157.56.232.0/21 permit 532 | 157.56.232.0/21 permit 533 | 157.56.237.242 permit 534 | 157.56.240.0/20 permit 535 | 157.56.240.0/20 permit 536 | 157.56.24.0/25 permit 537 | 157.56.24.0/25 permit 538 | 157.56.242.98 permit 539 | 157.56.248.0/21 permit 540 | 157.56.248.0/21 permit 541 | 157.56.87.192/26 permit 542 | 157.56.87.192/26 permit 543 | 157.56.87.192/26 permit 544 | 165.254.168.66/31 permit 545 | 165.254.168.68/31 permit 546 | 165.254.168.70/31 permit 547 | 165.254.168.72/31 permit 548 | 166.78.68.0/22 permit 549 | 166.78.68.0/22 permit 550 | 166.78.68.221 permit 551 | 166.78.69.146 permit 552 | 167.220.67.238 permit 553 | 167.89.0.0/17 permit 554 | 167.89.0.0/17 permit 555 | 167.89.0.0/17 permit 556 | 167.89.0.0/17 permit 557 | 167.89.25.84 permit 558 | 167.89.32.50 permit 559 | 167.89.32.5 permit 560 | 167.89.46.159 permit 561 | 167.89.46.185 permit 562 | 167.89.64.9 permit 563 | 167.89.65.0 permit 564 | 167.89.65.100 permit 565 | 167.89.65.53 permit 566 | 173.193.132.0/23 permit 567 | 173.193.132.0/23 permit 568 | 173.193.132.0/23 permit 569 | 173.193.132.0/23 permit 570 | 173.193.210.32/27 permit 571 | 173.193.210.32/27 permit 572 | 173.194.0.0/16 permit 573 | 173.194.0.0/16 permit 574 | 173.194.0.0/16 permit 575 | 173.194.0.0/16 permit 576 | 173.194.0.0/16 permit 577 | 173.194.0.0/16 permit 578 | 173.194.0.0/16 permit 579 | 173.194.0.0/16 permit 580 | 173.194.0.0/16 permit 581 | 173.194.0.0/16 permit 582 | 173.194.205.27 permit 583 | 173.203.79.182 permit 584 | 173.203.81.39 permit 585 | 173.228.155.0/24 permit 586 | 174.129.194.241 permit 587 | 174.137.46.0/24 permit 588 | 174.137.46.0/24 permit 589 | 174.137.46.0/24 permit 590 | 174.137.46.0/24 permit 591 | 174.36.114.128/30 permit 592 | 174.36.114.140/30 permit 593 | 174.36.114.148/30 permit 594 | 174.36.114.152/29 permit 595 | 174.36.80.208/28 permit 596 | 174.36.80.208/28 permit 597 | 174.36.80.208/28 permit 598 | 174.36.80.208/28 permit 599 | 174.36.84.144/29 permit 600 | 174.36.84.16/29 permit 601 | 174.36.84.240/29 permit 602 | 174.36.84.32/29 permit 603 | 174.36.84.8/29 permit 604 | 174.36.85.248/30 permit 605 | 174.36.92.96/27 permit 606 | 174.36.92.96/27 permit 607 | 174.36.92.96/27 permit 608 | 174.36.92.96/27 permit 609 | 174.37.226.64/27 permit 610 | 174.37.226.64/27 permit 611 | 174.37.67.28/30 permit 612 | 178.249.202.16/29 permit 613 | 178.249.98.16/29 permit 614 | 182.50.76.0/22 permit 615 | 182.50.78.64/28 permit 616 | 182.50.78.64/28 permit 617 | 182.50.78.64/28 permit 618 | 182.50.78.64/28 permit 619 | 184.173.105.0/24 permit 620 | 184.173.105.0/24 permit 621 | 184.173.153.0/24 permit 622 | 184.173.153.0/24 permit 623 | 185.12.80.0/22 permit 624 | 185.12.80.0/22 permit 625 | 185.12.80.0/22 permit 626 | 185.12.80.0/22 permit 627 | 185.28.196.0/22 permit 628 | 185.4.120.0/24 permit 629 | 185.4.122.0/24 permit 630 | 188.172.128.0/20 permit 631 | 188.172.128.0/20 permit 632 | 188.172.128.0/20 permit 633 | 188.172.128.0/20 permit 634 | 191.239.213.197 permit 635 | 192.161.144.0/20 permit 636 | 192.161.144.0/20 permit 637 | 192.161.144.0/20 permit 638 | 192.161.144.0/20 permit 639 | 192.230.81.86 permit 640 | 192.237.158.0/23 permit 641 | 192.237.158.0/23 permit 642 | 192.237.159.42 permit 643 | 192.237.159.43 permit 644 | 192.254.112.0/20 permit 645 | 192.254.112.0/20 permit 646 | 192.254.112.0/20 permit 647 | 192.254.112.0/20 permit 648 | 192.254.112.0/20 permit 649 | 192.254.115.72 permit 650 | 192.28.128.0/18 permit 651 | 192.64.236.0/24 permit 652 | 192.64.237.0/24 permit 653 | 192.64.238.0/24 permit 654 | 193.28.178.0/25 permit 655 | 194.64.234.128/27 permit 656 | 195.130.217.0/24 permit 657 | 195.54.172.0/23 permit 658 | 198.2.128.0/18 permit 659 | 198.2.128.0/24 permit 660 | 198.2.132.0/22 permit 661 | 198.2.136.0/23 permit 662 | 198.2.177.0/24 permit 663 | 198.2.178.0/24 permit 664 | 198.2.179.0/24 permit 665 | 198.2.180.0/24 permit 666 | 198.2.186.0/23 permit 667 | 198.21.0.0/21 permit 668 | 198.21.0.0/21 permit 669 | 198.21.0.0/21 permit 670 | 198.21.0.0/21 permit 671 | 198.21.0.0/21 permit 672 | 198.21.3.166 permit 673 | 198.21.4.224 permit 674 | 198.245.80.0/20 permit 675 | 198.37.144.0/20 permit 676 | 198.37.144.0/20 permit 677 | 198.37.144.0/20 permit 678 | 198.37.144.0/20 permit 679 | 198.37.144.0/20 permit 680 | 198.37.145.250 permit 681 | 198.37.149.128 permit 682 | 198.41.208.137 permit 683 | 198.41.208.138 permit 684 | 198.41.208.139 permit 685 | 198.41.208.140 permit 686 | 198.41.208.141 permit 687 | 198.41.208.142 permit 688 | 198.41.208.143 permit 689 | 198.41.209.136 permit 690 | 198.41.209.137 permit 691 | 198.41.209.138 permit 692 | 198.41.209.139 permit 693 | 198.41.209.140 permit 694 | 198.41.209.141 permit 695 | 198.41.209.142 permit 696 | 198.41.209.143 permit 697 | 198.61.254.0/23 permit 698 | 198.61.254.0/23 permit 699 | 199.101.161.130 permit 700 | 199.101.162.0/25 permit 701 | 199.122.120.0/21 permit 702 | 199.127.232.0/22 permit 703 | 199.15.212.0/22 permit 704 | 199.15.214.169/32 permit 705 | 199.16.156.0/22 permit 706 | 199.187.117.209 permit 707 | 199.187.117.233 permit 708 | 199.187.117.234/31 permit 709 | 199.187.117.236/31 permit 710 | 199.187.118.201 permit 711 | 199.187.118.202/31 permit 712 | 199.187.118.204 permit 713 | 199.187.118.209 permit 714 | 199.255.192.0/22 permit 715 | 199.59.148.0/22 permit 716 | 199.83.132.86 permit 717 | 202.129.242.0/23 permit 718 | 202.177.148.100 permit 719 | 202.177.148.110 permit 720 | 203.122.32.250 permit 721 | 203.32.4.25 permit 722 | 204.13.11.48/30 permit 723 | 204.14.232.0/21 permit 724 | 204.14.232.64/28 permit 725 | 204.14.232.64/28 permit 726 | 204.14.232.64/28 permit 727 | 204.14.232.64/28 permit 728 | 204.14.232.64/28 permit 729 | 204.14.234.64/28 permit 730 | 204.14.234.64/28 permit 731 | 204.14.234.64/28 permit 732 | 204.14.234.64/28 permit 733 | 204.14.234.64/28 permit 734 | 204.14.238.0/27 permit 735 | 204.14.238.0/27 permit 736 | 204.14.238.0/27 permit 737 | 204.153.121.0/24 permit 738 | 204.92.114.203 permit 739 | 204.92.114.204/31 permit 740 | 205.139.110.0/23 permit 741 | 205.201.128.0/20 permit 742 | 205.201.131.128/25 permit 743 | 205.201.132.14 permit 744 | 205.201.134.128/25 permit 745 | 205.201.136.0/23 permit 746 | 205.201.137.229 permit 747 | 205.201.139.0/24 permit 748 | 205.201.140.14 permit 749 | 205.207.104.0/22 permit 750 | 205.217.25.132 permit 751 | 205.217.25.135 permit 752 | 206.165.246.80/29 permit 753 | 206.191.224.0/19 permit 754 | 206.246.157.1 permit 755 | 207.126.144.0/20 permit 756 | 207.126.144.0/20 permit 757 | 207.126.144.0/20 permit 758 | 207.126.144.0/20 permit 759 | 207.126.144.0/20 permit 760 | 207.126.144.0/20 permit 761 | 207.126.144.0/20 permit 762 | 207.126.144.0/20 permit 763 | 207.126.144.0/20 permit 764 | 207.126.144.0/20 permit 765 | 207.211.30.0/24 permit 766 | 207.211.31.0/25 permit 767 | 207.211.41.113 permit 768 | 207.250.68.0/24 permit 769 | 207.46.100.0/24 permit 770 | 207.46.100.0/24 permit 771 | 207.46.100.0/24 permit 772 | 207.46.101.128/26 permit 773 | 207.46.101.128/26 permit 774 | 207.46.101.128/26 permit 775 | 207.46.108.0/25 permit 776 | 207.46.108.0/25 permit 777 | 207.46.108.0/25 permit 778 | 207.46.116.128/29 permit 779 | 207.46.116.128/29 permit 780 | 207.46.117.0/24 permit 781 | 207.46.117.0/24 permit 782 | 207.46.117.0/24 permit 783 | 207.46.132.128/27 permit 784 | 207.46.132.128/27 permit 785 | 207.46.163.0/24 permit 786 | 207.46.163.0/24 permit 787 | 207.46.163.0/24 permit 788 | 207.46.198.0/25 permit 789 | 207.46.198.0/25 permit 790 | 207.46.200.0/27 permit 791 | 207.46.200.0/27 permit 792 | 207.46.200.0/27 permit 793 | 207.46.22.101 permit 794 | 207.46.22.35 permit 795 | 207.46.22.98 permit 796 | 207.46.4.128/25 permit 797 | 207.46.4.128/25 permit 798 | 207.46.50.192/26 permit 799 | 207.46.50.192/26 permit 800 | 207.46.50.192/26 permit 801 | 207.46.50.224 permit 802 | 207.46.50.224 permit 803 | 207.46.50.72 permit 804 | 207.46.50.82 permit 805 | 207.46.51.64/26 permit 806 | 207.46.51.64/26 permit 807 | 207.46.51.64/26 permit 808 | 207.46.52.71 permit 809 | 207.46.52.79 permit 810 | 207.46.58.128/25 permit 811 | 207.46.58.128/25 permit 812 | 207.67.38.0/24 permit 813 | 207.67.98.192/27 permit 814 | 207.68.176.0/26 permit 815 | 207.68.176.0/26 permit 816 | 207.68.176.96/27 permit 817 | 207.68.176.96/27 permit 818 | 207.82.80.0/24 permit 819 | 208.115.214.0/24 permit 820 | 208.115.214.0/24 permit 821 | 208.115.214.0/24 permit 822 | 208.115.214.0/24 permit 823 | 208.115.235.0/24 permit 824 | 208.115.235.0/24 permit 825 | 208.115.235.0/24 permit 826 | 208.115.235.0/24 permit 827 | 208.115.239.0/24 permit 828 | 208.115.239.0/24 permit 829 | 208.115.239.0/24 permit 830 | 208.115.239.0/24 permit 831 | 208.117.48.0/20 permit 832 | 208.117.48.0/20 permit 833 | 208.117.48.0/20 permit 834 | 208.117.48.0/20 permit 835 | 208.117.48.0/20 permit 836 | 208.43.21.28/30 permit 837 | 208.43.21.64/29 permit 838 | 208.43.21.72/30 permit 839 | 208.43.239.136/30 permit 840 | 208.43.239.136/30 permit 841 | 208.66.139.0/25 permit 842 | 208.74.204.0/22 permit 843 | 208.75.120.0/22 permit 844 | 208.75.120.0/22 permit 845 | 208.75.122.246 permit 846 | 208.82.236.96/28 permit 847 | 208.82.237.96/28 permit 848 | 208.82.238.96/28 permit 849 | 208.89.13.233 permit 850 | 208.89.13.234/31 permit 851 | 208.89.13.236/31 permit 852 | 208.89.14.201 permit 853 | 208.89.14.202/31 permit 854 | 208.89.14.204 permit 855 | 208.89.14.209 permit 856 | 209.43.22.0/28 permit 857 | 209.61.151.0/24 permit 858 | 209.61.151.0/24 permit 859 | 209.67.98.59 permit 860 | 209.85.128.0/17 permit 861 | 209.85.128.0/17 permit 862 | 209.85.128.0/17 permit 863 | 209.85.128.0/17 permit 864 | 209.85.128.0/17 permit 865 | 209.85.128.0/17 permit 866 | 209.85.128.0/17 permit 867 | 209.85.128.0/17 permit 868 | 209.85.128.0/17 permit 869 | 209.85.128.0/17 permit 870 | 212.227.126.128/25 permit 871 | 212.227.126.128/25 permit 872 | 212.227.15.0/24 permit 873 | 212.227.15.0/24 permit 874 | 212.227.17.0/27 permit 875 | 212.227.17.0/27 permit 876 | 212.4.136.0/26 permit 877 | 213.165.64.0/23 permit 878 | 213.165.64.0/23 permit 879 | 213.167.75.0/24 permit 880 | 213.167.81.0/24 permit 881 | 213.199.128.139 permit 882 | 213.199.128.145 permit 883 | 213.199.138.181 permit 884 | 213.199.138.191 permit 885 | 213.199.154.0/24 permit 886 | 213.199.154.0/24 permit 887 | 213.199.154.0/24 permit 888 | 213.199.161.128/27 permit 889 | 213.199.161.128/27 permit 890 | 213.199.177.0/26 permit 891 | 213.199.177.0/26 permit 892 | 213.199.180.0/24 permit 893 | 213.199.180.0/24 permit 894 | 213.199.180.0/24 permit 895 | 216.113.160.0/24 permit 896 | 216.113.172.0/25 permit 897 | 216.113.175.0/24 permit 898 | 216.136.162.65 permit 899 | 216.198.0.0/18 permit 900 | 216.198.0.0/18 permit 901 | 216.198.0.0/18 permit 902 | 216.198.0.0/18 permit 903 | 216.203.30.55 permit 904 | 216.203.33.178/31 permit 905 | 216.205.24.0/24 permit 906 | 216.229.156.0/25 permit 907 | 216.239.32.0/19 permit 908 | 216.239.32.0/19 permit 909 | 216.239.32.0/19 permit 910 | 216.239.32.0/19 permit 911 | 216.239.32.0/19 permit 912 | 216.239.32.0/19 permit 913 | 216.239.32.0/19 permit 914 | 216.239.32.0/19 permit 915 | 216.239.32.0/19 permit 916 | 216.239.32.0/19 permit 917 | 216.32.180.0/23 permit 918 | 216.32.180.0/23 permit 919 | 216.32.180.0/23 permit 920 | 216.52.242.16 permit 921 | 216.58.192.0/19 permit 922 | 216.58.192.0/19 permit 923 | 216.58.192.0/19 permit 924 | 216.58.192.0/19 permit 925 | 216.58.192.0/19 permit 926 | 216.58.192.0/19 permit 927 | 216.58.192.0/19 permit 928 | 216.58.192.0/19 permit 929 | 216.58.192.0/19 permit 930 | 216.99.5.67 permit 931 | 216.99.5.68 permit 932 | 217.175.193.0/24 permit 933 | 217.175.194.0/24 permit 934 | 217.175.195.0/24 permit 935 | 217.175.196.0/24 permit 936 | 217.72.207.0/27 permit 937 | 217.72.207.0/27 permit 938 | 217.77.141.52 permit 939 | 217.77.141.59 permit 940 | 2001:4860:4000::/36 permit 941 | 2001:4860:4000::/36 permit 942 | 2001:4860:4000::/36 permit 943 | 2001:4860:4000::/36 permit 944 | 2001:4860:4000::/36 permit 945 | 2001:4860:4000::/36 permit 946 | 2001:4860:4000::/36 permit 947 | 2001:4860:4000::/36 permit 948 | 2001:4860:4000::/36 permit 949 | 2001:4860:4000::/36 permit 950 | 2404:6800:4000::/36 permit 951 | 2404:6800:4000::/36 permit 952 | 2404:6800:4000::/36 permit 953 | 2404:6800:4000::/36 permit 954 | 2404:6800:4000::/36 permit 955 | 2404:6800:4000::/36 permit 956 | 2404:6800:4000::/36 permit 957 | 2404:6800:4000::/36 permit 958 | 2404:6800:4000::/36 permit 959 | 2404:6800:4000::/36 permit 960 | 2607:f8b0:4000::/36 permit 961 | 2607:f8b0:4000::/36 permit 962 | 2607:f8b0:4000::/36 permit 963 | 2607:f8b0:4000::/36 permit 964 | 2607:f8b0:4000::/36 permit 965 | 2607:f8b0:4000::/36 permit 966 | 2607:f8b0:4000::/36 permit 967 | 2607:f8b0:4000::/36 permit 968 | 2607:f8b0:4000::/36 permit 969 | 2607:f8b0:4000::/36 permit 970 | 2607:f8b0:400d:c02::1a permit 971 | 2620:109:c003:104::/64 permit 972 | 2620:109:c006:104::/64 permit 973 | 2620:109:c00d:104::/64 permit 974 | 2800:3f0:4000::/36 permit 975 | 2800:3f0:4000::/36 permit 976 | 2800:3f0:4000::/36 permit 977 | 2800:3f0:4000::/36 permit 978 | 2800:3f0:4000::/36 permit 979 | 2800:3f0:4000::/36 permit 980 | 2800:3f0:4000::/36 permit 981 | 2800:3f0:4000::/36 permit 982 | 2800:3f0:4000::/36 permit 983 | 2800:3f0:4000::/36 permit 984 | -------------------------------------------------------------------------------- /testdata/sorted-tkn-uniq.txt: -------------------------------------------------------------------------------- 1 | 2a00:1450:4000::/36 permit 2 | 2a01:111:f400::/48 permit 3 | 2a04:35c0::/29 permit 4 | 2c0f:fb50:4000::/36 permit 5 | 8.25.194.0/23 permit 6 | 8.25.196.0/23 permit 7 | 13.111.0.0/22 permit 8 | 17.41.0.0/16 permit 9 | 17.110.0.0/15 permit 10 | 17.133.0.0/16 permit 11 | 17.142.0.0/15 permit 12 | 17.151.1.0/24 permit 13 | 17.158.0.0/15 permit 14 | 17.162.0.0/15 permit 15 | 17.164.0.0/16 permit 16 | 17.171.37.0/24 permit 17 | 17.172.0.0/16 permit 18 | 23.21.83.90 permit 19 | 23.23.237.213 permit 20 | 23.96.52.53 permit 21 | 23.100.122.175 permit 22 | 23.103.128.0/19 permit 23 | 23.103.191.0/24 permit 24 | 23.103.198.0/23 permit 25 | 23.103.200.0/21 permit 26 | 23.103.208.0/21 permit 27 | 23.103.224.0/19 permit 28 | 23.253.182.0/24 permit 29 | 23.253.182.103 permit 30 | 23.253.183.0/24 permit 31 | 37.188.97.188/32 permit 32 | 41.74.192.0/22 permit 33 | 41.74.196.0/22 permit 34 | 41.74.200.0/22 permit 35 | 41.74.201.0/24 permit 36 | 41.74.204.0/22 permit 37 | 41.74.205.0/24 permit 38 | 46.19.168.0/23 permit 39 | 50.18.45.249 permit 40 | 50.18.121.236 permit 41 | 50.18.121.248 permit 42 | 50.18.123.221 permit 43 | 50.18.124.70 permit 44 | 50.18.125.97 permit 45 | 50.18.125.237 permit 46 | 50.18.126.162 permit 47 | 50.22.164.201 permit 48 | 50.23.218.192/27 permit 49 | 50.31.32.0/19 permit 50 | 50.31.36.197 permit 51 | 50.31.36.199 permit 52 | 50.31.36.205 permit 53 | 50.31.36.208 permit 54 | 50.31.36.213 permit 55 | 50.31.60.1 permit 56 | 50.31.156.96/27 permit 57 | 52.0.20.102 permit 58 | 54.173.229.38 permit 59 | 54.240.0.0/18 permit 60 | 54.243.205.80 permit 61 | 62.17.146.128/26 permit 62 | 63.111.28.137 permit 63 | 63.128.21.0/24 permit 64 | 64.4.22.64/26 permit 65 | 64.12.88.131 permit 66 | 64.12.88.132 permit 67 | 64.12.91.195 permit 68 | 64.18.0.0/20 permit 69 | 64.20.241.45 permit 70 | 64.34.47.128/27 permit 71 | 64.34.57.192/26 permit 72 | 64.79.155.192 permit 73 | 64.127.115.252 permit 74 | 64.132.88.0/23 permit 75 | 64.132.92.0/24 permit 76 | 64.135.77.0/24 permit 77 | 64.135.83.0/24 permit 78 | 64.233.160.0/19 permit 79 | 65.39.215.0/24 permit 80 | 65.54.51.64/26 permit 81 | 65.54.61.64/26 permit 82 | 65.54.121.120/29 permit 83 | 65.54.121.124/31 permit 84 | 65.54.190.0/24 permit 85 | 65.54.241.0/24 permit 86 | 65.55.33.64/28 permit 87 | 65.55.34.0/24 permit 88 | 65.55.42.224/28 permit 89 | 65.55.52.224/27 permit 90 | 65.55.77.28 permit 91 | 65.55.78.128/25 permit 92 | 65.55.81.48/28 permit 93 | 65.55.81.54/31 permit 94 | 65.55.85.12 permit 95 | 65.55.88.0/24 permit 96 | 65.55.90.0/24 permit 97 | 65.55.94.0/25 permit 98 | 65.55.111.0/24 permit 99 | 65.55.113.64/26 permit 100 | 65.55.116.0/25 permit 101 | 65.55.126.0/25 permit 102 | 65.55.169.0/24 permit 103 | 65.55.174.0/25 permit 104 | 65.55.178.128/27 permit 105 | 65.55.234.192/26 permit 106 | 65.110.161.77 permit 107 | 65.242.92.0/24 permit 108 | 66.77.16.201/32 permit 109 | 66.102.0.0/20 permit 110 | 66.135.213.241 permit 111 | 66.135.215.0/24 permit 112 | 66.211.161.0/25 permit 113 | 66.211.184.0/23 permit 114 | 66.220.144.128/25 permit 115 | 66.220.155.128/25 permit 116 | 66.220.157.0/25 permit 117 | 66.231.80.0/20 permit 118 | 66.249.80.0/20 permit 119 | 67.23.31.6 permit 120 | 67.72.99.26 permit 121 | 67.228.2.24/30 permit 122 | 67.228.21.184/29 permit 123 | 67.228.37.4/30 permit 124 | 67.228.50.32/27 permit 125 | 67.231.145.42 permit 126 | 67.231.153.30 permit 127 | 68.232.192.0/20 permit 128 | 69.63.178.128/25 permit 129 | 69.63.184.0/25 permit 130 | 69.65.42.195 permit 131 | 69.65.49.192/29 permit 132 | 69.162.98.0/24 permit 133 | 69.171.232.128/25 permit 134 | 70.37.151.128/25 permit 135 | 72.3.185.0/24 permit 136 | 72.3.237.64/28 permit 137 | 72.5.230.111/32 permit 138 | 72.14.192.0/18 permit 139 | 72.32.154.0/24 permit 140 | 72.32.217.0/24 permit 141 | 72.32.243.0/24 permit 142 | 72.249.147.250/32 permit 143 | 74.63.63.115 permit 144 | 74.63.63.121 permit 145 | 74.63.194.0/24 permit 146 | 74.63.202.0/24 permit 147 | 74.63.202.100 permit 148 | 74.63.231.0/24 permit 149 | 74.63.234.0/24 permit 150 | 74.63.234.75 permit 151 | 74.63.235.0/24 permit 152 | 74.63.236.0/24 permit 153 | 74.63.247.0/24 permit 154 | 74.86.113.28/30 permit 155 | 74.86.129.240/30 permit 156 | 74.86.131.208/30 permit 157 | 74.86.132.208/30 permit 158 | 74.86.160.160/30 permit 159 | 74.86.164.188/30 permit 160 | 74.86.171.192/30 permit 161 | 74.86.195.28/30 permit 162 | 74.86.207.36/30 permit 163 | 74.86.226.216/30 permit 164 | 74.86.236.240/30 permit 165 | 74.86.241.250/31 permit 166 | 74.112.170.21/32 permit 167 | 74.125.0.0/16 permit 168 | 74.201.84.0/24 permit 169 | 74.201.152.59/32 permit 170 | 74.201.154.0/24 permit 171 | 74.201.155.25/32 permit 172 | 74.201.155.26/32 permit 173 | 74.201.155.27/32 permit 174 | 74.201.155.28/32 permit 175 | 74.201.155.79/32 permit 176 | 74.202.227.52/32 permit 177 | 74.208.4.192/26 permit 178 | 74.208.5.64/26 permit 179 | 74.208.122.0/26 permit 180 | 75.126.200.128/27 permit 181 | 75.126.253.0/24 permit 182 | 75.126.253.48 permit 183 | 81.223.46.0/27 permit 184 | 82.165.159.0/24 permit 185 | 85.222.130.224/28 permit 186 | 86.61.88.25 permit 187 | 91.194.248.0/23 permit 188 | 91.211.240.0/24 permit 189 | 91.211.242.0/24 permit 190 | 91.211.243.0/24 permit 191 | 91.220.42.0/24 permit 192 | 94.236.119.0/26 permit 193 | 94.245.112.0/27 permit 194 | 94.245.112.10/31 permit 195 | 96.43.144.0/20 permit 196 | 96.43.144.64/28 permit 197 | 96.43.144.64/31 permit 198 | 96.43.147.64/28 permit 199 | 96.43.148.64/28 permit 200 | 96.43.148.64/31 permit 201 | 96.43.151.64/28 permit 202 | 96.43.152.64/27 permit 203 | 96.43.153.64/27 permit 204 | 96.46.150.192/27 permit 205 | 103.13.69.0/24 permit 206 | 103.237.104.0/22 permit 207 | 104.40.211.35 permit 208 | 104.43.195.251 permit 209 | 104.47.0.0/17 permit 210 | 104.130.96.0/28 permit 211 | 104.130.122.0/23 permit 212 | 107.0.11.224/27 permit 213 | 108.174.3.0/24 permit 214 | 108.174.6.0/24 permit 215 | 108.177.8.0/21 permit 216 | 111.221.23.128/25 permit 217 | 111.221.26.0/27 permit 218 | 111.221.66.0/25 permit 219 | 111.221.69.128/25 permit 220 | 111.221.112.0/21 permit 221 | 124.47.150.0/24 permit 222 | 124.47.189.0/24 permit 223 | 129.41.169.249 permit 224 | 131.107.0.0/16 permit 225 | 131.107.1.18 permit 226 | 131.107.1.19 permit 227 | 131.107.1.20 permit 228 | 131.107.1.37 permit 229 | 131.107.1.44 permit 230 | 131.107.1.48 permit 231 | 131.107.1.56 permit 232 | 131.253.30.0/24 permit 233 | 132.245.13.210 permit 234 | 132.245.17.34 permit 235 | 132.245.21.82 permit 236 | 132.245.23.242 permit 237 | 132.245.81.130 permit 238 | 132.245.92.194 permit 239 | 132.245.113.194 permit 240 | 134.170.113.0/26 permit 241 | 134.170.132.0/24 permit 242 | 134.170.140.0/24 permit 243 | 134.170.141.64/26 permit 244 | 134.170.143.0/24 permit 245 | 134.170.174.0/24 permit 246 | 136.146.128.64/27 permit 247 | 136.146.208.16/28 permit 248 | 136.146.210.16/28 permit 249 | 136.147.46.192/26 permit 250 | 136.147.62.192/26 permit 251 | 136.147.128.0/20 permit 252 | 136.147.176.0/20 permit 253 | 146.101.78.0/24 permit 254 | 147.243.1.47 permit 255 | 147.243.1.48 permit 256 | 147.243.1.153 permit 257 | 147.243.128.24 permit 258 | 147.243.128.26 permit 259 | 152.163.0.67 permit 260 | 152.163.0.68 permit 261 | 152.163.0.99 permit 262 | 157.55.0.192/26 permit 263 | 157.55.1.128/26 permit 264 | 157.55.2.0/25 permit 265 | 157.55.9.128/25 permit 266 | 157.55.11.0/25 permit 267 | 157.55.49.0/25 permit 268 | 157.55.61.0/24 permit 269 | 157.55.133.0/25 permit 270 | 157.55.152.112 permit 271 | 157.55.157.128/25 permit 272 | 157.55.158.0/23 permit 273 | 157.55.225.0/25 permit 274 | 157.55.234.0/24 permit 275 | 157.56.24.0/25 permit 276 | 157.56.87.192/26 permit 277 | 157.56.110.0/23 permit 278 | 157.56.112.0/24 permit 279 | 157.56.116.0/25 permit 280 | 157.56.120.0/25 permit 281 | 157.56.120.128/26 permit 282 | 157.56.172.28 permit 283 | 157.56.232.0/21 permit 284 | 157.56.237.242 permit 285 | 157.56.240.0/20 permit 286 | 157.56.242.98 permit 287 | 157.56.248.0/21 permit 288 | 165.254.168.66/31 permit 289 | 165.254.168.68/31 permit 290 | 165.254.168.70/31 permit 291 | 165.254.168.72/31 permit 292 | 166.78.68.0/22 permit 293 | 166.78.68.221 permit 294 | 166.78.69.146 permit 295 | 167.89.0.0/17 permit 296 | 167.89.25.84 permit 297 | 167.89.32.5 permit 298 | 167.89.32.50 permit 299 | 167.89.46.159 permit 300 | 167.89.46.185 permit 301 | 167.89.64.9 permit 302 | 167.89.65.0 permit 303 | 167.89.65.53 permit 304 | 167.89.65.100 permit 305 | 167.220.67.238 permit 306 | 173.193.132.0/23 permit 307 | 173.193.210.32/27 permit 308 | 173.194.0.0/16 permit 309 | 173.194.205.27 permit 310 | 173.203.79.182 permit 311 | 173.203.81.39 permit 312 | 173.228.155.0/24 permit 313 | 174.36.80.208/28 permit 314 | 174.36.84.8/29 permit 315 | 174.36.84.16/29 permit 316 | 174.36.84.32/29 permit 317 | 174.36.84.144/29 permit 318 | 174.36.84.240/29 permit 319 | 174.36.85.248/30 permit 320 | 174.36.92.96/27 permit 321 | 174.36.114.128/30 permit 322 | 174.36.114.140/30 permit 323 | 174.36.114.148/30 permit 324 | 174.36.114.152/29 permit 325 | 174.37.67.28/30 permit 326 | 174.37.226.64/27 permit 327 | 174.129.194.241 permit 328 | 174.137.46.0/24 permit 329 | 178.249.98.16/29 permit 330 | 178.249.202.16/29 permit 331 | 182.50.76.0/22 permit 332 | 182.50.78.64/28 permit 333 | 184.173.105.0/24 permit 334 | 184.173.153.0/24 permit 335 | 185.4.120.0/24 permit 336 | 185.4.122.0/24 permit 337 | 185.12.80.0/22 permit 338 | 185.28.196.0/22 permit 339 | 188.172.128.0/20 permit 340 | 191.239.213.197 permit 341 | 192.28.128.0/18 permit 342 | 192.64.236.0/24 permit 343 | 192.64.237.0/24 permit 344 | 192.64.238.0/24 permit 345 | 192.161.144.0/20 permit 346 | 192.230.81.86 permit 347 | 192.237.158.0/23 permit 348 | 192.237.159.42 permit 349 | 192.237.159.43 permit 350 | 192.254.112.0/20 permit 351 | 192.254.115.72 permit 352 | 193.28.178.0/25 permit 353 | 194.64.234.128/27 permit 354 | 195.54.172.0/23 permit 355 | 195.130.217.0/24 permit 356 | 198.2.128.0/18 permit 357 | 198.2.128.0/24 permit 358 | 198.2.132.0/22 permit 359 | 198.2.136.0/23 permit 360 | 198.2.177.0/24 permit 361 | 198.2.178.0/24 permit 362 | 198.2.179.0/24 permit 363 | 198.2.180.0/24 permit 364 | 198.2.186.0/23 permit 365 | 198.21.0.0/21 permit 366 | 198.21.3.166 permit 367 | 198.21.4.224 permit 368 | 198.37.144.0/20 permit 369 | 198.37.145.250 permit 370 | 198.37.149.128 permit 371 | 198.41.208.137 permit 372 | 198.41.208.138 permit 373 | 198.41.208.139 permit 374 | 198.41.208.140 permit 375 | 198.41.208.141 permit 376 | 198.41.208.142 permit 377 | 198.41.208.143 permit 378 | 198.41.209.136 permit 379 | 198.41.209.137 permit 380 | 198.41.209.138 permit 381 | 198.41.209.139 permit 382 | 198.41.209.140 permit 383 | 198.41.209.141 permit 384 | 198.41.209.142 permit 385 | 198.41.209.143 permit 386 | 198.61.254.0/23 permit 387 | 198.245.80.0/20 permit 388 | 199.15.212.0/22 permit 389 | 199.15.214.169/32 permit 390 | 199.16.156.0/22 permit 391 | 199.59.148.0/22 permit 392 | 199.83.132.86 permit 393 | 199.101.161.130 permit 394 | 199.101.162.0/25 permit 395 | 199.122.120.0/21 permit 396 | 199.127.232.0/22 permit 397 | 199.187.117.209 permit 398 | 199.187.117.233 permit 399 | 199.187.117.234/31 permit 400 | 199.187.117.236/31 permit 401 | 199.187.118.201 permit 402 | 199.187.118.202/31 permit 403 | 199.187.118.204 permit 404 | 199.187.118.209 permit 405 | 199.255.192.0/22 permit 406 | 202.129.242.0/23 permit 407 | 202.177.148.100 permit 408 | 202.177.148.110 permit 409 | 203.32.4.25 permit 410 | 203.122.32.250 permit 411 | 204.13.11.48/30 permit 412 | 204.14.232.0/21 permit 413 | 204.14.232.64/28 permit 414 | 204.14.234.64/28 permit 415 | 204.14.238.0/27 permit 416 | 204.92.114.203 permit 417 | 204.92.114.204/31 permit 418 | 204.153.121.0/24 permit 419 | 205.139.110.0/23 permit 420 | 205.201.128.0/20 permit 421 | 205.201.131.128/25 permit 422 | 205.201.132.14 permit 423 | 205.201.134.128/25 permit 424 | 205.201.136.0/23 permit 425 | 205.201.137.229 permit 426 | 205.201.139.0/24 permit 427 | 205.201.140.14 permit 428 | 205.207.104.0/22 permit 429 | 205.217.25.132 permit 430 | 205.217.25.135 permit 431 | 206.165.246.80/29 permit 432 | 206.191.224.0/19 permit 433 | 206.246.157.1 permit 434 | 207.46.4.128/25 permit 435 | 207.46.22.35 permit 436 | 207.46.22.98 permit 437 | 207.46.22.101 permit 438 | 207.46.50.72 permit 439 | 207.46.50.82 permit 440 | 207.46.50.192/26 permit 441 | 207.46.50.224 permit 442 | 207.46.51.64/26 permit 443 | 207.46.52.71 permit 444 | 207.46.52.79 permit 445 | 207.46.58.128/25 permit 446 | 207.46.100.0/24 permit 447 | 207.46.101.128/26 permit 448 | 207.46.108.0/25 permit 449 | 207.46.116.128/29 permit 450 | 207.46.117.0/24 permit 451 | 207.46.132.128/27 permit 452 | 207.46.163.0/24 permit 453 | 207.46.198.0/25 permit 454 | 207.46.200.0/27 permit 455 | 207.67.38.0/24 permit 456 | 207.67.98.192/27 permit 457 | 207.68.176.0/26 permit 458 | 207.68.176.96/27 permit 459 | 207.82.80.0/24 permit 460 | 207.126.144.0/20 permit 461 | 207.211.30.0/24 permit 462 | 207.211.31.0/25 permit 463 | 207.211.41.113 permit 464 | 207.250.68.0/24 permit 465 | 208.43.21.28/30 permit 466 | 208.43.21.64/29 permit 467 | 208.43.21.72/30 permit 468 | 208.43.239.136/30 permit 469 | 208.66.139.0/25 permit 470 | 208.74.204.0/22 permit 471 | 208.75.120.0/22 permit 472 | 208.75.122.246 permit 473 | 208.82.236.96/28 permit 474 | 208.82.237.96/28 permit 475 | 208.82.238.96/28 permit 476 | 208.89.13.233 permit 477 | 208.89.13.234/31 permit 478 | 208.89.13.236/31 permit 479 | 208.89.14.201 permit 480 | 208.89.14.202/31 permit 481 | 208.89.14.204 permit 482 | 208.89.14.209 permit 483 | 208.115.214.0/24 permit 484 | 208.115.235.0/24 permit 485 | 208.115.239.0/24 permit 486 | 208.117.48.0/20 permit 487 | 209.43.22.0/28 permit 488 | 209.61.151.0/24 permit 489 | 209.67.98.59 permit 490 | 209.85.128.0/17 permit 491 | 212.4.136.0/26 permit 492 | 212.227.15.0/24 permit 493 | 212.227.17.0/27 permit 494 | 212.227.126.128/25 permit 495 | 213.165.64.0/23 permit 496 | 213.167.75.0/24 permit 497 | 213.167.81.0/24 permit 498 | 213.199.128.139 permit 499 | 213.199.128.145 permit 500 | 213.199.138.181 permit 501 | 213.199.138.191 permit 502 | 213.199.154.0/24 permit 503 | 213.199.161.128/27 permit 504 | 213.199.177.0/26 permit 505 | 213.199.180.0/24 permit 506 | 216.32.180.0/23 permit 507 | 216.52.242.16 permit 508 | 216.58.192.0/19 permit 509 | 216.99.5.67 permit 510 | 216.99.5.68 permit 511 | 216.113.160.0/24 permit 512 | 216.113.172.0/25 permit 513 | 216.113.175.0/24 permit 514 | 216.136.162.65 permit 515 | 216.198.0.0/18 permit 516 | 216.203.30.55 permit 517 | 216.203.33.178/31 permit 518 | 216.205.24.0/24 permit 519 | 216.229.156.0/25 permit 520 | 216.239.32.0/19 permit 521 | 217.72.207.0/27 permit 522 | 217.77.141.52 permit 523 | 217.77.141.59 permit 524 | 217.175.193.0/24 permit 525 | 217.175.194.0/24 permit 526 | 217.175.195.0/24 permit 527 | 217.175.196.0/24 permit 528 | 2001:4860:4000::/36 permit 529 | 2404:6800:4000::/36 permit 530 | 2607:f8b0:4000::/36 permit 531 | 2607:f8b0:400d:c02::1a permit 532 | 2620:109:c003:104::/64 permit 533 | 2620:109:c006:104::/64 permit 534 | 2620:109:c00d:104::/64 permit 535 | 2800:3f0:4000::/36 permit 536 | -------------------------------------------------------------------------------- /testdata/sorted-tkn.txt: -------------------------------------------------------------------------------- 1 | 2a00:1450:4000::/36 permit 2 | 2a00:1450:4000::/36 permit 3 | 2a00:1450:4000::/36 permit 4 | 2a00:1450:4000::/36 permit 5 | 2a00:1450:4000::/36 permit 6 | 2a00:1450:4000::/36 permit 7 | 2a00:1450:4000::/36 permit 8 | 2a00:1450:4000::/36 permit 9 | 2a00:1450:4000::/36 permit 10 | 2a00:1450:4000::/36 permit 11 | 2a01:111:f400::/48 permit 12 | 2a01:111:f400::/48 permit 13 | 2a01:111:f400::/48 permit 14 | 2a04:35c0::/29 permit 15 | 2c0f:fb50:4000::/36 permit 16 | 2c0f:fb50:4000::/36 permit 17 | 2c0f:fb50:4000::/36 permit 18 | 2c0f:fb50:4000::/36 permit 19 | 2c0f:fb50:4000::/36 permit 20 | 2c0f:fb50:4000::/36 permit 21 | 2c0f:fb50:4000::/36 permit 22 | 2c0f:fb50:4000::/36 permit 23 | 2c0f:fb50:4000::/36 permit 24 | 2c0f:fb50:4000::/36 permit 25 | 8.25.194.0/23 permit 26 | 8.25.196.0/23 permit 27 | 13.111.0.0/22 permit 28 | 17.41.0.0/16 permit 29 | 17.110.0.0/15 permit 30 | 17.133.0.0/16 permit 31 | 17.142.0.0/15 permit 32 | 17.151.1.0/24 permit 33 | 17.158.0.0/15 permit 34 | 17.162.0.0/15 permit 35 | 17.164.0.0/16 permit 36 | 17.171.37.0/24 permit 37 | 17.172.0.0/16 permit 38 | 23.21.83.90 permit 39 | 23.23.237.213 permit 40 | 23.96.52.53 permit 41 | 23.100.122.175 permit 42 | 23.103.128.0/19 permit 43 | 23.103.128.0/19 permit 44 | 23.103.128.0/19 permit 45 | 23.103.191.0/24 permit 46 | 23.103.191.0/24 permit 47 | 23.103.191.0/24 permit 48 | 23.103.198.0/23 permit 49 | 23.103.198.0/23 permit 50 | 23.103.198.0/23 permit 51 | 23.103.200.0/21 permit 52 | 23.103.200.0/21 permit 53 | 23.103.200.0/21 permit 54 | 23.103.208.0/21 permit 55 | 23.103.208.0/21 permit 56 | 23.103.208.0/21 permit 57 | 23.103.224.0/19 permit 58 | 23.253.182.0/24 permit 59 | 23.253.182.0/24 permit 60 | 23.253.182.103 permit 61 | 23.253.183.0/24 permit 62 | 23.253.183.0/24 permit 63 | 37.188.97.188/32 permit 64 | 41.74.192.0/22 permit 65 | 41.74.196.0/22 permit 66 | 41.74.200.0/22 permit 67 | 41.74.201.0/24 permit 68 | 41.74.204.0/22 permit 69 | 41.74.205.0/24 permit 70 | 46.19.168.0/23 permit 71 | 50.18.45.249 permit 72 | 50.18.121.236 permit 73 | 50.18.121.248 permit 74 | 50.18.123.221 permit 75 | 50.18.124.70 permit 76 | 50.18.125.97 permit 77 | 50.18.125.237 permit 78 | 50.18.126.162 permit 79 | 50.22.164.201 permit 80 | 50.23.218.192/27 permit 81 | 50.23.218.192/27 permit 82 | 50.31.32.0/19 permit 83 | 50.31.32.0/19 permit 84 | 50.31.32.0/19 permit 85 | 50.31.32.0/19 permit 86 | 50.31.32.0/19 permit 87 | 50.31.36.197 permit 88 | 50.31.36.199 permit 89 | 50.31.36.205 permit 90 | 50.31.36.208 permit 91 | 50.31.36.213 permit 92 | 50.31.60.1 permit 93 | 50.31.156.96/27 permit 94 | 52.0.20.102 permit 95 | 54.173.229.38 permit 96 | 54.240.0.0/18 permit 97 | 54.243.205.80 permit 98 | 62.17.146.128/26 permit 99 | 63.111.28.137 permit 100 | 63.128.21.0/24 permit 101 | 64.4.22.64/26 permit 102 | 64.4.22.64/26 permit 103 | 64.4.22.64/26 permit 104 | 64.12.88.131 permit 105 | 64.12.88.132 permit 106 | 64.12.91.195 permit 107 | 64.18.0.0/20 permit 108 | 64.18.0.0/20 permit 109 | 64.18.0.0/20 permit 110 | 64.18.0.0/20 permit 111 | 64.18.0.0/20 permit 112 | 64.18.0.0/20 permit 113 | 64.18.0.0/20 permit 114 | 64.18.0.0/20 permit 115 | 64.18.0.0/20 permit 116 | 64.18.0.0/20 permit 117 | 64.20.241.45 permit 118 | 64.34.47.128/27 permit 119 | 64.34.57.192/26 permit 120 | 64.79.155.192 permit 121 | 64.127.115.252 permit 122 | 64.132.88.0/23 permit 123 | 64.132.92.0/24 permit 124 | 64.135.77.0/24 permit 125 | 64.135.83.0/24 permit 126 | 64.233.160.0/19 permit 127 | 64.233.160.0/19 permit 128 | 64.233.160.0/19 permit 129 | 64.233.160.0/19 permit 130 | 64.233.160.0/19 permit 131 | 64.233.160.0/19 permit 132 | 64.233.160.0/19 permit 133 | 64.233.160.0/19 permit 134 | 64.233.160.0/19 permit 135 | 64.233.160.0/19 permit 136 | 65.39.215.0/24 permit 137 | 65.54.51.64/26 permit 138 | 65.54.51.64/26 permit 139 | 65.54.51.64/26 permit 140 | 65.54.61.64/26 permit 141 | 65.54.61.64/26 permit 142 | 65.54.61.64/26 permit 143 | 65.54.121.120/29 permit 144 | 65.54.121.120/29 permit 145 | 65.54.121.124/31 permit 146 | 65.54.190.0/24 permit 147 | 65.54.190.0/24 permit 148 | 65.54.190.0/24 permit 149 | 65.54.241.0/24 permit 150 | 65.54.241.0/24 permit 151 | 65.54.241.0/24 permit 152 | 65.55.33.64/28 permit 153 | 65.55.33.64/28 permit 154 | 65.55.34.0/24 permit 155 | 65.55.34.0/24 permit 156 | 65.55.34.0/24 permit 157 | 65.55.42.224/28 permit 158 | 65.55.52.224/27 permit 159 | 65.55.52.224/27 permit 160 | 65.55.52.224/27 permit 161 | 65.55.77.28 permit 162 | 65.55.78.128/25 permit 163 | 65.55.78.128/25 permit 164 | 65.55.81.48/28 permit 165 | 65.55.81.48/28 permit 166 | 65.55.81.54/31 permit 167 | 65.55.85.12 permit 168 | 65.55.88.0/24 permit 169 | 65.55.88.0/24 permit 170 | 65.55.88.0/24 permit 171 | 65.55.90.0/24 permit 172 | 65.55.90.0/24 permit 173 | 65.55.90.0/24 permit 174 | 65.55.94.0/25 permit 175 | 65.55.94.0/25 permit 176 | 65.55.111.0/24 permit 177 | 65.55.111.0/24 permit 178 | 65.55.111.0/24 permit 179 | 65.55.113.64/26 permit 180 | 65.55.113.64/26 permit 181 | 65.55.116.0/25 permit 182 | 65.55.116.0/25 permit 183 | 65.55.116.0/25 permit 184 | 65.55.126.0/25 permit 185 | 65.55.126.0/25 permit 186 | 65.55.169.0/24 permit 187 | 65.55.169.0/24 permit 188 | 65.55.169.0/24 permit 189 | 65.55.174.0/25 permit 190 | 65.55.174.0/25 permit 191 | 65.55.178.128/27 permit 192 | 65.55.178.128/27 permit 193 | 65.55.234.192/26 permit 194 | 65.55.234.192/26 permit 195 | 65.55.234.192/26 permit 196 | 65.110.161.77 permit 197 | 65.242.92.0/24 permit 198 | 66.77.16.201/32 permit 199 | 66.102.0.0/20 permit 200 | 66.102.0.0/20 permit 201 | 66.102.0.0/20 permit 202 | 66.102.0.0/20 permit 203 | 66.102.0.0/20 permit 204 | 66.102.0.0/20 permit 205 | 66.102.0.0/20 permit 206 | 66.102.0.0/20 permit 207 | 66.102.0.0/20 permit 208 | 66.102.0.0/20 permit 209 | 66.135.213.241 permit 210 | 66.135.215.0/24 permit 211 | 66.211.161.0/25 permit 212 | 66.211.184.0/23 permit 213 | 66.220.144.128/25 permit 214 | 66.220.144.128/25 permit 215 | 66.220.155.128/25 permit 216 | 66.220.155.128/25 permit 217 | 66.220.157.0/25 permit 218 | 66.220.157.0/25 permit 219 | 66.231.80.0/20 permit 220 | 66.249.80.0/20 permit 221 | 66.249.80.0/20 permit 222 | 66.249.80.0/20 permit 223 | 66.249.80.0/20 permit 224 | 66.249.80.0/20 permit 225 | 66.249.80.0/20 permit 226 | 66.249.80.0/20 permit 227 | 66.249.80.0/20 permit 228 | 66.249.80.0/20 permit 229 | 66.249.80.0/20 permit 230 | 67.23.31.6 permit 231 | 67.72.99.26 permit 232 | 67.228.2.24/30 permit 233 | 67.228.21.184/29 permit 234 | 67.228.37.4/30 permit 235 | 67.228.50.32/27 permit 236 | 67.228.50.32/27 permit 237 | 67.228.50.32/27 permit 238 | 67.228.50.32/27 permit 239 | 67.231.145.42 permit 240 | 67.231.153.30 permit 241 | 68.232.192.0/20 permit 242 | 69.63.178.128/25 permit 243 | 69.63.178.128/25 permit 244 | 69.63.184.0/25 permit 245 | 69.63.184.0/25 permit 246 | 69.65.42.195 permit 247 | 69.65.49.192/29 permit 248 | 69.162.98.0/24 permit 249 | 69.162.98.0/24 permit 250 | 69.162.98.0/24 permit 251 | 69.162.98.0/24 permit 252 | 69.162.98.0/24 permit 253 | 69.171.232.128/25 permit 254 | 69.171.232.128/25 permit 255 | 70.37.151.128/25 permit 256 | 70.37.151.128/25 permit 257 | 72.3.185.0/24 permit 258 | 72.3.237.64/28 permit 259 | 72.5.230.111/32 permit 260 | 72.14.192.0/18 permit 261 | 72.14.192.0/18 permit 262 | 72.14.192.0/18 permit 263 | 72.14.192.0/18 permit 264 | 72.14.192.0/18 permit 265 | 72.14.192.0/18 permit 266 | 72.14.192.0/18 permit 267 | 72.14.192.0/18 permit 268 | 72.14.192.0/18 permit 269 | 72.14.192.0/18 permit 270 | 72.32.154.0/24 permit 271 | 72.32.217.0/24 permit 272 | 72.32.243.0/24 permit 273 | 72.249.147.250/32 permit 274 | 74.63.63.115 permit 275 | 74.63.63.121 permit 276 | 74.63.194.0/24 permit 277 | 74.63.194.0/24 permit 278 | 74.63.194.0/24 permit 279 | 74.63.194.0/24 permit 280 | 74.63.202.0/24 permit 281 | 74.63.202.0/24 permit 282 | 74.63.202.0/24 permit 283 | 74.63.202.0/24 permit 284 | 74.63.202.100 permit 285 | 74.63.231.0/24 permit 286 | 74.63.231.0/24 permit 287 | 74.63.231.0/24 permit 288 | 74.63.231.0/24 permit 289 | 74.63.234.0/24 permit 290 | 74.63.234.0/24 permit 291 | 74.63.234.0/24 permit 292 | 74.63.234.0/24 permit 293 | 74.63.234.75 permit 294 | 74.63.235.0/24 permit 295 | 74.63.235.0/24 permit 296 | 74.63.235.0/24 permit 297 | 74.63.235.0/24 permit 298 | 74.63.236.0/24 permit 299 | 74.63.236.0/24 permit 300 | 74.63.236.0/24 permit 301 | 74.63.236.0/24 permit 302 | 74.63.236.0/24 permit 303 | 74.63.247.0/24 permit 304 | 74.63.247.0/24 permit 305 | 74.63.247.0/24 permit 306 | 74.63.247.0/24 permit 307 | 74.86.113.28/30 permit 308 | 74.86.129.240/30 permit 309 | 74.86.131.208/30 permit 310 | 74.86.132.208/30 permit 311 | 74.86.160.160/30 permit 312 | 74.86.164.188/30 permit 313 | 74.86.171.192/30 permit 314 | 74.86.195.28/30 permit 315 | 74.86.207.36/30 permit 316 | 74.86.226.216/30 permit 317 | 74.86.236.240/30 permit 318 | 74.86.241.250/31 permit 319 | 74.112.170.21/32 permit 320 | 74.125.0.0/16 permit 321 | 74.125.0.0/16 permit 322 | 74.125.0.0/16 permit 323 | 74.125.0.0/16 permit 324 | 74.125.0.0/16 permit 325 | 74.125.0.0/16 permit 326 | 74.125.0.0/16 permit 327 | 74.125.0.0/16 permit 328 | 74.125.0.0/16 permit 329 | 74.125.0.0/16 permit 330 | 74.201.84.0/24 permit 331 | 74.201.152.59/32 permit 332 | 74.201.154.0/24 permit 333 | 74.201.155.25/32 permit 334 | 74.201.155.26/32 permit 335 | 74.201.155.27/32 permit 336 | 74.201.155.28/32 permit 337 | 74.201.155.79/32 permit 338 | 74.202.227.52/32 permit 339 | 74.208.4.192/26 permit 340 | 74.208.4.192/26 permit 341 | 74.208.5.64/26 permit 342 | 74.208.5.64/26 permit 343 | 74.208.122.0/26 permit 344 | 74.208.122.0/26 permit 345 | 75.126.200.128/27 permit 346 | 75.126.200.128/27 permit 347 | 75.126.200.128/27 permit 348 | 75.126.200.128/27 permit 349 | 75.126.253.0/24 permit 350 | 75.126.253.0/24 permit 351 | 75.126.253.0/24 permit 352 | 75.126.253.0/24 permit 353 | 75.126.253.48 permit 354 | 81.223.46.0/27 permit 355 | 82.165.159.0/24 permit 356 | 82.165.159.0/24 permit 357 | 85.222.130.224/28 permit 358 | 85.222.130.224/28 permit 359 | 85.222.130.224/28 permit 360 | 86.61.88.25 permit 361 | 91.194.248.0/23 permit 362 | 91.211.240.0/24 permit 363 | 91.211.242.0/24 permit 364 | 91.211.243.0/24 permit 365 | 91.220.42.0/24 permit 366 | 94.236.119.0/26 permit 367 | 94.245.112.0/27 permit 368 | 94.245.112.0/27 permit 369 | 94.245.112.0/27 permit 370 | 94.245.112.10/31 permit 371 | 94.245.112.10/31 permit 372 | 96.43.144.0/20 permit 373 | 96.43.144.64/28 permit 374 | 96.43.144.64/28 permit 375 | 96.43.144.64/28 permit 376 | 96.43.144.64/31 permit 377 | 96.43.147.64/28 permit 378 | 96.43.147.64/28 permit 379 | 96.43.147.64/28 permit 380 | 96.43.148.64/28 permit 381 | 96.43.148.64/28 permit 382 | 96.43.148.64/28 permit 383 | 96.43.148.64/31 permit 384 | 96.43.151.64/28 permit 385 | 96.43.151.64/28 permit 386 | 96.43.151.64/28 permit 387 | 96.43.152.64/27 permit 388 | 96.43.152.64/27 permit 389 | 96.43.152.64/27 permit 390 | 96.43.153.64/27 permit 391 | 96.43.153.64/27 permit 392 | 96.43.153.64/27 permit 393 | 96.46.150.192/27 permit 394 | 96.46.150.192/27 permit 395 | 96.46.150.192/27 permit 396 | 96.46.150.192/27 permit 397 | 103.13.69.0/24 permit 398 | 103.237.104.0/22 permit 399 | 104.40.211.35 permit 400 | 104.43.195.251 permit 401 | 104.47.0.0/17 permit 402 | 104.47.0.0/17 permit 403 | 104.47.0.0/17 permit 404 | 104.130.96.0/28 permit 405 | 104.130.96.0/28 permit 406 | 104.130.122.0/23 permit 407 | 104.130.122.0/23 permit 408 | 107.0.11.224/27 permit 409 | 108.174.3.0/24 permit 410 | 108.174.6.0/24 permit 411 | 108.177.8.0/21 permit 412 | 108.177.8.0/21 permit 413 | 108.177.8.0/21 permit 414 | 108.177.8.0/21 permit 415 | 108.177.8.0/21 permit 416 | 108.177.8.0/21 permit 417 | 108.177.8.0/21 permit 418 | 108.177.8.0/21 permit 419 | 108.177.8.0/21 permit 420 | 111.221.23.128/25 permit 421 | 111.221.23.128/25 permit 422 | 111.221.26.0/27 permit 423 | 111.221.26.0/27 permit 424 | 111.221.26.0/27 permit 425 | 111.221.66.0/25 permit 426 | 111.221.66.0/25 permit 427 | 111.221.69.128/25 permit 428 | 111.221.69.128/25 permit 429 | 111.221.112.0/21 permit 430 | 111.221.112.0/21 permit 431 | 124.47.150.0/24 permit 432 | 124.47.189.0/24 permit 433 | 129.41.169.249 permit 434 | 131.107.0.0/16 permit 435 | 131.107.1.18 permit 436 | 131.107.1.19 permit 437 | 131.107.1.20 permit 438 | 131.107.1.37 permit 439 | 131.107.1.44 permit 440 | 131.107.1.48 permit 441 | 131.107.1.56 permit 442 | 131.253.30.0/24 permit 443 | 132.245.13.210 permit 444 | 132.245.17.34 permit 445 | 132.245.21.82 permit 446 | 132.245.23.242 permit 447 | 132.245.81.130 permit 448 | 132.245.92.194 permit 449 | 132.245.113.194 permit 450 | 134.170.113.0/26 permit 451 | 134.170.132.0/24 permit 452 | 134.170.132.0/24 permit 453 | 134.170.132.0/24 permit 454 | 134.170.140.0/24 permit 455 | 134.170.140.0/24 permit 456 | 134.170.140.0/24 permit 457 | 134.170.141.64/26 permit 458 | 134.170.143.0/24 permit 459 | 134.170.174.0/24 permit 460 | 136.146.128.64/27 permit 461 | 136.146.128.64/27 permit 462 | 136.146.128.64/27 permit 463 | 136.146.208.16/28 permit 464 | 136.146.208.16/28 permit 465 | 136.146.208.16/28 permit 466 | 136.146.210.16/28 permit 467 | 136.146.210.16/28 permit 468 | 136.146.210.16/28 permit 469 | 136.147.46.192/26 permit 470 | 136.147.46.192/26 permit 471 | 136.147.46.192/26 permit 472 | 136.147.62.192/26 permit 473 | 136.147.62.192/26 permit 474 | 136.147.62.192/26 permit 475 | 136.147.128.0/20 permit 476 | 136.147.176.0/20 permit 477 | 146.101.78.0/24 permit 478 | 147.243.1.47 permit 479 | 147.243.1.48 permit 480 | 147.243.1.153 permit 481 | 147.243.128.24 permit 482 | 147.243.128.26 permit 483 | 152.163.0.67 permit 484 | 152.163.0.68 permit 485 | 152.163.0.99 permit 486 | 157.55.0.192/26 permit 487 | 157.55.0.192/26 permit 488 | 157.55.0.192/26 permit 489 | 157.55.1.128/26 permit 490 | 157.55.1.128/26 permit 491 | 157.55.1.128/26 permit 492 | 157.55.2.0/25 permit 493 | 157.55.2.0/25 permit 494 | 157.55.2.0/25 permit 495 | 157.55.9.128/25 permit 496 | 157.55.9.128/25 permit 497 | 157.55.11.0/25 permit 498 | 157.55.11.0/25 permit 499 | 157.55.49.0/25 permit 500 | 157.55.49.0/25 permit 501 | 157.55.61.0/24 permit 502 | 157.55.61.0/24 permit 503 | 157.55.133.0/25 permit 504 | 157.55.133.0/25 permit 505 | 157.55.133.0/25 permit 506 | 157.55.152.112 permit 507 | 157.55.157.128/25 permit 508 | 157.55.157.128/25 permit 509 | 157.55.158.0/23 permit 510 | 157.55.158.0/23 permit 511 | 157.55.158.0/23 permit 512 | 157.55.225.0/25 permit 513 | 157.55.225.0/25 permit 514 | 157.55.234.0/24 permit 515 | 157.55.234.0/24 permit 516 | 157.55.234.0/24 permit 517 | 157.56.24.0/25 permit 518 | 157.56.24.0/25 permit 519 | 157.56.87.192/26 permit 520 | 157.56.87.192/26 permit 521 | 157.56.87.192/26 permit 522 | 157.56.110.0/23 permit 523 | 157.56.110.0/23 permit 524 | 157.56.110.0/23 permit 525 | 157.56.112.0/24 permit 526 | 157.56.112.0/24 permit 527 | 157.56.112.0/24 permit 528 | 157.56.116.0/25 permit 529 | 157.56.116.0/25 permit 530 | 157.56.116.0/25 permit 531 | 157.56.120.0/25 permit 532 | 157.56.120.0/25 permit 533 | 157.56.120.0/25 permit 534 | 157.56.120.128/26 permit 535 | 157.56.172.28 permit 536 | 157.56.232.0/21 permit 537 | 157.56.232.0/21 permit 538 | 157.56.237.242 permit 539 | 157.56.240.0/20 permit 540 | 157.56.240.0/20 permit 541 | 157.56.242.98 permit 542 | 157.56.248.0/21 permit 543 | 157.56.248.0/21 permit 544 | 165.254.168.66/31 permit 545 | 165.254.168.68/31 permit 546 | 165.254.168.70/31 permit 547 | 165.254.168.72/31 permit 548 | 166.78.68.0/22 permit 549 | 166.78.68.0/22 permit 550 | 166.78.68.221 permit 551 | 166.78.69.146 permit 552 | 167.89.0.0/17 permit 553 | 167.89.0.0/17 permit 554 | 167.89.0.0/17 permit 555 | 167.89.0.0/17 permit 556 | 167.89.25.84 permit 557 | 167.89.32.5 permit 558 | 167.89.32.50 permit 559 | 167.89.46.159 permit 560 | 167.89.46.185 permit 561 | 167.89.64.9 permit 562 | 167.89.65.0 permit 563 | 167.89.65.53 permit 564 | 167.89.65.100 permit 565 | 167.220.67.238 permit 566 | 173.193.132.0/23 permit 567 | 173.193.132.0/23 permit 568 | 173.193.132.0/23 permit 569 | 173.193.132.0/23 permit 570 | 173.193.210.32/27 permit 571 | 173.193.210.32/27 permit 572 | 173.194.0.0/16 permit 573 | 173.194.0.0/16 permit 574 | 173.194.0.0/16 permit 575 | 173.194.0.0/16 permit 576 | 173.194.0.0/16 permit 577 | 173.194.0.0/16 permit 578 | 173.194.0.0/16 permit 579 | 173.194.0.0/16 permit 580 | 173.194.0.0/16 permit 581 | 173.194.0.0/16 permit 582 | 173.194.205.27 permit 583 | 173.203.79.182 permit 584 | 173.203.81.39 permit 585 | 173.228.155.0/24 permit 586 | 174.36.80.208/28 permit 587 | 174.36.80.208/28 permit 588 | 174.36.80.208/28 permit 589 | 174.36.80.208/28 permit 590 | 174.36.84.8/29 permit 591 | 174.36.84.16/29 permit 592 | 174.36.84.32/29 permit 593 | 174.36.84.144/29 permit 594 | 174.36.84.240/29 permit 595 | 174.36.85.248/30 permit 596 | 174.36.92.96/27 permit 597 | 174.36.92.96/27 permit 598 | 174.36.92.96/27 permit 599 | 174.36.92.96/27 permit 600 | 174.36.114.128/30 permit 601 | 174.36.114.140/30 permit 602 | 174.36.114.148/30 permit 603 | 174.36.114.152/29 permit 604 | 174.37.67.28/30 permit 605 | 174.37.226.64/27 permit 606 | 174.37.226.64/27 permit 607 | 174.129.194.241 permit 608 | 174.137.46.0/24 permit 609 | 174.137.46.0/24 permit 610 | 174.137.46.0/24 permit 611 | 174.137.46.0/24 permit 612 | 178.249.98.16/29 permit 613 | 178.249.202.16/29 permit 614 | 182.50.76.0/22 permit 615 | 182.50.78.64/28 permit 616 | 182.50.78.64/28 permit 617 | 182.50.78.64/28 permit 618 | 182.50.78.64/28 permit 619 | 184.173.105.0/24 permit 620 | 184.173.105.0/24 permit 621 | 184.173.153.0/24 permit 622 | 184.173.153.0/24 permit 623 | 185.4.120.0/24 permit 624 | 185.4.122.0/24 permit 625 | 185.12.80.0/22 permit 626 | 185.12.80.0/22 permit 627 | 185.12.80.0/22 permit 628 | 185.12.80.0/22 permit 629 | 185.28.196.0/22 permit 630 | 188.172.128.0/20 permit 631 | 188.172.128.0/20 permit 632 | 188.172.128.0/20 permit 633 | 188.172.128.0/20 permit 634 | 191.239.213.197 permit 635 | 192.28.128.0/18 permit 636 | 192.64.236.0/24 permit 637 | 192.64.237.0/24 permit 638 | 192.64.238.0/24 permit 639 | 192.161.144.0/20 permit 640 | 192.161.144.0/20 permit 641 | 192.161.144.0/20 permit 642 | 192.161.144.0/20 permit 643 | 192.230.81.86 permit 644 | 192.237.158.0/23 permit 645 | 192.237.158.0/23 permit 646 | 192.237.159.42 permit 647 | 192.237.159.43 permit 648 | 192.254.112.0/20 permit 649 | 192.254.112.0/20 permit 650 | 192.254.112.0/20 permit 651 | 192.254.112.0/20 permit 652 | 192.254.112.0/20 permit 653 | 192.254.115.72 permit 654 | 193.28.178.0/25 permit 655 | 194.64.234.128/27 permit 656 | 195.54.172.0/23 permit 657 | 195.130.217.0/24 permit 658 | 198.2.128.0/18 permit 659 | 198.2.128.0/24 permit 660 | 198.2.132.0/22 permit 661 | 198.2.136.0/23 permit 662 | 198.2.177.0/24 permit 663 | 198.2.178.0/24 permit 664 | 198.2.179.0/24 permit 665 | 198.2.180.0/24 permit 666 | 198.2.186.0/23 permit 667 | 198.21.0.0/21 permit 668 | 198.21.0.0/21 permit 669 | 198.21.0.0/21 permit 670 | 198.21.0.0/21 permit 671 | 198.21.0.0/21 permit 672 | 198.21.3.166 permit 673 | 198.21.4.224 permit 674 | 198.37.144.0/20 permit 675 | 198.37.144.0/20 permit 676 | 198.37.144.0/20 permit 677 | 198.37.144.0/20 permit 678 | 198.37.144.0/20 permit 679 | 198.37.145.250 permit 680 | 198.37.149.128 permit 681 | 198.41.208.137 permit 682 | 198.41.208.138 permit 683 | 198.41.208.139 permit 684 | 198.41.208.140 permit 685 | 198.41.208.141 permit 686 | 198.41.208.142 permit 687 | 198.41.208.143 permit 688 | 198.41.209.136 permit 689 | 198.41.209.137 permit 690 | 198.41.209.138 permit 691 | 198.41.209.139 permit 692 | 198.41.209.140 permit 693 | 198.41.209.141 permit 694 | 198.41.209.142 permit 695 | 198.41.209.143 permit 696 | 198.61.254.0/23 permit 697 | 198.61.254.0/23 permit 698 | 198.245.80.0/20 permit 699 | 199.15.212.0/22 permit 700 | 199.15.214.169/32 permit 701 | 199.16.156.0/22 permit 702 | 199.59.148.0/22 permit 703 | 199.83.132.86 permit 704 | 199.101.161.130 permit 705 | 199.101.162.0/25 permit 706 | 199.122.120.0/21 permit 707 | 199.127.232.0/22 permit 708 | 199.187.117.209 permit 709 | 199.187.117.233 permit 710 | 199.187.117.234/31 permit 711 | 199.187.117.236/31 permit 712 | 199.187.118.201 permit 713 | 199.187.118.202/31 permit 714 | 199.187.118.204 permit 715 | 199.187.118.209 permit 716 | 199.255.192.0/22 permit 717 | 202.129.242.0/23 permit 718 | 202.177.148.100 permit 719 | 202.177.148.110 permit 720 | 203.32.4.25 permit 721 | 203.122.32.250 permit 722 | 204.13.11.48/30 permit 723 | 204.14.232.0/21 permit 724 | 204.14.232.64/28 permit 725 | 204.14.232.64/28 permit 726 | 204.14.232.64/28 permit 727 | 204.14.232.64/28 permit 728 | 204.14.232.64/28 permit 729 | 204.14.234.64/28 permit 730 | 204.14.234.64/28 permit 731 | 204.14.234.64/28 permit 732 | 204.14.234.64/28 permit 733 | 204.14.234.64/28 permit 734 | 204.14.238.0/27 permit 735 | 204.14.238.0/27 permit 736 | 204.14.238.0/27 permit 737 | 204.92.114.203 permit 738 | 204.92.114.204/31 permit 739 | 204.153.121.0/24 permit 740 | 205.139.110.0/23 permit 741 | 205.201.128.0/20 permit 742 | 205.201.131.128/25 permit 743 | 205.201.132.14 permit 744 | 205.201.134.128/25 permit 745 | 205.201.136.0/23 permit 746 | 205.201.137.229 permit 747 | 205.201.139.0/24 permit 748 | 205.201.140.14 permit 749 | 205.207.104.0/22 permit 750 | 205.217.25.132 permit 751 | 205.217.25.135 permit 752 | 206.165.246.80/29 permit 753 | 206.191.224.0/19 permit 754 | 206.246.157.1 permit 755 | 207.46.4.128/25 permit 756 | 207.46.4.128/25 permit 757 | 207.46.22.35 permit 758 | 207.46.22.98 permit 759 | 207.46.22.101 permit 760 | 207.46.50.72 permit 761 | 207.46.50.82 permit 762 | 207.46.50.192/26 permit 763 | 207.46.50.192/26 permit 764 | 207.46.50.192/26 permit 765 | 207.46.50.224 permit 766 | 207.46.50.224 permit 767 | 207.46.51.64/26 permit 768 | 207.46.51.64/26 permit 769 | 207.46.51.64/26 permit 770 | 207.46.52.71 permit 771 | 207.46.52.79 permit 772 | 207.46.58.128/25 permit 773 | 207.46.58.128/25 permit 774 | 207.46.100.0/24 permit 775 | 207.46.100.0/24 permit 776 | 207.46.100.0/24 permit 777 | 207.46.101.128/26 permit 778 | 207.46.101.128/26 permit 779 | 207.46.101.128/26 permit 780 | 207.46.108.0/25 permit 781 | 207.46.108.0/25 permit 782 | 207.46.108.0/25 permit 783 | 207.46.116.128/29 permit 784 | 207.46.116.128/29 permit 785 | 207.46.117.0/24 permit 786 | 207.46.117.0/24 permit 787 | 207.46.117.0/24 permit 788 | 207.46.132.128/27 permit 789 | 207.46.132.128/27 permit 790 | 207.46.163.0/24 permit 791 | 207.46.163.0/24 permit 792 | 207.46.163.0/24 permit 793 | 207.46.198.0/25 permit 794 | 207.46.198.0/25 permit 795 | 207.46.200.0/27 permit 796 | 207.46.200.0/27 permit 797 | 207.46.200.0/27 permit 798 | 207.67.38.0/24 permit 799 | 207.67.98.192/27 permit 800 | 207.68.176.0/26 permit 801 | 207.68.176.0/26 permit 802 | 207.68.176.96/27 permit 803 | 207.68.176.96/27 permit 804 | 207.82.80.0/24 permit 805 | 207.126.144.0/20 permit 806 | 207.126.144.0/20 permit 807 | 207.126.144.0/20 permit 808 | 207.126.144.0/20 permit 809 | 207.126.144.0/20 permit 810 | 207.126.144.0/20 permit 811 | 207.126.144.0/20 permit 812 | 207.126.144.0/20 permit 813 | 207.126.144.0/20 permit 814 | 207.126.144.0/20 permit 815 | 207.211.30.0/24 permit 816 | 207.211.31.0/25 permit 817 | 207.211.41.113 permit 818 | 207.250.68.0/24 permit 819 | 208.43.21.28/30 permit 820 | 208.43.21.64/29 permit 821 | 208.43.21.72/30 permit 822 | 208.43.239.136/30 permit 823 | 208.43.239.136/30 permit 824 | 208.66.139.0/25 permit 825 | 208.74.204.0/22 permit 826 | 208.75.120.0/22 permit 827 | 208.75.120.0/22 permit 828 | 208.75.122.246 permit 829 | 208.82.236.96/28 permit 830 | 208.82.237.96/28 permit 831 | 208.82.238.96/28 permit 832 | 208.89.13.233 permit 833 | 208.89.13.234/31 permit 834 | 208.89.13.236/31 permit 835 | 208.89.14.201 permit 836 | 208.89.14.202/31 permit 837 | 208.89.14.204 permit 838 | 208.89.14.209 permit 839 | 208.115.214.0/24 permit 840 | 208.115.214.0/24 permit 841 | 208.115.214.0/24 permit 842 | 208.115.214.0/24 permit 843 | 208.115.235.0/24 permit 844 | 208.115.235.0/24 permit 845 | 208.115.235.0/24 permit 846 | 208.115.235.0/24 permit 847 | 208.115.239.0/24 permit 848 | 208.115.239.0/24 permit 849 | 208.115.239.0/24 permit 850 | 208.115.239.0/24 permit 851 | 208.117.48.0/20 permit 852 | 208.117.48.0/20 permit 853 | 208.117.48.0/20 permit 854 | 208.117.48.0/20 permit 855 | 208.117.48.0/20 permit 856 | 209.43.22.0/28 permit 857 | 209.61.151.0/24 permit 858 | 209.61.151.0/24 permit 859 | 209.67.98.59 permit 860 | 209.85.128.0/17 permit 861 | 209.85.128.0/17 permit 862 | 209.85.128.0/17 permit 863 | 209.85.128.0/17 permit 864 | 209.85.128.0/17 permit 865 | 209.85.128.0/17 permit 866 | 209.85.128.0/17 permit 867 | 209.85.128.0/17 permit 868 | 209.85.128.0/17 permit 869 | 209.85.128.0/17 permit 870 | 212.4.136.0/26 permit 871 | 212.227.15.0/24 permit 872 | 212.227.15.0/24 permit 873 | 212.227.17.0/27 permit 874 | 212.227.17.0/27 permit 875 | 212.227.126.128/25 permit 876 | 212.227.126.128/25 permit 877 | 213.165.64.0/23 permit 878 | 213.165.64.0/23 permit 879 | 213.167.75.0/24 permit 880 | 213.167.81.0/24 permit 881 | 213.199.128.139 permit 882 | 213.199.128.145 permit 883 | 213.199.138.181 permit 884 | 213.199.138.191 permit 885 | 213.199.154.0/24 permit 886 | 213.199.154.0/24 permit 887 | 213.199.154.0/24 permit 888 | 213.199.161.128/27 permit 889 | 213.199.161.128/27 permit 890 | 213.199.177.0/26 permit 891 | 213.199.177.0/26 permit 892 | 213.199.180.0/24 permit 893 | 213.199.180.0/24 permit 894 | 213.199.180.0/24 permit 895 | 216.32.180.0/23 permit 896 | 216.32.180.0/23 permit 897 | 216.32.180.0/23 permit 898 | 216.52.242.16 permit 899 | 216.58.192.0/19 permit 900 | 216.58.192.0/19 permit 901 | 216.58.192.0/19 permit 902 | 216.58.192.0/19 permit 903 | 216.58.192.0/19 permit 904 | 216.58.192.0/19 permit 905 | 216.58.192.0/19 permit 906 | 216.58.192.0/19 permit 907 | 216.58.192.0/19 permit 908 | 216.99.5.67 permit 909 | 216.99.5.68 permit 910 | 216.113.160.0/24 permit 911 | 216.113.172.0/25 permit 912 | 216.113.175.0/24 permit 913 | 216.136.162.65 permit 914 | 216.198.0.0/18 permit 915 | 216.198.0.0/18 permit 916 | 216.198.0.0/18 permit 917 | 216.198.0.0/18 permit 918 | 216.203.30.55 permit 919 | 216.203.33.178/31 permit 920 | 216.205.24.0/24 permit 921 | 216.229.156.0/25 permit 922 | 216.239.32.0/19 permit 923 | 216.239.32.0/19 permit 924 | 216.239.32.0/19 permit 925 | 216.239.32.0/19 permit 926 | 216.239.32.0/19 permit 927 | 216.239.32.0/19 permit 928 | 216.239.32.0/19 permit 929 | 216.239.32.0/19 permit 930 | 216.239.32.0/19 permit 931 | 216.239.32.0/19 permit 932 | 217.72.207.0/27 permit 933 | 217.72.207.0/27 permit 934 | 217.77.141.52 permit 935 | 217.77.141.59 permit 936 | 217.175.193.0/24 permit 937 | 217.175.194.0/24 permit 938 | 217.175.195.0/24 permit 939 | 217.175.196.0/24 permit 940 | 2001:4860:4000::/36 permit 941 | 2001:4860:4000::/36 permit 942 | 2001:4860:4000::/36 permit 943 | 2001:4860:4000::/36 permit 944 | 2001:4860:4000::/36 permit 945 | 2001:4860:4000::/36 permit 946 | 2001:4860:4000::/36 permit 947 | 2001:4860:4000::/36 permit 948 | 2001:4860:4000::/36 permit 949 | 2001:4860:4000::/36 permit 950 | 2404:6800:4000::/36 permit 951 | 2404:6800:4000::/36 permit 952 | 2404:6800:4000::/36 permit 953 | 2404:6800:4000::/36 permit 954 | 2404:6800:4000::/36 permit 955 | 2404:6800:4000::/36 permit 956 | 2404:6800:4000::/36 permit 957 | 2404:6800:4000::/36 permit 958 | 2404:6800:4000::/36 permit 959 | 2404:6800:4000::/36 permit 960 | 2607:f8b0:4000::/36 permit 961 | 2607:f8b0:4000::/36 permit 962 | 2607:f8b0:4000::/36 permit 963 | 2607:f8b0:4000::/36 permit 964 | 2607:f8b0:4000::/36 permit 965 | 2607:f8b0:4000::/36 permit 966 | 2607:f8b0:4000::/36 permit 967 | 2607:f8b0:4000::/36 permit 968 | 2607:f8b0:4000::/36 permit 969 | 2607:f8b0:4000::/36 permit 970 | 2607:f8b0:400d:c02::1a permit 971 | 2620:109:c003:104::/64 permit 972 | 2620:109:c006:104::/64 permit 973 | 2620:109:c00d:104::/64 permit 974 | 2800:3f0:4000::/36 permit 975 | 2800:3f0:4000::/36 permit 976 | 2800:3f0:4000::/36 permit 977 | 2800:3f0:4000::/36 permit 978 | 2800:3f0:4000::/36 permit 979 | 2800:3f0:4000::/36 permit 980 | 2800:3f0:4000::/36 permit 981 | 2800:3f0:4000::/36 permit 982 | 2800:3f0:4000::/36 permit 983 | 2800:3f0:4000::/36 permit 984 | -------------------------------------------------------------------------------- /testdata/sorted-u.txt: -------------------------------------------------------------------------------- 1 | 103.13.69.0/24 permit 2 | 103.237.104.0/22 permit 3 | 104.130.122.0/23 permit 4 | 104.130.96.0/28 permit 5 | 104.40.211.35 permit 6 | 104.43.195.251 permit 7 | 104.47.0.0/17 permit 8 | 107.0.11.224/27 permit 9 | 108.174.3.0/24 permit 10 | 108.174.6.0/24 permit 11 | 108.177.8.0/21 permit 12 | 111.221.112.0/21 permit 13 | 111.221.23.128/25 permit 14 | 111.221.26.0/27 permit 15 | 111.221.66.0/25 permit 16 | 111.221.69.128/25 permit 17 | 124.47.150.0/24 permit 18 | 124.47.189.0/24 permit 19 | 129.41.169.249 permit 20 | 131.107.0.0/16 permit 21 | 131.107.1.18 permit 22 | 131.107.1.19 permit 23 | 131.107.1.20 permit 24 | 131.107.1.37 permit 25 | 131.107.1.44 permit 26 | 131.107.1.48 permit 27 | 131.107.1.56 permit 28 | 13.111.0.0/22 permit 29 | 131.253.30.0/24 permit 30 | 132.245.113.194 permit 31 | 132.245.13.210 permit 32 | 132.245.17.34 permit 33 | 132.245.21.82 permit 34 | 132.245.23.242 permit 35 | 132.245.81.130 permit 36 | 132.245.92.194 permit 37 | 134.170.113.0/26 permit 38 | 134.170.132.0/24 permit 39 | 134.170.140.0/24 permit 40 | 134.170.141.64/26 permit 41 | 134.170.143.0/24 permit 42 | 134.170.174.0/24 permit 43 | 136.146.128.64/27 permit 44 | 136.146.208.16/28 permit 45 | 136.146.210.16/28 permit 46 | 136.147.128.0/20 permit 47 | 136.147.176.0/20 permit 48 | 136.147.46.192/26 permit 49 | 136.147.62.192/26 permit 50 | 146.101.78.0/24 permit 51 | 147.243.1.153 permit 52 | 147.243.128.24 permit 53 | 147.243.128.26 permit 54 | 147.243.1.47 permit 55 | 147.243.1.48 permit 56 | 152.163.0.67 permit 57 | 152.163.0.68 permit 58 | 152.163.0.99 permit 59 | 157.55.0.192/26 permit 60 | 157.55.11.0/25 permit 61 | 157.55.1.128/26 permit 62 | 157.55.133.0/25 permit 63 | 157.55.152.112 permit 64 | 157.55.157.128/25 permit 65 | 157.55.158.0/23 permit 66 | 157.55.2.0/25 permit 67 | 157.55.225.0/25 permit 68 | 157.55.234.0/24 permit 69 | 157.55.49.0/25 permit 70 | 157.55.61.0/24 permit 71 | 157.55.9.128/25 permit 72 | 157.56.110.0/23 permit 73 | 157.56.112.0/24 permit 74 | 157.56.116.0/25 permit 75 | 157.56.120.0/25 permit 76 | 157.56.120.128/26 permit 77 | 157.56.172.28 permit 78 | 157.56.232.0/21 permit 79 | 157.56.237.242 permit 80 | 157.56.240.0/20 permit 81 | 157.56.24.0/25 permit 82 | 157.56.242.98 permit 83 | 157.56.248.0/21 permit 84 | 157.56.87.192/26 permit 85 | 165.254.168.66/31 permit 86 | 165.254.168.68/31 permit 87 | 165.254.168.70/31 permit 88 | 165.254.168.72/31 permit 89 | 166.78.68.0/22 permit 90 | 166.78.68.221 permit 91 | 166.78.69.146 permit 92 | 167.220.67.238 permit 93 | 167.89.0.0/17 permit 94 | 167.89.25.84 permit 95 | 167.89.32.50 permit 96 | 167.89.32.5 permit 97 | 167.89.46.159 permit 98 | 167.89.46.185 permit 99 | 167.89.64.9 permit 100 | 167.89.65.0 permit 101 | 167.89.65.100 permit 102 | 167.89.65.53 permit 103 | 17.110.0.0/15 permit 104 | 17.133.0.0/16 permit 105 | 17.142.0.0/15 permit 106 | 17.151.1.0/24 permit 107 | 17.158.0.0/15 permit 108 | 17.162.0.0/15 permit 109 | 17.164.0.0/16 permit 110 | 17.171.37.0/24 permit 111 | 17.172.0.0/16 permit 112 | 173.193.132.0/23 permit 113 | 173.193.210.32/27 permit 114 | 173.194.0.0/16 permit 115 | 173.194.205.27 permit 116 | 173.203.79.182 permit 117 | 173.203.81.39 permit 118 | 173.228.155.0/24 permit 119 | 17.41.0.0/16 permit 120 | 174.129.194.241 permit 121 | 174.137.46.0/24 permit 122 | 174.36.114.128/30 permit 123 | 174.36.114.140/30 permit 124 | 174.36.114.148/30 permit 125 | 174.36.114.152/29 permit 126 | 174.36.80.208/28 permit 127 | 174.36.84.144/29 permit 128 | 174.36.84.16/29 permit 129 | 174.36.84.240/29 permit 130 | 174.36.84.32/29 permit 131 | 174.36.84.8/29 permit 132 | 174.36.85.248/30 permit 133 | 174.36.92.96/27 permit 134 | 174.37.226.64/27 permit 135 | 174.37.67.28/30 permit 136 | 178.249.202.16/29 permit 137 | 178.249.98.16/29 permit 138 | 182.50.76.0/22 permit 139 | 182.50.78.64/28 permit 140 | 184.173.105.0/24 permit 141 | 184.173.153.0/24 permit 142 | 185.12.80.0/22 permit 143 | 185.28.196.0/22 permit 144 | 185.4.120.0/24 permit 145 | 185.4.122.0/24 permit 146 | 188.172.128.0/20 permit 147 | 191.239.213.197 permit 148 | 192.161.144.0/20 permit 149 | 192.230.81.86 permit 150 | 192.237.158.0/23 permit 151 | 192.237.159.42 permit 152 | 192.237.159.43 permit 153 | 192.254.112.0/20 permit 154 | 192.254.115.72 permit 155 | 192.28.128.0/18 permit 156 | 192.64.236.0/24 permit 157 | 192.64.237.0/24 permit 158 | 192.64.238.0/24 permit 159 | 193.28.178.0/25 permit 160 | 194.64.234.128/27 permit 161 | 195.130.217.0/24 permit 162 | 195.54.172.0/23 permit 163 | 198.21.0.0/21 permit 164 | 198.2.128.0/18 permit 165 | 198.2.128.0/24 permit 166 | 198.21.3.166 permit 167 | 198.2.132.0/22 permit 168 | 198.2.136.0/23 permit 169 | 198.21.4.224 permit 170 | 198.2.177.0/24 permit 171 | 198.2.178.0/24 permit 172 | 198.2.179.0/24 permit 173 | 198.2.180.0/24 permit 174 | 198.2.186.0/23 permit 175 | 198.245.80.0/20 permit 176 | 198.37.144.0/20 permit 177 | 198.37.145.250 permit 178 | 198.37.149.128 permit 179 | 198.41.208.137 permit 180 | 198.41.208.138 permit 181 | 198.41.208.139 permit 182 | 198.41.208.140 permit 183 | 198.41.208.141 permit 184 | 198.41.208.142 permit 185 | 198.41.208.143 permit 186 | 198.41.209.136 permit 187 | 198.41.209.137 permit 188 | 198.41.209.138 permit 189 | 198.41.209.139 permit 190 | 198.41.209.140 permit 191 | 198.41.209.141 permit 192 | 198.41.209.142 permit 193 | 198.41.209.143 permit 194 | 198.61.254.0/23 permit 195 | 199.101.161.130 permit 196 | 199.101.162.0/25 permit 197 | 199.122.120.0/21 permit 198 | 199.127.232.0/22 permit 199 | 199.15.212.0/22 permit 200 | 199.15.214.169/32 permit 201 | 199.16.156.0/22 permit 202 | 199.187.117.209 permit 203 | 199.187.117.233 permit 204 | 199.187.117.234/31 permit 205 | 199.187.117.236/31 permit 206 | 199.187.118.201 permit 207 | 199.187.118.202/31 permit 208 | 199.187.118.204 permit 209 | 199.187.118.209 permit 210 | 199.255.192.0/22 permit 211 | 199.59.148.0/22 permit 212 | 199.83.132.86 permit 213 | 2001:4860:4000::/36 permit 214 | 202.129.242.0/23 permit 215 | 202.177.148.100 permit 216 | 202.177.148.110 permit 217 | 203.122.32.250 permit 218 | 203.32.4.25 permit 219 | 204.13.11.48/30 permit 220 | 204.14.232.0/21 permit 221 | 204.14.232.64/28 permit 222 | 204.14.234.64/28 permit 223 | 204.14.238.0/27 permit 224 | 204.153.121.0/24 permit 225 | 204.92.114.203 permit 226 | 204.92.114.204/31 permit 227 | 205.139.110.0/23 permit 228 | 205.201.128.0/20 permit 229 | 205.201.131.128/25 permit 230 | 205.201.132.14 permit 231 | 205.201.134.128/25 permit 232 | 205.201.136.0/23 permit 233 | 205.201.137.229 permit 234 | 205.201.139.0/24 permit 235 | 205.201.140.14 permit 236 | 205.207.104.0/22 permit 237 | 205.217.25.132 permit 238 | 205.217.25.135 permit 239 | 206.165.246.80/29 permit 240 | 206.191.224.0/19 permit 241 | 206.246.157.1 permit 242 | 207.126.144.0/20 permit 243 | 207.211.30.0/24 permit 244 | 207.211.31.0/25 permit 245 | 207.211.41.113 permit 246 | 207.250.68.0/24 permit 247 | 207.46.100.0/24 permit 248 | 207.46.101.128/26 permit 249 | 207.46.108.0/25 permit 250 | 207.46.116.128/29 permit 251 | 207.46.117.0/24 permit 252 | 207.46.132.128/27 permit 253 | 207.46.163.0/24 permit 254 | 207.46.198.0/25 permit 255 | 207.46.200.0/27 permit 256 | 207.46.22.101 permit 257 | 207.46.22.35 permit 258 | 207.46.22.98 permit 259 | 207.46.4.128/25 permit 260 | 207.46.50.192/26 permit 261 | 207.46.50.224 permit 262 | 207.46.50.72 permit 263 | 207.46.50.82 permit 264 | 207.46.51.64/26 permit 265 | 207.46.52.71 permit 266 | 207.46.52.79 permit 267 | 207.46.58.128/25 permit 268 | 207.67.38.0/24 permit 269 | 207.67.98.192/27 permit 270 | 207.68.176.0/26 permit 271 | 207.68.176.96/27 permit 272 | 207.82.80.0/24 permit 273 | 208.115.214.0/24 permit 274 | 208.115.235.0/24 permit 275 | 208.115.239.0/24 permit 276 | 208.117.48.0/20 permit 277 | 208.43.21.28/30 permit 278 | 208.43.21.64/29 permit 279 | 208.43.21.72/30 permit 280 | 208.43.239.136/30 permit 281 | 208.66.139.0/25 permit 282 | 208.74.204.0/22 permit 283 | 208.75.120.0/22 permit 284 | 208.75.122.246 permit 285 | 208.82.236.96/28 permit 286 | 208.82.237.96/28 permit 287 | 208.82.238.96/28 permit 288 | 208.89.13.233 permit 289 | 208.89.13.234/31 permit 290 | 208.89.13.236/31 permit 291 | 208.89.14.201 permit 292 | 208.89.14.202/31 permit 293 | 208.89.14.204 permit 294 | 208.89.14.209 permit 295 | 209.43.22.0/28 permit 296 | 209.61.151.0/24 permit 297 | 209.67.98.59 permit 298 | 209.85.128.0/17 permit 299 | 212.227.126.128/25 permit 300 | 212.227.15.0/24 permit 301 | 212.227.17.0/27 permit 302 | 212.4.136.0/26 permit 303 | 213.165.64.0/23 permit 304 | 213.167.75.0/24 permit 305 | 213.167.81.0/24 permit 306 | 213.199.128.139 permit 307 | 213.199.128.145 permit 308 | 213.199.138.181 permit 309 | 213.199.138.191 permit 310 | 213.199.154.0/24 permit 311 | 213.199.161.128/27 permit 312 | 213.199.177.0/26 permit 313 | 213.199.180.0/24 permit 314 | 216.113.160.0/24 permit 315 | 216.113.172.0/25 permit 316 | 216.113.175.0/24 permit 317 | 216.136.162.65 permit 318 | 216.198.0.0/18 permit 319 | 216.203.30.55 permit 320 | 216.203.33.178/31 permit 321 | 216.205.24.0/24 permit 322 | 216.229.156.0/25 permit 323 | 216.239.32.0/19 permit 324 | 216.32.180.0/23 permit 325 | 216.52.242.16 permit 326 | 216.58.192.0/19 permit 327 | 216.99.5.67 permit 328 | 216.99.5.68 permit 329 | 217.175.193.0/24 permit 330 | 217.175.194.0/24 permit 331 | 217.175.195.0/24 permit 332 | 217.175.196.0/24 permit 333 | 217.72.207.0/27 permit 334 | 217.77.141.52 permit 335 | 217.77.141.59 permit 336 | 23.100.122.175 permit 337 | 23.103.128.0/19 permit 338 | 23.103.191.0/24 permit 339 | 23.103.198.0/23 permit 340 | 23.103.200.0/21 permit 341 | 23.103.208.0/21 permit 342 | 23.103.224.0/19 permit 343 | 23.21.83.90 permit 344 | 23.23.237.213 permit 345 | 23.253.182.0/24 permit 346 | 23.253.182.103 permit 347 | 23.253.183.0/24 permit 348 | 23.96.52.53 permit 349 | 2404:6800:4000::/36 permit 350 | 2607:f8b0:4000::/36 permit 351 | 2607:f8b0:400d:c02::1a permit 352 | 2620:109:c003:104::/64 permit 353 | 2620:109:c006:104::/64 permit 354 | 2620:109:c00d:104::/64 permit 355 | 2800:3f0:4000::/36 permit 356 | 2a00:1450:4000::/36 permit 357 | 2a01:111:f400::/48 permit 358 | 2a04:35c0::/29 permit 359 | 2c0f:fb50:4000::/36 permit 360 | 37.188.97.188/32 permit 361 | 41.74.192.0/22 permit 362 | 41.74.196.0/22 permit 363 | 41.74.200.0/22 permit 364 | 41.74.201.0/24 permit 365 | 41.74.204.0/22 permit 366 | 41.74.205.0/24 permit 367 | 46.19.168.0/23 permit 368 | 50.18.121.236 permit 369 | 50.18.121.248 permit 370 | 50.18.123.221 permit 371 | 50.18.124.70 permit 372 | 50.18.125.237 permit 373 | 50.18.125.97 permit 374 | 50.18.126.162 permit 375 | 50.18.45.249 permit 376 | 50.22.164.201 permit 377 | 50.23.218.192/27 permit 378 | 50.31.156.96/27 permit 379 | 50.31.32.0/19 permit 380 | 50.31.36.197 permit 381 | 50.31.36.199 permit 382 | 50.31.36.205 permit 383 | 50.31.36.208 permit 384 | 50.31.36.213 permit 385 | 50.31.60.1 permit 386 | 52.0.20.102 permit 387 | 54.173.229.38 permit 388 | 54.240.0.0/18 permit 389 | 54.243.205.80 permit 390 | 62.17.146.128/26 permit 391 | 63.111.28.137 permit 392 | 63.128.21.0/24 permit 393 | 64.127.115.252 permit 394 | 64.12.88.131 permit 395 | 64.12.88.132 permit 396 | 64.12.91.195 permit 397 | 64.132.88.0/23 permit 398 | 64.132.92.0/24 permit 399 | 64.135.77.0/24 permit 400 | 64.135.83.0/24 permit 401 | 64.18.0.0/20 permit 402 | 64.20.241.45 permit 403 | 64.233.160.0/19 permit 404 | 64.34.47.128/27 permit 405 | 64.34.57.192/26 permit 406 | 64.4.22.64/26 permit 407 | 64.79.155.192 permit 408 | 65.110.161.77 permit 409 | 65.242.92.0/24 permit 410 | 65.39.215.0/24 permit 411 | 65.54.121.120/29 permit 412 | 65.54.121.124/31 permit 413 | 65.54.190.0/24 permit 414 | 65.54.241.0/24 permit 415 | 65.54.51.64/26 permit 416 | 65.54.61.64/26 permit 417 | 65.55.111.0/24 permit 418 | 65.55.113.64/26 permit 419 | 65.55.116.0/25 permit 420 | 65.55.126.0/25 permit 421 | 65.55.169.0/24 permit 422 | 65.55.174.0/25 permit 423 | 65.55.178.128/27 permit 424 | 65.55.234.192/26 permit 425 | 65.55.33.64/28 permit 426 | 65.55.34.0/24 permit 427 | 65.55.42.224/28 permit 428 | 65.55.52.224/27 permit 429 | 65.55.77.28 permit 430 | 65.55.78.128/25 permit 431 | 65.55.81.48/28 permit 432 | 65.55.81.54/31 permit 433 | 65.55.85.12 permit 434 | 65.55.88.0/24 permit 435 | 65.55.90.0/24 permit 436 | 65.55.94.0/25 permit 437 | 66.102.0.0/20 permit 438 | 66.135.213.241 permit 439 | 66.135.215.0/24 permit 440 | 66.211.161.0/25 permit 441 | 66.211.184.0/23 permit 442 | 66.220.144.128/25 permit 443 | 66.220.155.128/25 permit 444 | 66.220.157.0/25 permit 445 | 66.231.80.0/20 permit 446 | 66.249.80.0/20 permit 447 | 66.77.16.201/32 permit 448 | 67.228.21.184/29 permit 449 | 67.228.2.24/30 permit 450 | 67.228.37.4/30 permit 451 | 67.228.50.32/27 permit 452 | 67.231.145.42 permit 453 | 67.231.153.30 permit 454 | 67.23.31.6 permit 455 | 67.72.99.26 permit 456 | 68.232.192.0/20 permit 457 | 69.162.98.0/24 permit 458 | 69.171.232.128/25 permit 459 | 69.63.178.128/25 permit 460 | 69.63.184.0/25 permit 461 | 69.65.42.195 permit 462 | 69.65.49.192/29 permit 463 | 70.37.151.128/25 permit 464 | 72.14.192.0/18 permit 465 | 72.249.147.250/32 permit 466 | 72.3.185.0/24 permit 467 | 72.32.154.0/24 permit 468 | 72.32.217.0/24 permit 469 | 72.32.243.0/24 permit 470 | 72.3.237.64/28 permit 471 | 72.5.230.111/32 permit 472 | 74.112.170.21/32 permit 473 | 74.125.0.0/16 permit 474 | 74.201.152.59/32 permit 475 | 74.201.154.0/24 permit 476 | 74.201.155.25/32 permit 477 | 74.201.155.26/32 permit 478 | 74.201.155.27/32 permit 479 | 74.201.155.28/32 permit 480 | 74.201.155.79/32 permit 481 | 74.201.84.0/24 permit 482 | 74.202.227.52/32 permit 483 | 74.208.122.0/26 permit 484 | 74.208.4.192/26 permit 485 | 74.208.5.64/26 permit 486 | 74.63.194.0/24 permit 487 | 74.63.202.0/24 permit 488 | 74.63.202.100 permit 489 | 74.63.231.0/24 permit 490 | 74.63.234.0/24 permit 491 | 74.63.234.75 permit 492 | 74.63.235.0/24 permit 493 | 74.63.236.0/24 permit 494 | 74.63.247.0/24 permit 495 | 74.63.63.115 permit 496 | 74.63.63.121 permit 497 | 74.86.113.28/30 permit 498 | 74.86.129.240/30 permit 499 | 74.86.131.208/30 permit 500 | 74.86.132.208/30 permit 501 | 74.86.160.160/30 permit 502 | 74.86.164.188/30 permit 503 | 74.86.171.192/30 permit 504 | 74.86.195.28/30 permit 505 | 74.86.207.36/30 permit 506 | 74.86.226.216/30 permit 507 | 74.86.236.240/30 permit 508 | 74.86.241.250/31 permit 509 | 75.126.200.128/27 permit 510 | 75.126.253.0/24 permit 511 | 75.126.253.48 permit 512 | 81.223.46.0/27 permit 513 | 82.165.159.0/24 permit 514 | 8.25.194.0/23 permit 515 | 8.25.196.0/23 permit 516 | 85.222.130.224/28 permit 517 | 86.61.88.25 permit 518 | 91.194.248.0/23 permit 519 | 91.211.240.0/24 permit 520 | 91.211.242.0/24 permit 521 | 91.211.243.0/24 permit 522 | 91.220.42.0/24 permit 523 | 94.236.119.0/26 permit 524 | 94.245.112.0/27 permit 525 | 94.245.112.10/31 permit 526 | 96.43.144.0/20 permit 527 | 96.43.144.64/28 permit 528 | 96.43.144.64/31 permit 529 | 96.43.147.64/28 permit 530 | 96.43.148.64/28 permit 531 | 96.43.148.64/31 permit 532 | 96.43.151.64/28 permit 533 | 96.43.152.64/27 permit 534 | 96.43.153.64/27 permit 535 | 96.46.150.192/27 permit 536 | -------------------------------------------------------------------------------- /testdata/sorted-uV.txt: -------------------------------------------------------------------------------- 1 | 2a00:1450:4000::/36 permit 2 | 2a01:111:f400::/48 permit 3 | 2a04:35c0::/29 permit 4 | 2c0f:fb50:4000::/36 permit 5 | 8.25.194.0/23 permit 6 | 8.25.196.0/23 permit 7 | 13.111.0.0/22 permit 8 | 17.41.0.0/16 permit 9 | 17.110.0.0/15 permit 10 | 17.133.0.0/16 permit 11 | 17.142.0.0/15 permit 12 | 17.151.1.0/24 permit 13 | 17.158.0.0/15 permit 14 | 17.162.0.0/15 permit 15 | 17.164.0.0/16 permit 16 | 17.171.37.0/24 permit 17 | 17.172.0.0/16 permit 18 | 23.21.83.90 permit 19 | 23.23.237.213 permit 20 | 23.96.52.53 permit 21 | 23.100.122.175 permit 22 | 23.103.128.0/19 permit 23 | 23.103.191.0/24 permit 24 | 23.103.198.0/23 permit 25 | 23.103.200.0/21 permit 26 | 23.103.208.0/21 permit 27 | 23.103.224.0/19 permit 28 | 23.253.182.0/24 permit 29 | 23.253.182.103 permit 30 | 23.253.183.0/24 permit 31 | 37.188.97.188/32 permit 32 | 41.74.192.0/22 permit 33 | 41.74.196.0/22 permit 34 | 41.74.200.0/22 permit 35 | 41.74.201.0/24 permit 36 | 41.74.204.0/22 permit 37 | 41.74.205.0/24 permit 38 | 46.19.168.0/23 permit 39 | 50.18.45.249 permit 40 | 50.18.121.236 permit 41 | 50.18.121.248 permit 42 | 50.18.123.221 permit 43 | 50.18.124.70 permit 44 | 50.18.125.97 permit 45 | 50.18.125.237 permit 46 | 50.18.126.162 permit 47 | 50.22.164.201 permit 48 | 50.23.218.192/27 permit 49 | 50.31.32.0/19 permit 50 | 50.31.36.197 permit 51 | 50.31.36.199 permit 52 | 50.31.36.205 permit 53 | 50.31.36.208 permit 54 | 50.31.36.213 permit 55 | 50.31.60.1 permit 56 | 50.31.156.96/27 permit 57 | 52.0.20.102 permit 58 | 54.173.229.38 permit 59 | 54.240.0.0/18 permit 60 | 54.243.205.80 permit 61 | 62.17.146.128/26 permit 62 | 63.111.28.137 permit 63 | 63.128.21.0/24 permit 64 | 64.4.22.64/26 permit 65 | 64.12.88.131 permit 66 | 64.12.88.132 permit 67 | 64.12.91.195 permit 68 | 64.18.0.0/20 permit 69 | 64.20.241.45 permit 70 | 64.34.47.128/27 permit 71 | 64.34.57.192/26 permit 72 | 64.79.155.192 permit 73 | 64.127.115.252 permit 74 | 64.132.88.0/23 permit 75 | 64.132.92.0/24 permit 76 | 64.135.77.0/24 permit 77 | 64.135.83.0/24 permit 78 | 64.233.160.0/19 permit 79 | 65.39.215.0/24 permit 80 | 65.54.51.64/26 permit 81 | 65.54.61.64/26 permit 82 | 65.54.121.120/29 permit 83 | 65.54.121.124/31 permit 84 | 65.54.190.0/24 permit 85 | 65.54.241.0/24 permit 86 | 65.55.33.64/28 permit 87 | 65.55.34.0/24 permit 88 | 65.55.42.224/28 permit 89 | 65.55.52.224/27 permit 90 | 65.55.77.28 permit 91 | 65.55.78.128/25 permit 92 | 65.55.81.48/28 permit 93 | 65.55.81.54/31 permit 94 | 65.55.85.12 permit 95 | 65.55.88.0/24 permit 96 | 65.55.90.0/24 permit 97 | 65.55.94.0/25 permit 98 | 65.55.111.0/24 permit 99 | 65.55.113.64/26 permit 100 | 65.55.116.0/25 permit 101 | 65.55.126.0/25 permit 102 | 65.55.169.0/24 permit 103 | 65.55.174.0/25 permit 104 | 65.55.178.128/27 permit 105 | 65.55.234.192/26 permit 106 | 65.110.161.77 permit 107 | 65.242.92.0/24 permit 108 | 66.77.16.201/32 permit 109 | 66.102.0.0/20 permit 110 | 66.135.213.241 permit 111 | 66.135.215.0/24 permit 112 | 66.211.161.0/25 permit 113 | 66.211.184.0/23 permit 114 | 66.220.144.128/25 permit 115 | 66.220.155.128/25 permit 116 | 66.220.157.0/25 permit 117 | 66.231.80.0/20 permit 118 | 66.249.80.0/20 permit 119 | 67.23.31.6 permit 120 | 67.72.99.26 permit 121 | 67.228.2.24/30 permit 122 | 67.228.21.184/29 permit 123 | 67.228.37.4/30 permit 124 | 67.228.50.32/27 permit 125 | 67.231.145.42 permit 126 | 67.231.153.30 permit 127 | 68.232.192.0/20 permit 128 | 69.63.178.128/25 permit 129 | 69.63.184.0/25 permit 130 | 69.65.42.195 permit 131 | 69.65.49.192/29 permit 132 | 69.162.98.0/24 permit 133 | 69.171.232.128/25 permit 134 | 70.37.151.128/25 permit 135 | 72.3.185.0/24 permit 136 | 72.3.237.64/28 permit 137 | 72.5.230.111/32 permit 138 | 72.14.192.0/18 permit 139 | 72.32.154.0/24 permit 140 | 72.32.217.0/24 permit 141 | 72.32.243.0/24 permit 142 | 72.249.147.250/32 permit 143 | 74.63.63.115 permit 144 | 74.63.63.121 permit 145 | 74.63.194.0/24 permit 146 | 74.63.202.0/24 permit 147 | 74.63.202.100 permit 148 | 74.63.231.0/24 permit 149 | 74.63.234.0/24 permit 150 | 74.63.234.75 permit 151 | 74.63.235.0/24 permit 152 | 74.63.236.0/24 permit 153 | 74.63.247.0/24 permit 154 | 74.86.113.28/30 permit 155 | 74.86.129.240/30 permit 156 | 74.86.131.208/30 permit 157 | 74.86.132.208/30 permit 158 | 74.86.160.160/30 permit 159 | 74.86.164.188/30 permit 160 | 74.86.171.192/30 permit 161 | 74.86.195.28/30 permit 162 | 74.86.207.36/30 permit 163 | 74.86.226.216/30 permit 164 | 74.86.236.240/30 permit 165 | 74.86.241.250/31 permit 166 | 74.112.170.21/32 permit 167 | 74.125.0.0/16 permit 168 | 74.201.84.0/24 permit 169 | 74.201.152.59/32 permit 170 | 74.201.154.0/24 permit 171 | 74.201.155.25/32 permit 172 | 74.201.155.26/32 permit 173 | 74.201.155.27/32 permit 174 | 74.201.155.28/32 permit 175 | 74.201.155.79/32 permit 176 | 74.202.227.52/32 permit 177 | 74.208.4.192/26 permit 178 | 74.208.5.64/26 permit 179 | 74.208.122.0/26 permit 180 | 75.126.200.128/27 permit 181 | 75.126.253.0/24 permit 182 | 75.126.253.48 permit 183 | 81.223.46.0/27 permit 184 | 82.165.159.0/24 permit 185 | 85.222.130.224/28 permit 186 | 86.61.88.25 permit 187 | 91.194.248.0/23 permit 188 | 91.211.240.0/24 permit 189 | 91.211.242.0/24 permit 190 | 91.211.243.0/24 permit 191 | 91.220.42.0/24 permit 192 | 94.236.119.0/26 permit 193 | 94.245.112.0/27 permit 194 | 94.245.112.10/31 permit 195 | 96.43.144.0/20 permit 196 | 96.43.144.64/28 permit 197 | 96.43.144.64/31 permit 198 | 96.43.147.64/28 permit 199 | 96.43.148.64/28 permit 200 | 96.43.148.64/31 permit 201 | 96.43.151.64/28 permit 202 | 96.43.152.64/27 permit 203 | 96.43.153.64/27 permit 204 | 96.46.150.192/27 permit 205 | 103.13.69.0/24 permit 206 | 103.237.104.0/22 permit 207 | 104.40.211.35 permit 208 | 104.43.195.251 permit 209 | 104.47.0.0/17 permit 210 | 104.130.96.0/28 permit 211 | 104.130.122.0/23 permit 212 | 107.0.11.224/27 permit 213 | 108.174.3.0/24 permit 214 | 108.174.6.0/24 permit 215 | 108.177.8.0/21 permit 216 | 111.221.23.128/25 permit 217 | 111.221.26.0/27 permit 218 | 111.221.66.0/25 permit 219 | 111.221.69.128/25 permit 220 | 111.221.112.0/21 permit 221 | 124.47.150.0/24 permit 222 | 124.47.189.0/24 permit 223 | 129.41.169.249 permit 224 | 131.107.0.0/16 permit 225 | 131.107.1.18 permit 226 | 131.107.1.19 permit 227 | 131.107.1.20 permit 228 | 131.107.1.37 permit 229 | 131.107.1.44 permit 230 | 131.107.1.48 permit 231 | 131.107.1.56 permit 232 | 131.253.30.0/24 permit 233 | 132.245.13.210 permit 234 | 132.245.17.34 permit 235 | 132.245.21.82 permit 236 | 132.245.23.242 permit 237 | 132.245.81.130 permit 238 | 132.245.92.194 permit 239 | 132.245.113.194 permit 240 | 134.170.113.0/26 permit 241 | 134.170.132.0/24 permit 242 | 134.170.140.0/24 permit 243 | 134.170.141.64/26 permit 244 | 134.170.143.0/24 permit 245 | 134.170.174.0/24 permit 246 | 136.146.128.64/27 permit 247 | 136.146.208.16/28 permit 248 | 136.146.210.16/28 permit 249 | 136.147.46.192/26 permit 250 | 136.147.62.192/26 permit 251 | 136.147.128.0/20 permit 252 | 136.147.176.0/20 permit 253 | 146.101.78.0/24 permit 254 | 147.243.1.47 permit 255 | 147.243.1.48 permit 256 | 147.243.1.153 permit 257 | 147.243.128.24 permit 258 | 147.243.128.26 permit 259 | 152.163.0.67 permit 260 | 152.163.0.68 permit 261 | 152.163.0.99 permit 262 | 157.55.0.192/26 permit 263 | 157.55.1.128/26 permit 264 | 157.55.2.0/25 permit 265 | 157.55.9.128/25 permit 266 | 157.55.11.0/25 permit 267 | 157.55.49.0/25 permit 268 | 157.55.61.0/24 permit 269 | 157.55.133.0/25 permit 270 | 157.55.152.112 permit 271 | 157.55.157.128/25 permit 272 | 157.55.158.0/23 permit 273 | 157.55.225.0/25 permit 274 | 157.55.234.0/24 permit 275 | 157.56.24.0/25 permit 276 | 157.56.87.192/26 permit 277 | 157.56.110.0/23 permit 278 | 157.56.112.0/24 permit 279 | 157.56.116.0/25 permit 280 | 157.56.120.0/25 permit 281 | 157.56.120.128/26 permit 282 | 157.56.172.28 permit 283 | 157.56.232.0/21 permit 284 | 157.56.237.242 permit 285 | 157.56.240.0/20 permit 286 | 157.56.242.98 permit 287 | 157.56.248.0/21 permit 288 | 165.254.168.66/31 permit 289 | 165.254.168.68/31 permit 290 | 165.254.168.70/31 permit 291 | 165.254.168.72/31 permit 292 | 166.78.68.0/22 permit 293 | 166.78.68.221 permit 294 | 166.78.69.146 permit 295 | 167.89.0.0/17 permit 296 | 167.89.25.84 permit 297 | 167.89.32.5 permit 298 | 167.89.32.50 permit 299 | 167.89.46.159 permit 300 | 167.89.46.185 permit 301 | 167.89.64.9 permit 302 | 167.89.65.0 permit 303 | 167.89.65.53 permit 304 | 167.89.65.100 permit 305 | 167.220.67.238 permit 306 | 173.193.132.0/23 permit 307 | 173.193.210.32/27 permit 308 | 173.194.0.0/16 permit 309 | 173.194.205.27 permit 310 | 173.203.79.182 permit 311 | 173.203.81.39 permit 312 | 173.228.155.0/24 permit 313 | 174.36.80.208/28 permit 314 | 174.36.84.8/29 permit 315 | 174.36.84.16/29 permit 316 | 174.36.84.32/29 permit 317 | 174.36.84.144/29 permit 318 | 174.36.84.240/29 permit 319 | 174.36.85.248/30 permit 320 | 174.36.92.96/27 permit 321 | 174.36.114.128/30 permit 322 | 174.36.114.140/30 permit 323 | 174.36.114.148/30 permit 324 | 174.36.114.152/29 permit 325 | 174.37.67.28/30 permit 326 | 174.37.226.64/27 permit 327 | 174.129.194.241 permit 328 | 174.137.46.0/24 permit 329 | 178.249.98.16/29 permit 330 | 178.249.202.16/29 permit 331 | 182.50.76.0/22 permit 332 | 182.50.78.64/28 permit 333 | 184.173.105.0/24 permit 334 | 184.173.153.0/24 permit 335 | 185.4.120.0/24 permit 336 | 185.4.122.0/24 permit 337 | 185.12.80.0/22 permit 338 | 185.28.196.0/22 permit 339 | 188.172.128.0/20 permit 340 | 191.239.213.197 permit 341 | 192.28.128.0/18 permit 342 | 192.64.236.0/24 permit 343 | 192.64.237.0/24 permit 344 | 192.64.238.0/24 permit 345 | 192.161.144.0/20 permit 346 | 192.230.81.86 permit 347 | 192.237.158.0/23 permit 348 | 192.237.159.42 permit 349 | 192.237.159.43 permit 350 | 192.254.112.0/20 permit 351 | 192.254.115.72 permit 352 | 193.28.178.0/25 permit 353 | 194.64.234.128/27 permit 354 | 195.54.172.0/23 permit 355 | 195.130.217.0/24 permit 356 | 198.2.128.0/18 permit 357 | 198.2.128.0/24 permit 358 | 198.2.132.0/22 permit 359 | 198.2.136.0/23 permit 360 | 198.2.177.0/24 permit 361 | 198.2.178.0/24 permit 362 | 198.2.179.0/24 permit 363 | 198.2.180.0/24 permit 364 | 198.2.186.0/23 permit 365 | 198.21.0.0/21 permit 366 | 198.21.3.166 permit 367 | 198.21.4.224 permit 368 | 198.37.144.0/20 permit 369 | 198.37.145.250 permit 370 | 198.37.149.128 permit 371 | 198.41.208.137 permit 372 | 198.41.208.138 permit 373 | 198.41.208.139 permit 374 | 198.41.208.140 permit 375 | 198.41.208.141 permit 376 | 198.41.208.142 permit 377 | 198.41.208.143 permit 378 | 198.41.209.136 permit 379 | 198.41.209.137 permit 380 | 198.41.209.138 permit 381 | 198.41.209.139 permit 382 | 198.41.209.140 permit 383 | 198.41.209.141 permit 384 | 198.41.209.142 permit 385 | 198.41.209.143 permit 386 | 198.61.254.0/23 permit 387 | 198.245.80.0/20 permit 388 | 199.15.212.0/22 permit 389 | 199.15.214.169/32 permit 390 | 199.16.156.0/22 permit 391 | 199.59.148.0/22 permit 392 | 199.83.132.86 permit 393 | 199.101.161.130 permit 394 | 199.101.162.0/25 permit 395 | 199.122.120.0/21 permit 396 | 199.127.232.0/22 permit 397 | 199.187.117.209 permit 398 | 199.187.117.233 permit 399 | 199.187.117.234/31 permit 400 | 199.187.117.236/31 permit 401 | 199.187.118.201 permit 402 | 199.187.118.202/31 permit 403 | 199.187.118.204 permit 404 | 199.187.118.209 permit 405 | 199.255.192.0/22 permit 406 | 202.129.242.0/23 permit 407 | 202.177.148.100 permit 408 | 202.177.148.110 permit 409 | 203.32.4.25 permit 410 | 203.122.32.250 permit 411 | 204.13.11.48/30 permit 412 | 204.14.232.0/21 permit 413 | 204.14.232.64/28 permit 414 | 204.14.234.64/28 permit 415 | 204.14.238.0/27 permit 416 | 204.92.114.203 permit 417 | 204.92.114.204/31 permit 418 | 204.153.121.0/24 permit 419 | 205.139.110.0/23 permit 420 | 205.201.128.0/20 permit 421 | 205.201.131.128/25 permit 422 | 205.201.132.14 permit 423 | 205.201.134.128/25 permit 424 | 205.201.136.0/23 permit 425 | 205.201.137.229 permit 426 | 205.201.139.0/24 permit 427 | 205.201.140.14 permit 428 | 205.207.104.0/22 permit 429 | 205.217.25.132 permit 430 | 205.217.25.135 permit 431 | 206.165.246.80/29 permit 432 | 206.191.224.0/19 permit 433 | 206.246.157.1 permit 434 | 207.46.4.128/25 permit 435 | 207.46.22.35 permit 436 | 207.46.22.98 permit 437 | 207.46.22.101 permit 438 | 207.46.50.72 permit 439 | 207.46.50.82 permit 440 | 207.46.50.192/26 permit 441 | 207.46.50.224 permit 442 | 207.46.51.64/26 permit 443 | 207.46.52.71 permit 444 | 207.46.52.79 permit 445 | 207.46.58.128/25 permit 446 | 207.46.100.0/24 permit 447 | 207.46.101.128/26 permit 448 | 207.46.108.0/25 permit 449 | 207.46.116.128/29 permit 450 | 207.46.117.0/24 permit 451 | 207.46.132.128/27 permit 452 | 207.46.163.0/24 permit 453 | 207.46.198.0/25 permit 454 | 207.46.200.0/27 permit 455 | 207.67.38.0/24 permit 456 | 207.67.98.192/27 permit 457 | 207.68.176.0/26 permit 458 | 207.68.176.96/27 permit 459 | 207.82.80.0/24 permit 460 | 207.126.144.0/20 permit 461 | 207.211.30.0/24 permit 462 | 207.211.31.0/25 permit 463 | 207.211.41.113 permit 464 | 207.250.68.0/24 permit 465 | 208.43.21.28/30 permit 466 | 208.43.21.64/29 permit 467 | 208.43.21.72/30 permit 468 | 208.43.239.136/30 permit 469 | 208.66.139.0/25 permit 470 | 208.74.204.0/22 permit 471 | 208.75.120.0/22 permit 472 | 208.75.122.246 permit 473 | 208.82.236.96/28 permit 474 | 208.82.237.96/28 permit 475 | 208.82.238.96/28 permit 476 | 208.89.13.233 permit 477 | 208.89.13.234/31 permit 478 | 208.89.13.236/31 permit 479 | 208.89.14.201 permit 480 | 208.89.14.202/31 permit 481 | 208.89.14.204 permit 482 | 208.89.14.209 permit 483 | 208.115.214.0/24 permit 484 | 208.115.235.0/24 permit 485 | 208.115.239.0/24 permit 486 | 208.117.48.0/20 permit 487 | 209.43.22.0/28 permit 488 | 209.61.151.0/24 permit 489 | 209.67.98.59 permit 490 | 209.85.128.0/17 permit 491 | 212.4.136.0/26 permit 492 | 212.227.15.0/24 permit 493 | 212.227.17.0/27 permit 494 | 212.227.126.128/25 permit 495 | 213.165.64.0/23 permit 496 | 213.167.75.0/24 permit 497 | 213.167.81.0/24 permit 498 | 213.199.128.139 permit 499 | 213.199.128.145 permit 500 | 213.199.138.181 permit 501 | 213.199.138.191 permit 502 | 213.199.154.0/24 permit 503 | 213.199.161.128/27 permit 504 | 213.199.177.0/26 permit 505 | 213.199.180.0/24 permit 506 | 216.32.180.0/23 permit 507 | 216.52.242.16 permit 508 | 216.58.192.0/19 permit 509 | 216.99.5.67 permit 510 | 216.99.5.68 permit 511 | 216.113.160.0/24 permit 512 | 216.113.172.0/25 permit 513 | 216.113.175.0/24 permit 514 | 216.136.162.65 permit 515 | 216.198.0.0/18 permit 516 | 216.203.30.55 permit 517 | 216.203.33.178/31 permit 518 | 216.205.24.0/24 permit 519 | 216.229.156.0/25 permit 520 | 216.239.32.0/19 permit 521 | 217.72.207.0/27 permit 522 | 217.77.141.52 permit 523 | 217.77.141.59 permit 524 | 217.175.193.0/24 permit 525 | 217.175.194.0/24 permit 526 | 217.175.195.0/24 permit 527 | 217.175.196.0/24 permit 528 | 2001:4860:4000::/36 permit 529 | 2404:6800:4000::/36 permit 530 | 2607:f8b0:400d:c02::1a permit 531 | 2607:f8b0:4000::/36 permit 532 | 2620:109:c00d:104::/64 permit 533 | 2620:109:c003:104::/64 permit 534 | 2620:109:c006:104::/64 permit 535 | 2800:3f0:4000::/36 permit 536 | -------------------------------------------------------------------------------- /testdata/sorted-un.txt: -------------------------------------------------------------------------------- 1 | 2a00:1450:4000::/36 permit 2 | 8.25.194.0/23 permit 3 | 13.111.0.0/22 permit 4 | 17.110.0.0/15 permit 5 | 17.133.0.0/16 permit 6 | 17.142.0.0/15 permit 7 | 17.151.1.0/24 permit 8 | 17.158.0.0/15 permit 9 | 17.162.0.0/15 permit 10 | 17.164.0.0/16 permit 11 | 17.171.37.0/24 permit 12 | 17.172.0.0/16 permit 13 | 17.41.0.0/16 permit 14 | 23.100.122.175 permit 15 | 23.103.128.0/19 permit 16 | 23.21.83.90 permit 17 | 23.23.237.213 permit 18 | 23.253.182.0/24 permit 19 | 23.96.52.53 permit 20 | 37.188.97.188/32 permit 21 | 41.74.192.0/22 permit 22 | 46.19.168.0/23 permit 23 | 50.18.121.236 permit 24 | 50.22.164.201 permit 25 | 50.23.218.192/27 permit 26 | 50.31.32.0/19 permit 27 | 52.0.20.102 permit 28 | 54.173.229.38 permit 29 | 54.240.0.0/18 permit 30 | 54.243.205.80 permit 31 | 62.17.146.128/26 permit 32 | 63.111.28.137 permit 33 | 63.128.21.0/24 permit 34 | 64.12.88.131 permit 35 | 64.127.115.252 permit 36 | 64.132.88.0/23 permit 37 | 64.135.77.0/24 permit 38 | 64.18.0.0/20 permit 39 | 64.20.241.45 permit 40 | 64.233.160.0/19 permit 41 | 64.34.47.128/27 permit 42 | 64.4.22.64/26 permit 43 | 64.79.155.192 permit 44 | 65.110.161.77 permit 45 | 65.242.92.0/24 permit 46 | 65.39.215.0/24 permit 47 | 65.54.121.124/31 permit 48 | 65.55.111.0/24 permit 49 | 66.102.0.0/20 permit 50 | 66.135.213.241 permit 51 | 66.211.161.0/25 permit 52 | 66.220.144.128/25 permit 53 | 66.231.80.0/20 permit 54 | 66.249.80.0/20 permit 55 | 66.77.16.201/32 permit 56 | 67.228.50.32/27 permit 57 | 67.23.31.6 permit 58 | 67.231.145.42 permit 59 | 67.72.99.26 permit 60 | 68.232.192.0/20 permit 61 | 69.162.98.0/24 permit 62 | 69.171.232.128/25 permit 63 | 69.63.178.128/25 permit 64 | 69.65.42.195 permit 65 | 70.37.151.128/25 permit 66 | 72.14.192.0/18 permit 67 | 72.249.147.250/32 permit 68 | 72.3.185.0/24 permit 69 | 72.32.154.0/24 permit 70 | 72.5.230.111/32 permit 71 | 74.112.170.21/32 permit 72 | 74.125.0.0/16 permit 73 | 74.201.152.59/32 permit 74 | 74.202.227.52/32 permit 75 | 74.208.122.0/26 permit 76 | 74.63.194.0/24 permit 77 | 74.86.113.28/30 permit 78 | 75.126.200.128/27 permit 79 | 81.223.46.0/27 permit 80 | 82.165.159.0/24 permit 81 | 85.222.130.224/28 permit 82 | 86.61.88.25 permit 83 | 91.194.248.0/23 permit 84 | 91.211.240.0/24 permit 85 | 91.220.42.0/24 permit 86 | 94.236.119.0/26 permit 87 | 94.245.112.0/27 permit 88 | 96.43.144.64/31 permit 89 | 96.46.150.192/27 permit 90 | 103.13.69.0/24 permit 91 | 103.237.104.0/22 permit 92 | 104.130.122.0/23 permit 93 | 104.40.211.35 permit 94 | 104.43.195.251 permit 95 | 104.47.0.0/17 permit 96 | 107.0.11.224/27 permit 97 | 108.174.3.0/24 permit 98 | 108.177.8.0/21 permit 99 | 111.221.26.0/27 permit 100 | 124.47.150.0/24 permit 101 | 129.41.169.249 permit 102 | 131.107.0.0/16 permit 103 | 131.253.30.0/24 permit 104 | 132.245.113.194 permit 105 | 134.170.113.0/26 permit 106 | 136.146.128.64/27 permit 107 | 136.147.46.192/26 permit 108 | 146.101.78.0/24 permit 109 | 147.243.1.153 permit 110 | 152.163.0.67 permit 111 | 157.55.0.192/26 permit 112 | 157.56.110.0/23 permit 113 | 165.254.168.66/31 permit 114 | 166.78.68.0/22 permit 115 | 167.220.67.238 permit 116 | 167.89.0.0/17 permit 117 | 173.193.132.0/23 permit 118 | 173.194.0.0/16 permit 119 | 173.203.79.182 permit 120 | 173.228.155.0/24 permit 121 | 174.129.194.241 permit 122 | 174.137.46.0/24 permit 123 | 174.36.80.208/28 permit 124 | 174.37.226.64/27 permit 125 | 178.249.202.16/29 permit 126 | 182.50.78.64/28 permit 127 | 184.173.105.0/24 permit 128 | 185.12.80.0/22 permit 129 | 185.28.196.0/22 permit 130 | 185.4.120.0/24 permit 131 | 188.172.128.0/20 permit 132 | 191.239.213.197 permit 133 | 192.161.144.0/20 permit 134 | 192.230.81.86 permit 135 | 192.237.158.0/23 permit 136 | 192.254.112.0/20 permit 137 | 192.28.128.0/18 permit 138 | 192.64.236.0/24 permit 139 | 193.28.178.0/25 permit 140 | 194.64.234.128/27 permit 141 | 195.130.217.0/24 permit 142 | 195.54.172.0/23 permit 143 | 198.2.128.0/18 permit 144 | 198.21.0.0/21 permit 145 | 198.245.80.0/20 permit 146 | 198.37.144.0/20 permit 147 | 198.41.208.137 permit 148 | 198.61.254.0/23 permit 149 | 199.101.161.130 permit 150 | 199.122.120.0/21 permit 151 | 199.127.232.0/22 permit 152 | 199.15.212.0/22 permit 153 | 199.16.156.0/22 permit 154 | 199.187.117.209 permit 155 | 199.255.192.0/22 permit 156 | 199.59.148.0/22 permit 157 | 199.83.132.86 permit 158 | 202.129.242.0/23 permit 159 | 202.177.148.100 permit 160 | 203.122.32.250 permit 161 | 203.32.4.25 permit 162 | 204.13.11.48/30 permit 163 | 204.14.232.64/28 permit 164 | 204.153.121.0/24 permit 165 | 204.92.114.203 permit 166 | 205.139.110.0/23 permit 167 | 205.201.137.229 permit 168 | 205.207.104.0/22 permit 169 | 205.217.25.132 permit 170 | 206.165.246.80/29 permit 171 | 206.191.224.0/19 permit 172 | 206.246.157.1 permit 173 | 207.126.144.0/20 permit 174 | 207.211.30.0/24 permit 175 | 207.250.68.0/24 permit 176 | 207.46.100.0/24 permit 177 | 207.67.38.0/24 permit 178 | 207.68.176.0/26 permit 179 | 207.82.80.0/24 permit 180 | 208.115.214.0/24 permit 181 | 208.117.48.0/20 permit 182 | 208.43.239.136/30 permit 183 | 208.66.139.0/25 permit 184 | 208.74.204.0/22 permit 185 | 208.75.120.0/22 permit 186 | 208.82.236.96/28 permit 187 | 208.89.13.233 permit 188 | 209.43.22.0/28 permit 189 | 209.61.151.0/24 permit 190 | 209.67.98.59 permit 191 | 209.85.128.0/17 permit 192 | 212.227.126.128/25 permit 193 | 212.4.136.0/26 permit 194 | 213.165.64.0/23 permit 195 | 213.167.75.0/24 permit 196 | 213.199.128.139 permit 197 | 216.113.160.0/24 permit 198 | 216.136.162.65 permit 199 | 216.198.0.0/18 permit 200 | 216.203.30.55 permit 201 | 216.205.24.0/24 permit 202 | 216.229.156.0/25 permit 203 | 216.239.32.0/19 permit 204 | 216.32.180.0/23 permit 205 | 216.52.242.16 permit 206 | 216.58.192.0/19 permit 207 | 216.99.5.67 permit 208 | 217.175.193.0/24 permit 209 | 217.72.207.0/27 permit 210 | 217.77.141.52 permit 211 | 2001:4860:4000::/36 permit 212 | 2404:6800:4000::/36 permit 213 | 2607:f8b0:4000::/36 permit 214 | 2620:109:c003:104::/64 permit 215 | 2800:3f0:4000::/36 permit 216 | -------------------------------------------------------------------------------- /testdata/sorted-untk.txt: -------------------------------------------------------------------------------- 1 | 2a00:1450:4000::/36 permit 2 | 8.25.194.0/23 permit 3 | 8.25.196.0/23 permit 4 | 13.111.0.0/22 permit 5 | 17.41.0.0/16 permit 6 | 17.110.0.0/15 permit 7 | 17.133.0.0/16 permit 8 | 17.142.0.0/15 permit 9 | 17.151.1.0/24 permit 10 | 17.158.0.0/15 permit 11 | 17.162.0.0/15 permit 12 | 17.164.0.0/16 permit 13 | 17.171.37.0/24 permit 14 | 17.172.0.0/16 permit 15 | 23.21.83.90 permit 16 | 23.23.237.213 permit 17 | 23.96.52.53 permit 18 | 23.100.122.175 permit 19 | 23.103.128.0/19 permit 20 | 23.103.191.0/24 permit 21 | 23.103.198.0/23 permit 22 | 23.103.200.0/21 permit 23 | 23.103.208.0/21 permit 24 | 23.103.224.0/19 permit 25 | 23.253.182.0/24 permit 26 | 23.253.182.103 permit 27 | 23.253.183.0/24 permit 28 | 37.188.97.188/32 permit 29 | 41.74.192.0/22 permit 30 | 41.74.196.0/22 permit 31 | 41.74.200.0/22 permit 32 | 41.74.201.0/24 permit 33 | 41.74.204.0/22 permit 34 | 41.74.205.0/24 permit 35 | 46.19.168.0/23 permit 36 | 50.18.45.249 permit 37 | 50.18.121.236 permit 38 | 50.18.121.248 permit 39 | 50.18.123.221 permit 40 | 50.18.124.70 permit 41 | 50.18.125.97 permit 42 | 50.18.125.237 permit 43 | 50.18.126.162 permit 44 | 50.22.164.201 permit 45 | 50.23.218.192/27 permit 46 | 50.31.32.0/19 permit 47 | 50.31.36.197 permit 48 | 50.31.36.199 permit 49 | 50.31.36.205 permit 50 | 50.31.36.208 permit 51 | 50.31.36.213 permit 52 | 50.31.60.1 permit 53 | 50.31.156.96/27 permit 54 | 52.0.20.102 permit 55 | 54.173.229.38 permit 56 | 54.240.0.0/18 permit 57 | 54.243.205.80 permit 58 | 62.17.146.128/26 permit 59 | 63.111.28.137 permit 60 | 63.128.21.0/24 permit 61 | 64.4.22.64/26 permit 62 | 64.12.88.131 permit 63 | 64.12.88.132 permit 64 | 64.12.91.195 permit 65 | 64.18.0.0/20 permit 66 | 64.20.241.45 permit 67 | 64.34.47.128/27 permit 68 | 64.34.57.192/26 permit 69 | 64.79.155.192 permit 70 | 64.127.115.252 permit 71 | 64.132.88.0/23 permit 72 | 64.132.92.0/24 permit 73 | 64.135.77.0/24 permit 74 | 64.135.83.0/24 permit 75 | 64.233.160.0/19 permit 76 | 65.39.215.0/24 permit 77 | 65.54.51.64/26 permit 78 | 65.54.61.64/26 permit 79 | 65.54.121.120/29 permit 80 | 65.54.121.124/31 permit 81 | 65.54.190.0/24 permit 82 | 65.54.241.0/24 permit 83 | 65.55.33.64/28 permit 84 | 65.55.34.0/24 permit 85 | 65.55.42.224/28 permit 86 | 65.55.52.224/27 permit 87 | 65.55.77.28 permit 88 | 65.55.78.128/25 permit 89 | 65.55.81.48/28 permit 90 | 65.55.81.54/31 permit 91 | 65.55.85.12 permit 92 | 65.55.88.0/24 permit 93 | 65.55.90.0/24 permit 94 | 65.55.94.0/25 permit 95 | 65.55.111.0/24 permit 96 | 65.55.113.64/26 permit 97 | 65.55.116.0/25 permit 98 | 65.55.126.0/25 permit 99 | 65.55.169.0/24 permit 100 | 65.55.174.0/25 permit 101 | 65.55.178.128/27 permit 102 | 65.55.234.192/26 permit 103 | 65.110.161.77 permit 104 | 65.242.92.0/24 permit 105 | 66.77.16.201/32 permit 106 | 66.102.0.0/20 permit 107 | 66.135.213.241 permit 108 | 66.135.215.0/24 permit 109 | 66.211.161.0/25 permit 110 | 66.211.184.0/23 permit 111 | 66.220.144.128/25 permit 112 | 66.220.155.128/25 permit 113 | 66.220.157.0/25 permit 114 | 66.231.80.0/20 permit 115 | 66.249.80.0/20 permit 116 | 67.23.31.6 permit 117 | 67.72.99.26 permit 118 | 67.228.2.24/30 permit 119 | 67.228.21.184/29 permit 120 | 67.228.37.4/30 permit 121 | 67.228.50.32/27 permit 122 | 67.231.145.42 permit 123 | 67.231.153.30 permit 124 | 68.232.192.0/20 permit 125 | 69.63.178.128/25 permit 126 | 69.63.184.0/25 permit 127 | 69.65.42.195 permit 128 | 69.65.49.192/29 permit 129 | 69.162.98.0/24 permit 130 | 69.171.232.128/25 permit 131 | 70.37.151.128/25 permit 132 | 72.3.185.0/24 permit 133 | 72.3.237.64/28 permit 134 | 72.5.230.111/32 permit 135 | 72.14.192.0/18 permit 136 | 72.32.154.0/24 permit 137 | 72.32.217.0/24 permit 138 | 72.32.243.0/24 permit 139 | 72.249.147.250/32 permit 140 | 74.63.63.115 permit 141 | 74.63.63.121 permit 142 | 74.63.194.0/24 permit 143 | 74.63.202.0/24 permit 144 | 74.63.202.100 permit 145 | 74.63.231.0/24 permit 146 | 74.63.234.0/24 permit 147 | 74.63.234.75 permit 148 | 74.63.235.0/24 permit 149 | 74.63.236.0/24 permit 150 | 74.63.247.0/24 permit 151 | 74.86.113.28/30 permit 152 | 74.86.129.240/30 permit 153 | 74.86.131.208/30 permit 154 | 74.86.132.208/30 permit 155 | 74.86.160.160/30 permit 156 | 74.86.164.188/30 permit 157 | 74.86.171.192/30 permit 158 | 74.86.195.28/30 permit 159 | 74.86.207.36/30 permit 160 | 74.86.226.216/30 permit 161 | 74.86.236.240/30 permit 162 | 74.86.241.250/31 permit 163 | 74.112.170.21/32 permit 164 | 74.125.0.0/16 permit 165 | 74.201.84.0/24 permit 166 | 74.201.152.59/32 permit 167 | 74.201.154.0/24 permit 168 | 74.201.155.25/32 permit 169 | 74.201.155.26/32 permit 170 | 74.201.155.27/32 permit 171 | 74.201.155.28/32 permit 172 | 74.201.155.79/32 permit 173 | 74.202.227.52/32 permit 174 | 74.208.4.192/26 permit 175 | 74.208.5.64/26 permit 176 | 74.208.122.0/26 permit 177 | 75.126.200.128/27 permit 178 | 75.126.253.0/24 permit 179 | 75.126.253.48 permit 180 | 81.223.46.0/27 permit 181 | 82.165.159.0/24 permit 182 | 85.222.130.224/28 permit 183 | 86.61.88.25 permit 184 | 91.194.248.0/23 permit 185 | 91.211.240.0/24 permit 186 | 91.211.242.0/24 permit 187 | 91.211.243.0/24 permit 188 | 91.220.42.0/24 permit 189 | 94.236.119.0/26 permit 190 | 94.245.112.0/27 permit 191 | 94.245.112.10/31 permit 192 | 96.43.144.0/20 permit 193 | 96.43.144.64/31 permit 194 | 96.43.147.64/28 permit 195 | 96.43.148.64/31 permit 196 | 96.43.151.64/28 permit 197 | 96.43.152.64/27 permit 198 | 96.43.153.64/27 permit 199 | 96.46.150.192/27 permit 200 | 103.13.69.0/24 permit 201 | 103.237.104.0/22 permit 202 | 104.40.211.35 permit 203 | 104.43.195.251 permit 204 | 104.47.0.0/17 permit 205 | 104.130.96.0/28 permit 206 | 104.130.122.0/23 permit 207 | 107.0.11.224/27 permit 208 | 108.174.3.0/24 permit 209 | 108.174.6.0/24 permit 210 | 108.177.8.0/21 permit 211 | 111.221.23.128/25 permit 212 | 111.221.26.0/27 permit 213 | 111.221.66.0/25 permit 214 | 111.221.69.128/25 permit 215 | 111.221.112.0/21 permit 216 | 124.47.150.0/24 permit 217 | 124.47.189.0/24 permit 218 | 129.41.169.249 permit 219 | 131.107.0.0/16 permit 220 | 131.107.1.18 permit 221 | 131.107.1.19 permit 222 | 131.107.1.20 permit 223 | 131.107.1.37 permit 224 | 131.107.1.44 permit 225 | 131.107.1.48 permit 226 | 131.107.1.56 permit 227 | 131.253.30.0/24 permit 228 | 132.245.13.210 permit 229 | 132.245.17.34 permit 230 | 132.245.21.82 permit 231 | 132.245.23.242 permit 232 | 132.245.81.130 permit 233 | 132.245.92.194 permit 234 | 132.245.113.194 permit 235 | 134.170.113.0/26 permit 236 | 134.170.132.0/24 permit 237 | 134.170.140.0/24 permit 238 | 134.170.141.64/26 permit 239 | 134.170.143.0/24 permit 240 | 134.170.174.0/24 permit 241 | 136.146.128.64/27 permit 242 | 136.146.208.16/28 permit 243 | 136.146.210.16/28 permit 244 | 136.147.46.192/26 permit 245 | 136.147.62.192/26 permit 246 | 136.147.128.0/20 permit 247 | 136.147.176.0/20 permit 248 | 146.101.78.0/24 permit 249 | 147.243.1.47 permit 250 | 147.243.1.48 permit 251 | 147.243.1.153 permit 252 | 147.243.128.24 permit 253 | 147.243.128.26 permit 254 | 152.163.0.67 permit 255 | 152.163.0.68 permit 256 | 152.163.0.99 permit 257 | 157.55.0.192/26 permit 258 | 157.55.1.128/26 permit 259 | 157.55.2.0/25 permit 260 | 157.55.9.128/25 permit 261 | 157.55.11.0/25 permit 262 | 157.55.49.0/25 permit 263 | 157.55.61.0/24 permit 264 | 157.55.133.0/25 permit 265 | 157.55.152.112 permit 266 | 157.55.157.128/25 permit 267 | 157.55.158.0/23 permit 268 | 157.55.225.0/25 permit 269 | 157.55.234.0/24 permit 270 | 157.56.24.0/25 permit 271 | 157.56.87.192/26 permit 272 | 157.56.110.0/23 permit 273 | 157.56.112.0/24 permit 274 | 157.56.116.0/25 permit 275 | 157.56.120.0/25 permit 276 | 157.56.120.128/26 permit 277 | 157.56.172.28 permit 278 | 157.56.232.0/21 permit 279 | 157.56.237.242 permit 280 | 157.56.240.0/20 permit 281 | 157.56.242.98 permit 282 | 157.56.248.0/21 permit 283 | 165.254.168.66/31 permit 284 | 165.254.168.68/31 permit 285 | 165.254.168.70/31 permit 286 | 165.254.168.72/31 permit 287 | 166.78.68.0/22 permit 288 | 166.78.68.221 permit 289 | 166.78.69.146 permit 290 | 167.89.0.0/17 permit 291 | 167.89.25.84 permit 292 | 167.89.32.5 permit 293 | 167.89.32.50 permit 294 | 167.89.46.159 permit 295 | 167.89.46.185 permit 296 | 167.89.64.9 permit 297 | 167.89.65.0 permit 298 | 167.89.65.53 permit 299 | 167.89.65.100 permit 300 | 167.220.67.238 permit 301 | 173.193.132.0/23 permit 302 | 173.193.210.32/27 permit 303 | 173.194.0.0/16 permit 304 | 173.194.205.27 permit 305 | 173.203.79.182 permit 306 | 173.203.81.39 permit 307 | 173.228.155.0/24 permit 308 | 174.36.80.208/28 permit 309 | 174.36.84.8/29 permit 310 | 174.36.84.16/29 permit 311 | 174.36.84.32/29 permit 312 | 174.36.84.144/29 permit 313 | 174.36.84.240/29 permit 314 | 174.36.85.248/30 permit 315 | 174.36.92.96/27 permit 316 | 174.36.114.128/30 permit 317 | 174.36.114.140/30 permit 318 | 174.36.114.148/30 permit 319 | 174.36.114.152/29 permit 320 | 174.37.67.28/30 permit 321 | 174.37.226.64/27 permit 322 | 174.129.194.241 permit 323 | 174.137.46.0/24 permit 324 | 178.249.98.16/29 permit 325 | 178.249.202.16/29 permit 326 | 182.50.76.0/22 permit 327 | 182.50.78.64/28 permit 328 | 184.173.105.0/24 permit 329 | 184.173.153.0/24 permit 330 | 185.4.120.0/24 permit 331 | 185.4.122.0/24 permit 332 | 185.12.80.0/22 permit 333 | 185.28.196.0/22 permit 334 | 188.172.128.0/20 permit 335 | 191.239.213.197 permit 336 | 192.28.128.0/18 permit 337 | 192.64.236.0/24 permit 338 | 192.64.237.0/24 permit 339 | 192.64.238.0/24 permit 340 | 192.161.144.0/20 permit 341 | 192.230.81.86 permit 342 | 192.237.158.0/23 permit 343 | 192.237.159.42 permit 344 | 192.237.159.43 permit 345 | 192.254.112.0/20 permit 346 | 192.254.115.72 permit 347 | 193.28.178.0/25 permit 348 | 194.64.234.128/27 permit 349 | 195.54.172.0/23 permit 350 | 195.130.217.0/24 permit 351 | 198.2.128.0/18 permit 352 | 198.2.132.0/22 permit 353 | 198.2.136.0/23 permit 354 | 198.2.177.0/24 permit 355 | 198.2.178.0/24 permit 356 | 198.2.179.0/24 permit 357 | 198.2.180.0/24 permit 358 | 198.2.186.0/23 permit 359 | 198.21.0.0/21 permit 360 | 198.21.3.166 permit 361 | 198.21.4.224 permit 362 | 198.37.144.0/20 permit 363 | 198.37.145.250 permit 364 | 198.37.149.128 permit 365 | 198.41.208.137 permit 366 | 198.41.208.138 permit 367 | 198.41.208.139 permit 368 | 198.41.208.140 permit 369 | 198.41.208.141 permit 370 | 198.41.208.142 permit 371 | 198.41.208.143 permit 372 | 198.41.209.136 permit 373 | 198.41.209.137 permit 374 | 198.41.209.138 permit 375 | 198.41.209.139 permit 376 | 198.41.209.140 permit 377 | 198.41.209.141 permit 378 | 198.41.209.142 permit 379 | 198.41.209.143 permit 380 | 198.61.254.0/23 permit 381 | 198.245.80.0/20 permit 382 | 199.15.212.0/22 permit 383 | 199.15.214.169/32 permit 384 | 199.16.156.0/22 permit 385 | 199.59.148.0/22 permit 386 | 199.83.132.86 permit 387 | 199.101.161.130 permit 388 | 199.101.162.0/25 permit 389 | 199.122.120.0/21 permit 390 | 199.127.232.0/22 permit 391 | 199.187.117.209 permit 392 | 199.187.117.233 permit 393 | 199.187.117.234/31 permit 394 | 199.187.117.236/31 permit 395 | 199.187.118.201 permit 396 | 199.187.118.202/31 permit 397 | 199.187.118.204 permit 398 | 199.187.118.209 permit 399 | 199.255.192.0/22 permit 400 | 202.129.242.0/23 permit 401 | 202.177.148.100 permit 402 | 202.177.148.110 permit 403 | 203.32.4.25 permit 404 | 203.122.32.250 permit 405 | 204.13.11.48/30 permit 406 | 204.14.232.0/21 permit 407 | 204.14.232.64/28 permit 408 | 204.14.234.64/28 permit 409 | 204.14.238.0/27 permit 410 | 204.92.114.203 permit 411 | 204.92.114.204/31 permit 412 | 204.153.121.0/24 permit 413 | 205.139.110.0/23 permit 414 | 205.201.128.0/20 permit 415 | 205.201.131.128/25 permit 416 | 205.201.132.14 permit 417 | 205.201.134.128/25 permit 418 | 205.201.136.0/23 permit 419 | 205.201.137.229 permit 420 | 205.201.139.0/24 permit 421 | 205.201.140.14 permit 422 | 205.207.104.0/22 permit 423 | 205.217.25.132 permit 424 | 205.217.25.135 permit 425 | 206.165.246.80/29 permit 426 | 206.191.224.0/19 permit 427 | 206.246.157.1 permit 428 | 207.46.4.128/25 permit 429 | 207.46.22.35 permit 430 | 207.46.22.98 permit 431 | 207.46.22.101 permit 432 | 207.46.50.72 permit 433 | 207.46.50.82 permit 434 | 207.46.50.192/26 permit 435 | 207.46.50.224 permit 436 | 207.46.51.64/26 permit 437 | 207.46.52.71 permit 438 | 207.46.52.79 permit 439 | 207.46.58.128/25 permit 440 | 207.46.100.0/24 permit 441 | 207.46.101.128/26 permit 442 | 207.46.108.0/25 permit 443 | 207.46.116.128/29 permit 444 | 207.46.117.0/24 permit 445 | 207.46.132.128/27 permit 446 | 207.46.163.0/24 permit 447 | 207.46.198.0/25 permit 448 | 207.46.200.0/27 permit 449 | 207.67.38.0/24 permit 450 | 207.67.98.192/27 permit 451 | 207.68.176.0/26 permit 452 | 207.68.176.96/27 permit 453 | 207.82.80.0/24 permit 454 | 207.126.144.0/20 permit 455 | 207.211.30.0/24 permit 456 | 207.211.31.0/25 permit 457 | 207.211.41.113 permit 458 | 207.250.68.0/24 permit 459 | 208.43.21.28/30 permit 460 | 208.43.21.64/29 permit 461 | 208.43.21.72/30 permit 462 | 208.43.239.136/30 permit 463 | 208.66.139.0/25 permit 464 | 208.74.204.0/22 permit 465 | 208.75.120.0/22 permit 466 | 208.75.122.246 permit 467 | 208.82.236.96/28 permit 468 | 208.82.237.96/28 permit 469 | 208.82.238.96/28 permit 470 | 208.89.13.233 permit 471 | 208.89.13.234/31 permit 472 | 208.89.13.236/31 permit 473 | 208.89.14.201 permit 474 | 208.89.14.202/31 permit 475 | 208.89.14.204 permit 476 | 208.89.14.209 permit 477 | 208.115.214.0/24 permit 478 | 208.115.235.0/24 permit 479 | 208.115.239.0/24 permit 480 | 208.117.48.0/20 permit 481 | 209.43.22.0/28 permit 482 | 209.61.151.0/24 permit 483 | 209.67.98.59 permit 484 | 209.85.128.0/17 permit 485 | 212.4.136.0/26 permit 486 | 212.227.15.0/24 permit 487 | 212.227.17.0/27 permit 488 | 212.227.126.128/25 permit 489 | 213.165.64.0/23 permit 490 | 213.167.75.0/24 permit 491 | 213.167.81.0/24 permit 492 | 213.199.128.139 permit 493 | 213.199.128.145 permit 494 | 213.199.138.181 permit 495 | 213.199.138.191 permit 496 | 213.199.154.0/24 permit 497 | 213.199.161.128/27 permit 498 | 213.199.177.0/26 permit 499 | 213.199.180.0/24 permit 500 | 216.32.180.0/23 permit 501 | 216.52.242.16 permit 502 | 216.58.192.0/19 permit 503 | 216.99.5.67 permit 504 | 216.99.5.68 permit 505 | 216.113.160.0/24 permit 506 | 216.113.172.0/25 permit 507 | 216.113.175.0/24 permit 508 | 216.136.162.65 permit 509 | 216.198.0.0/18 permit 510 | 216.203.30.55 permit 511 | 216.203.33.178/31 permit 512 | 216.205.24.0/24 permit 513 | 216.229.156.0/25 permit 514 | 216.239.32.0/19 permit 515 | 217.72.207.0/27 permit 516 | 217.77.141.52 permit 517 | 217.77.141.59 permit 518 | 217.175.193.0/24 permit 519 | 217.175.194.0/24 permit 520 | 217.175.195.0/24 permit 521 | 217.175.196.0/24 permit 522 | 2001:4860:4000::/36 permit 523 | 2404:6800:4000::/36 permit 524 | 2607:f8b0:4000::/36 permit 525 | 2620:109:c003:104::/64 permit 526 | 2800:3f0:4000::/36 permit 527 | --------------------------------------------------------------------------------