]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tilecache/templates/default/squid.conf.erb
tilecache: re-enable old blocks
[chef.git] / cookbooks / tilecache / templates / default / squid.conf.erb
index fdd161091d79ac11272b96846f2833be0b6faadc..c7f697c84a457678d1a5c1551199d21abafa6c89 100644 (file)
-acl osmtile_sites dstdomain a.tile.openstreetmap.org b.tile.openstreetmap.org c.tile.openstreetmap.org tile.openstreetmap.org a.tile.osm.org b.tile.osm.org c.tile.osm.org tile.osm.org
+acl osmtile_thishost dstdomain <%= node[:fqdn] %>
+acl osmtile_sites dstdomain <%= node[:fqdn] %> a.tile.openstreetmap.org b.tile.openstreetmap.org c.tile.openstreetmap.org tile.openstreetmap.org a.tile.osm.org b.tile.osm.org c.tile.osm.org tile.osm.org
 acl osmtiles_png urlpath_regex .png$
 
 acl osmtiles_png urlpath_regex .png$
 
-http_access allow osmtile_sites
+acl osmtileScrapers browser ^$
+acl osmtileScrapers browser ^MOBAC
+acl osmtileScrapers browser ^JTileDownloader
+acl osmtileScrapers browser ^Apache\-HttpClient
+acl osmtileScrapers browser ^Go-http-client\/
+acl osmtileScrapers browser ^Opera\/10\.00
+acl osmtileScrapers browser ^shipxy01
+# acl osmtileScrapers browser ^OsmAnd #Victor + Email. Whitelist for 1 week
+# acl osmtileScrapers browser ^apemap #CGI143 + Email. Whitelist for 1 week
+acl osmtileScrapers browser Firefox\/2\.0\.0\.11$
+acl osmtileScrapers browser Firefox\/3\.5\.7$
+acl osmtileScrapers browser Firefox\/3\.6$
+acl osmtileScrapers browser ^Mozilla\/5\.0$ #QLandkarte unwilling to set a real user-agent.
+acl osmtileScrapers browser ^Mozilla$ #Intentionally faked user-agent
+acl osmtileScrapers browser ^User\-Agent
+acl osmtileScrapers browser Firefox\/0\.8$
+acl osmtileScrapers browser Firefox\/1\.0$
+acl osmtileScrapers browser Firefox\/1\.0\.7$
+acl osmtileScrapers browser K\-Meleon\/1\.02$
+acl osmtileScrapers browser MSIE.7\.0.*Windows.NT.5\.1.*2\.0\.50727.$
+acl osmtileScrapers browser MSIE.5.5
+acl osmtileScrapers browser ^LoadOSM\.exe$
+acl osmtileScrapers browser ^app_name$
+acl osmtileScrapers browser ^osmdroid$ # app using osmdroid library not setting app-specific User-Agent
+# acl osmtileScrapers browser ^Mozilla/5\.0 \(Windows NT 5\.1\)$ # Faked User-Agent
+acl osmtileScrapers browser Firefox\/3\.0
+acl osmtileScrapers browser Firefox\/4\.0
+acl osmtileScrapers browser Firefox\/5\.0
+acl osmtileScrapers browser Firefox\/6\.0
+acl osmtileScrapers browser Firefox\/7\.0
+acl osmtileScrapers browser Firefox\/8\.0
+acl osmtileScrapers browser Firefox\/9\.0
+acl osmtileScrapers browser Firefox\/10\.0
+acl osmtileScrapers browser Firefox\/11\.0
+acl osmtileScrapers browser Firefox\/12\.0
+acl osmtileScrapers browser Firefox\/13\.0
+
+acl is_fake_browser browser Firefox\/3\.0
+acl is_fake_browser browser Firefox\/4\.0
+acl is_fake_browser browser Firefox\/5\.0
+acl is_fake_browser browser Firefox\/6\.0
+acl is_fake_browser browser Firefox\/7\.0
+acl is_fake_browser browser Firefox\/8\.0
+acl is_fake_browser browser Firefox\/9\.0
+acl is_fake_browser browser Firefox\/10\.0
+acl is_fake_browser browser Firefox\/11\.0
+acl is_fake_browser browser Firefox\/12\.0
+acl is_fake_browser browser Firefox\/13\.0
+
+http_access deny osmtile_sites osmtileScrapers
+
+acl osmtileOverusers referer_regex ^https?://pmap\.kuku\.lu/
+acl osmtileOverusers referer_regex ^https?://[^.]*\.pmap\.kuku\.lu/
+acl osmtileOverusers referer_regex ^https?://fastpokemap\.com/
+acl osmtileOverusers referer_regex ^https?://[^.]*\.fastpokemap\.com/
+acl osmtileOverusers referer_regex ^https?://pkget\.com/
+acl osmtileOverusers referer_regex ^https?://[^.]*\.pkget\.com/
+
+http_access deny osmtile_sites osmtileOverusers
+
+# Delay pool when !has_referer and is_browser
+acl has_referer referer_regex .
+acl is_browser browser Chrome\/
+acl is_browser browser Firefox\/
+acl is_browser browser Trident\/
+acl is_browser browser Safari\/
+acl is_browser browser AppleWebKit\/
+
+acl whitelist_path urlpath_regex ^/cgi-bin/(export|debug)
+acl blacklist_path urlpath_regex ^/cgi-bin/
+acl blacklist_path urlpath_regex ^/MyAdmin/
+acl blacklist_path urlpath_regex ^/myadmin/
+acl blacklist_path urlpath_regex ^/pma/
+acl blacklist_path urlpath_regex ^/phpmyadmin/
+acl blacklist_path urlpath_regex ^/phpMyAdmin/
+acl blacklist_path urlpath_regex ^/idssvc/
+acl blacklist_path urlpath_regex ^/iesvc/
+acl blacklist_path urlpath_regex ^/invoker/
+acl blacklist_path urlpath_regex ^/jmx-console/
+acl blacklist_path urlpath_regex ^/manager/
+acl blacklist_path urlpath_regex ^/service/
+acl blacklist_path urlpath_regex ^/web-console/
+acl blacklist_path urlpath_regex ^/wstats/
+acl blacklist_path urlpath_regex ^/zecmd/
+
+http_access allow osmtile_sites whitelist_path
+http_access deny blacklist_path
+
+acl requestMethodGet method GET
+
+http_access allow osmtile_sites requestMethodGet
 
 acl osmtile_nocache_url urlpath_regex \.png/(status|dirty)$
 cache deny osmtile_sites osmtile_nocache_url
 
 
 acl osmtile_nocache_url urlpath_regex \.png/(status|dirty)$
 cache deny osmtile_sites osmtile_nocache_url
 
-<% if node[:fqdn] == "nadder-01.openstreetmap.org" -%>
-cache_peer nadder-02.openstreetmap.org sibling 3128 3130 proxy-only
+<% @caches.each do |cache| -%>
+<% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%>
+acl tile_caches src <%= address %>
+<% end -%>
+<% end -%>
+
+<% if node[:squid][:version] == "2" -%>
+# Siblings
+<% node[:tilecache][:tile_siblings].each do |sibling| -%>
+cache_peer <%= sibling %> sibling 3128 3130 weight=1500
 <% end -%>
 <% end -%>
-<% if node[:fqdn] == "nadder-02.openstreetmap.org" -%> 
-cache_peer nadder-01.openstreetmap.org sibling 3128 3130 proxy-only
 <% end -%>
 <% end -%>
-cache_peer <%= node[:tilecache][:tile_parent] %> parent 80 0 no-query originserver name=osmtileAccel login=PASS connect-timeout=60 no-digest weight=1000
-cache_peer render.openstreetmap.org parent 80 0 no-query originserver name=osmtileAccelBackup login=PASS connect-timeout=60 no-digest weight=10
 
 
+# Primary Parent
+cache_peer <%= node[:tilecache][:tile_parent] %> parent 443 0 no-query originserver name=osmtileAccel login=PASS connect-timeout=120 no-digest weight=1000 ssl ssldomain=render.openstreetmap.org
 cache_peer_access osmtileAccel allow osmtile_sites
 cache_peer_access osmtileAccel allow osmtile_sites
-cache_peer_access osmtileAccelBackup allow osmtile_sites
-cache_peer_access osmtileAccel deny all
-cache_peer_access osmtileAccelBackup deny all
 
 
-#----------------------------------
-#Create an unlimited pool for cache IP addresses
+# Backup Parents
+<% @renders.each do |renders| -%>
+cache_peer <%= renders[:hostname] %>.render.openstreetmap.org parent 443 0 no-query originserver name=osmtileAccelBackup<%= renders[:hostname] %> login=PASS connect-timeout=60 no-digest weight=10 ssl ssldomain=render.openstreetmap.org
+cache_peer_access osmtileAccelBackup<%= renders[:hostname] %> allow osmtile_sites
+<% end -%>
+
+# ----------------------------------
+# Create an unlimited pool for cache IP addresses
 acl pool_unlimited src 127.0.0.1
 <% @caches.each do |cache| -%>
 <% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%>
 acl pool_unlimited src <%= address %>
 acl pool_unlimited src 127.0.0.1
 <% @caches.each do |cache| -%>
 <% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%>
 acl pool_unlimited src <%= address %>
-acl tile_caches src <%= address %>
 <% end -%>
 <% end -%>
 
 <% end -%>
 <% end -%>
 
+# Juno Minsk office - me@komzpa.net
+acl pool_unlimited src 212.98.173.54
+
 #Allow tile_caches ICP access
 icp_access allow tile_caches
 
 #Allow tile_caches ICP access
 icp_access allow tile_caches
 
-acl pool_000 src 0.0.0.0/7
-acl pool_002 src 2.0.0.0/7
-acl pool_004 src 4.0.0.0/7
-acl pool_006 src 6.0.0.0/7
-acl pool_008 src 8.0.0.0/7
-acl pool_010 src 10.0.0.0/7
-acl pool_012 src 12.0.0.0/7
-acl pool_014 src 14.0.0.0/7
-acl pool_016 src 16.0.0.0/7
-acl pool_018 src 18.0.0.0/7
-acl pool_020 src 20.0.0.0/7
-acl pool_022 src 22.0.0.0/7
-acl pool_024 src 24.0.0.0/7
-acl pool_026 src 26.0.0.0/7
-acl pool_028 src 28.0.0.0/7
-acl pool_030 src 30.0.0.0/7
-acl pool_032 src 32.0.0.0/7
-acl pool_034 src 34.0.0.0/7
-acl pool_036 src 36.0.0.0/7
-acl pool_038 src 38.0.0.0/7
-acl pool_040 src 40.0.0.0/7
-acl pool_042 src 42.0.0.0/7
-acl pool_044 src 44.0.0.0/7
-acl pool_046 src 46.0.0.0/7
-acl pool_048 src 48.0.0.0/7
-acl pool_050 src 50.0.0.0/7
-acl pool_052 src 52.0.0.0/7
-acl pool_054 src 54.0.0.0/7
-acl pool_056 src 56.0.0.0/7
-acl pool_058 src 58.0.0.0/7
-acl pool_060 src 60.0.0.0/7
-acl pool_062 src 62.0.0.0/7
-acl pool_064 src 64.0.0.0/7
-acl pool_066 src 66.0.0.0/7
-acl pool_068 src 68.0.0.0/7
-acl pool_070 src 70.0.0.0/7
-acl pool_072 src 72.0.0.0/7
-acl pool_074 src 74.0.0.0/7
-acl pool_076 src 76.0.0.0/7
-acl pool_078 src 78.0.0.0/7
-acl pool_080 src 80.0.0.0/7
-acl pool_082 src 82.0.0.0/7
-acl pool_084 src 84.0.0.0/7
-acl pool_086 src 86.0.0.0/7
-acl pool_088 src 88.0.0.0/7
-acl pool_090 src 90.0.0.0/7
-acl pool_092 src 92.0.0.0/7
-acl pool_094 src 94.0.0.0/7
-acl pool_096 src 96.0.0.0/7
-acl pool_098 src 98.0.0.0/7
-acl pool_100 src 100.0.0.0/7
-acl pool_102 src 102.0.0.0/7
-acl pool_104 src 104.0.0.0/7
-acl pool_106 src 106.0.0.0/7
-acl pool_108 src 108.0.0.0/7
-acl pool_110 src 110.0.0.0/7
-acl pool_112 src 112.0.0.0/7
-acl pool_114 src 114.0.0.0/7
-acl pool_116 src 116.0.0.0/7
-acl pool_118 src 118.0.0.0/7
-acl pool_120 src 120.0.0.0/7
-acl pool_122 src 122.0.0.0/7
-acl pool_124 src 124.0.0.0/7
-acl pool_126 src 126.0.0.0/7
-acl pool_128 src 128.0.0.0/7
-acl pool_130 src 130.0.0.0/7
-acl pool_132 src 132.0.0.0/7
-acl pool_134 src 134.0.0.0/7
-acl pool_136 src 136.0.0.0/7
-acl pool_138 src 138.0.0.0/7
-acl pool_140 src 140.0.0.0/7
-acl pool_142 src 142.0.0.0/7
-acl pool_144 src 144.0.0.0/7
-acl pool_146 src 146.0.0.0/7
-acl pool_148 src 148.0.0.0/7
-acl pool_150 src 150.0.0.0/7
-acl pool_152 src 152.0.0.0/7
-acl pool_154 src 154.0.0.0/7
-acl pool_156 src 156.0.0.0/7
-acl pool_158 src 158.0.0.0/7
-acl pool_160 src 160.0.0.0/7
-acl pool_162 src 162.0.0.0/7
-acl pool_164 src 164.0.0.0/7
-acl pool_166 src 166.0.0.0/7
-acl pool_168 src 168.0.0.0/7
-acl pool_170 src 170.0.0.0/7
-acl pool_172 src 172.0.0.0/7
-acl pool_174 src 174.0.0.0/7
-acl pool_176 src 176.0.0.0/7
-acl pool_178 src 178.0.0.0/7
-acl pool_180 src 180.0.0.0/7
-acl pool_182 src 182.0.0.0/7
-acl pool_184 src 184.0.0.0/7
-acl pool_186 src 186.0.0.0/7
-acl pool_188 src 188.0.0.0/7
-acl pool_190 src 190.0.0.0/7
-acl pool_192 src 192.0.0.0/7
-acl pool_194 src 194.0.0.0/7
-acl pool_196 src 196.0.0.0/7
-acl pool_198 src 198.0.0.0/7
-acl pool_200 src 200.0.0.0/7
-acl pool_202 src 202.0.0.0/7
-acl pool_204 src 204.0.0.0/7
-acl pool_206 src 206.0.0.0/7
-acl pool_208 src 208.0.0.0/7
-acl pool_210 src 210.0.0.0/7
-acl pool_212 src 212.0.0.0/7
-acl pool_214 src 214.0.0.0/7
-acl pool_216 src 216.0.0.0/7
-acl pool_218 src 218.0.0.0/7
-acl pool_220 src 220.0.0.0/7
-acl pool_222 src 222.0.0.0/7
-acl pool_224 src 224.0.0.0/7
-acl pool_226 src 226.0.0.0/7
-acl pool_228 src 228.0.0.0/7
-acl pool_230 src 230.0.0.0/7
-acl pool_232 src 232.0.0.0/7
-acl pool_234 src 234.0.0.0/7
-acl pool_236 src 236.0.0.0/7
-acl pool_238 src 238.0.0.0/7
-acl pool_240 src 240.0.0.0/7
-acl pool_242 src 242.0.0.0/7
-acl pool_244 src 244.0.0.0/7
-acl pool_246 src 246.0.0.0/7
-acl pool_248 src 248.0.0.0/7
-acl pool_250 src 250.0.0.0/7
-acl pool_252 src 252.0.0.0/7
-acl pool_254 src 254.0.0.0/7
+<% (0..127).each do |i| -%>
+acl pool_<%= sprintf("%03d", 2*i) %> src <%= 2*i %>.0.0.0/7
+<% end %>
 
 
-delay_pools 128
+delay_pools 256
 delay_initial_bucket_level 25
 
 delay_initial_bucket_level 25
 
-delay_class 1 3
-delay_class 2 3
-delay_class 3 3
-delay_class 4 3
-delay_class 5 3
-delay_class 6 3
-delay_class 7 3
-delay_class 8 3
-delay_class 9 3
-delay_class 10 3
-delay_class 11 3
-delay_class 12 3
-delay_class 13 3
-delay_class 14 3
-delay_class 15 3
-delay_class 16 3
-delay_class 17 3
-delay_class 18 3
-delay_class 19 3
-delay_class 20 3
-delay_class 21 3
-delay_class 22 3
-delay_class 23 3
-delay_class 24 3
-delay_class 25 3
-delay_class 26 3
-delay_class 27 3
-delay_class 28 3
-delay_class 29 3
-delay_class 30 3
-delay_class 31 3
-delay_class 32 3
-delay_class 33 3
-delay_class 34 3
-delay_class 35 3
-delay_class 36 3
-delay_class 37 3
-delay_class 38 3
-delay_class 39 3
-delay_class 40 3
-delay_class 41 3
-delay_class 42 3
-delay_class 43 3
-delay_class 44 3
-delay_class 45 3
-delay_class 46 3
-delay_class 47 3
-delay_class 48 3
-delay_class 49 3
-delay_class 50 3
-delay_class 51 3
-delay_class 52 3
-delay_class 53 3
-delay_class 54 3
-delay_class 55 3
-delay_class 56 3
-delay_class 57 3
-delay_class 58 3
-delay_class 59 3
-delay_class 60 3
-delay_class 61 3
-delay_class 62 3
-delay_class 63 3
-delay_class 64 3
-delay_class 65 3
-delay_class 66 3
-delay_class 67 3
-delay_class 68 3
-delay_class 69 3
-delay_class 70 3
-delay_class 71 3
-delay_class 72 3
-delay_class 73 3
-delay_class 74 3
-delay_class 75 3
-delay_class 76 3
-delay_class 77 3
-delay_class 78 3
-delay_class 79 3
-delay_class 80 3
-delay_class 81 3
-delay_class 82 3
-delay_class 83 3
-delay_class 84 3
-delay_class 85 3
-delay_class 86 3
-delay_class 87 3
-delay_class 88 3
-delay_class 89 3
-delay_class 90 3
-delay_class 91 3
-delay_class 92 3
-delay_class 93 3
-delay_class 94 3
-delay_class 95 3
-delay_class 96 3
-delay_class 97 3
-delay_class 98 3
-delay_class 99 3
-delay_class 100 3
-delay_class 101 3
-delay_class 102 3
-delay_class 103 3
-delay_class 104 3
-delay_class 105 3
-delay_class 106 3
-delay_class 107 3
-delay_class 108 3
-delay_class 109 3
-delay_class 110 3
-delay_class 111 3
-delay_class 112 3
-delay_class 113 3
-delay_class 114 3
-delay_class 115 3
-delay_class 116 3
-delay_class 117 3
-delay_class 118 3
-delay_class 119 3
-delay_class 120 3
-delay_class 121 3
-delay_class 122 3
-delay_class 123 3
-delay_class 124 3
-delay_class 125 3
-delay_class 126 3
-delay_class 127 3
-delay_class 128 3
+<% (1..256).each do |i| -%>
+delay_class <%= i %> 3
+<% end %>
 #bit mask
 # xxxxxxx- -------- xxxxxxxx xxxxxxxx
 
 #bit mask
 # xxxxxxx- -------- xxxxxxxx xxxxxxxx
 
-delay_access 1 allow pool_000 !pool_unlimited osmtile_sites
-delay_access 2 allow pool_002 !pool_unlimited osmtile_sites
-delay_access 3 allow pool_004 !pool_unlimited osmtile_sites
-delay_access 4 allow pool_006 !pool_unlimited osmtile_sites
-delay_access 5 allow pool_008 !pool_unlimited osmtile_sites
-delay_access 6 allow pool_010 !pool_unlimited osmtile_sites
-delay_access 7 allow pool_012 !pool_unlimited osmtile_sites
-delay_access 8 allow pool_014 !pool_unlimited osmtile_sites
-delay_access 9 allow pool_016 !pool_unlimited osmtile_sites
-delay_access 10 allow pool_018 !pool_unlimited osmtile_sites
-delay_access 11 allow pool_020 !pool_unlimited osmtile_sites
-delay_access 12 allow pool_022 !pool_unlimited osmtile_sites
-delay_access 13 allow pool_024 !pool_unlimited osmtile_sites
-delay_access 14 allow pool_026 !pool_unlimited osmtile_sites
-delay_access 15 allow pool_028 !pool_unlimited osmtile_sites
-delay_access 16 allow pool_030 !pool_unlimited osmtile_sites
-delay_access 17 allow pool_032 !pool_unlimited osmtile_sites
-delay_access 18 allow pool_034 !pool_unlimited osmtile_sites
-delay_access 19 allow pool_036 !pool_unlimited osmtile_sites
-delay_access 20 allow pool_038 !pool_unlimited osmtile_sites
-delay_access 21 allow pool_040 !pool_unlimited osmtile_sites
-delay_access 22 allow pool_042 !pool_unlimited osmtile_sites
-delay_access 23 allow pool_044 !pool_unlimited osmtile_sites
-delay_access 24 allow pool_046 !pool_unlimited osmtile_sites
-delay_access 25 allow pool_048 !pool_unlimited osmtile_sites
-delay_access 26 allow pool_050 !pool_unlimited osmtile_sites
-delay_access 27 allow pool_052 !pool_unlimited osmtile_sites
-delay_access 28 allow pool_054 !pool_unlimited osmtile_sites
-delay_access 29 allow pool_056 !pool_unlimited osmtile_sites
-delay_access 30 allow pool_058 !pool_unlimited osmtile_sites
-delay_access 31 allow pool_060 !pool_unlimited osmtile_sites
-delay_access 32 allow pool_062 !pool_unlimited osmtile_sites
-delay_access 33 allow pool_064 !pool_unlimited osmtile_sites
-delay_access 34 allow pool_066 !pool_unlimited osmtile_sites
-delay_access 35 allow pool_068 !pool_unlimited osmtile_sites
-delay_access 36 allow pool_070 !pool_unlimited osmtile_sites
-delay_access 37 allow pool_072 !pool_unlimited osmtile_sites
-delay_access 38 allow pool_074 !pool_unlimited osmtile_sites
-delay_access 39 allow pool_076 !pool_unlimited osmtile_sites
-delay_access 40 allow pool_078 !pool_unlimited osmtile_sites
-delay_access 41 allow pool_080 !pool_unlimited osmtile_sites
-delay_access 42 allow pool_082 !pool_unlimited osmtile_sites
-delay_access 43 allow pool_084 !pool_unlimited osmtile_sites
-delay_access 44 allow pool_086 !pool_unlimited osmtile_sites
-delay_access 45 allow pool_088 !pool_unlimited osmtile_sites
-delay_access 46 allow pool_090 !pool_unlimited osmtile_sites
-delay_access 47 allow pool_092 !pool_unlimited osmtile_sites
-delay_access 48 allow pool_094 !pool_unlimited osmtile_sites
-delay_access 49 allow pool_096 !pool_unlimited osmtile_sites
-delay_access 50 allow pool_098 !pool_unlimited osmtile_sites
-delay_access 51 allow pool_100 !pool_unlimited osmtile_sites
-delay_access 52 allow pool_102 !pool_unlimited osmtile_sites
-delay_access 53 allow pool_104 !pool_unlimited osmtile_sites
-delay_access 54 allow pool_106 !pool_unlimited osmtile_sites
-delay_access 55 allow pool_108 !pool_unlimited osmtile_sites
-delay_access 56 allow pool_110 !pool_unlimited osmtile_sites
-delay_access 57 allow pool_112 !pool_unlimited osmtile_sites
-delay_access 58 allow pool_114 !pool_unlimited osmtile_sites
-delay_access 59 allow pool_116 !pool_unlimited osmtile_sites
-delay_access 60 allow pool_118 !pool_unlimited osmtile_sites
-delay_access 61 allow pool_120 !pool_unlimited osmtile_sites
-delay_access 62 allow pool_122 !pool_unlimited osmtile_sites
-delay_access 63 allow pool_124 !pool_unlimited osmtile_sites
-delay_access 64 allow pool_126 !pool_unlimited osmtile_sites
-delay_access 65 allow pool_128 !pool_unlimited osmtile_sites
-delay_access 66 allow pool_130 !pool_unlimited osmtile_sites
-delay_access 67 allow pool_132 !pool_unlimited osmtile_sites
-delay_access 68 allow pool_134 !pool_unlimited osmtile_sites
-delay_access 69 allow pool_136 !pool_unlimited osmtile_sites
-delay_access 70 allow pool_138 !pool_unlimited osmtile_sites
-delay_access 71 allow pool_140 !pool_unlimited osmtile_sites
-delay_access 72 allow pool_142 !pool_unlimited osmtile_sites
-delay_access 73 allow pool_144 !pool_unlimited osmtile_sites
-delay_access 74 allow pool_146 !pool_unlimited osmtile_sites
-delay_access 75 allow pool_148 !pool_unlimited osmtile_sites
-delay_access 76 allow pool_150 !pool_unlimited osmtile_sites
-delay_access 77 allow pool_152 !pool_unlimited osmtile_sites
-delay_access 78 allow pool_154 !pool_unlimited osmtile_sites
-delay_access 79 allow pool_156 !pool_unlimited osmtile_sites
-delay_access 80 allow pool_158 !pool_unlimited osmtile_sites
-delay_access 81 allow pool_160 !pool_unlimited osmtile_sites
-delay_access 82 allow pool_162 !pool_unlimited osmtile_sites
-delay_access 83 allow pool_164 !pool_unlimited osmtile_sites
-delay_access 84 allow pool_166 !pool_unlimited osmtile_sites
-delay_access 85 allow pool_168 !pool_unlimited osmtile_sites
-delay_access 86 allow pool_170 !pool_unlimited osmtile_sites
-delay_access 87 allow pool_172 !pool_unlimited osmtile_sites
-delay_access 88 allow pool_174 !pool_unlimited osmtile_sites
-delay_access 89 allow pool_176 !pool_unlimited osmtile_sites
-delay_access 90 allow pool_178 !pool_unlimited osmtile_sites
-delay_access 91 allow pool_180 !pool_unlimited osmtile_sites
-delay_access 92 allow pool_182 !pool_unlimited osmtile_sites
-delay_access 93 allow pool_184 !pool_unlimited osmtile_sites
-delay_access 94 allow pool_186 !pool_unlimited osmtile_sites
-delay_access 95 allow pool_188 !pool_unlimited osmtile_sites
-delay_access 96 allow pool_190 !pool_unlimited osmtile_sites
-delay_access 97 allow pool_192 !pool_unlimited osmtile_sites
-delay_access 98 allow pool_194 !pool_unlimited osmtile_sites
-delay_access 99 allow pool_196 !pool_unlimited osmtile_sites
-delay_access 100 allow pool_198 !pool_unlimited osmtile_sites
-delay_access 100 allow pool_198 !pool_unlimited osmtile_sites
-delay_access 101 allow pool_200 !pool_unlimited osmtile_sites
-delay_access 102 allow pool_202 !pool_unlimited osmtile_sites
-delay_access 103 allow pool_204 !pool_unlimited osmtile_sites
-delay_access 104 allow pool_206 !pool_unlimited osmtile_sites
-delay_access 105 allow pool_208 !pool_unlimited osmtile_sites
-delay_access 106 allow pool_210 !pool_unlimited osmtile_sites
-delay_access 107 allow pool_212 !pool_unlimited osmtile_sites
-delay_access 108 allow pool_214 !pool_unlimited osmtile_sites
-delay_access 109 allow pool_216 !pool_unlimited osmtile_sites
-delay_access 110 allow pool_218 !pool_unlimited osmtile_sites
-delay_access 111 allow pool_220 !pool_unlimited osmtile_sites
-delay_access 112 allow pool_222 !pool_unlimited osmtile_sites
-delay_access 113 allow pool_224 !pool_unlimited osmtile_sites
-delay_access 114 allow pool_226 !pool_unlimited osmtile_sites
-delay_access 115 allow pool_228 !pool_unlimited osmtile_sites
-delay_access 116 allow pool_230 !pool_unlimited osmtile_sites
-delay_access 117 allow pool_232 !pool_unlimited osmtile_sites
-delay_access 118 allow pool_234 !pool_unlimited osmtile_sites
-delay_access 119 allow pool_236 !pool_unlimited osmtile_sites
-delay_access 120 allow pool_238 !pool_unlimited osmtile_sites
-delay_access 121 allow pool_240 !pool_unlimited osmtile_sites
-delay_access 122 allow pool_242 !pool_unlimited osmtile_sites
-delay_access 123 allow pool_244 !pool_unlimited osmtile_sites
-delay_access 124 allow pool_246 !pool_unlimited osmtile_sites
-delay_access 125 allow pool_248 !pool_unlimited osmtile_sites
-delay_access 126 allow pool_250 !pool_unlimited osmtile_sites
-delay_access 127 allow pool_252 !pool_unlimited osmtile_sites
-delay_access 128 allow pool_254 !pool_unlimited osmtile_sites
+# small pools for !has_referer && is_browser - designed to slow down anyone
+# using no-referer to bypass blocks due to abusive levels of use.
+<% (0..127).each do |i| -%>
+delay_access <%= i+1 %> allow pool_<%= sprintf("%03d", 2*i) %> !pool_unlimited is_fake_browser osmtile_sites
+delay_access <%= i+1 %> allow pool_<%= sprintf("%03d", 2*i) %> !pool_unlimited !has_referer is_browser osmtile_sites
+delay_access <%= i+1 %> deny all
+delay_parameters <%= i+1 %> -1/-1 <%= node[:tilecache][:net_bucket_refill] / 10 %>/<%= node[:tilecache][:net_bucket_size] / 10 %> <%= node[:tilecache][:ip_bucket_refill] / 10 %>/<%= node[:tilecache][:ip_bucket_size] / 10 %>
+<% end %>
 
 
-delay_access 1 deny all
-delay_access 2 deny all
-delay_access 3 deny all
-delay_access 4 deny all
-delay_access 5 deny all
-delay_access 6 deny all
-delay_access 7 deny all
-delay_access 8 deny all
-delay_access 9 deny all
-delay_access 10 deny all
-delay_access 11 deny all
-delay_access 12 deny all
-delay_access 13 deny all
-delay_access 14 deny all
-delay_access 15 deny all
-delay_access 16 deny all
-delay_access 17 deny all
-delay_access 18 deny all
-delay_access 19 deny all
-delay_access 20 deny all
-delay_access 21 deny all
-delay_access 22 deny all
-delay_access 23 deny all
-delay_access 24 deny all
-delay_access 25 deny all
-delay_access 26 deny all
-delay_access 27 deny all
-delay_access 28 deny all
-delay_access 29 deny all
-delay_access 30 deny all
-delay_access 31 deny all
-delay_access 32 deny all
-delay_access 33 deny all
-delay_access 34 deny all
-delay_access 35 deny all
-delay_access 36 deny all
-delay_access 37 deny all
-delay_access 38 deny all
-delay_access 39 deny all
-delay_access 40 deny all
-delay_access 41 deny all
-delay_access 42 deny all
-delay_access 43 deny all
-delay_access 44 deny all
-delay_access 45 deny all
-delay_access 46 deny all
-delay_access 47 deny all
-delay_access 48 deny all
-delay_access 49 deny all
-delay_access 50 deny all
-delay_access 51 deny all
-delay_access 52 deny all
-delay_access 53 deny all
-delay_access 54 deny all
-delay_access 55 deny all
-delay_access 56 deny all
-delay_access 57 deny all
-delay_access 58 deny all
-delay_access 59 deny all
-delay_access 60 deny all
-delay_access 61 deny all
-delay_access 62 deny all
-delay_access 63 deny all
-delay_access 64 deny all
-delay_access 65 deny all
-delay_access 66 deny all
-delay_access 67 deny all
-delay_access 68 deny all
-delay_access 69 deny all
-delay_access 70 deny all
-delay_access 71 deny all
-delay_access 72 deny all
-delay_access 73 deny all
-delay_access 74 deny all
-delay_access 75 deny all
-delay_access 76 deny all
-delay_access 77 deny all
-delay_access 78 deny all
-delay_access 79 deny all
-delay_access 80 deny all
-delay_access 81 deny all
-delay_access 82 deny all
-delay_access 83 deny all
-delay_access 84 deny all
-delay_access 85 deny all
-delay_access 86 deny all
-delay_access 87 deny all
-delay_access 88 deny all
-delay_access 89 deny all
-delay_access 90 deny all
-delay_access 91 deny all
-delay_access 92 deny all
-delay_access 93 deny all
-delay_access 94 deny all
-delay_access 95 deny all
-delay_access 96 deny all
-delay_access 97 deny all
-delay_access 98 deny all
-delay_access 99 deny all
-delay_access 100 deny all
-delay_access 101 deny all
-delay_access 102 deny all
-delay_access 103 deny all
-delay_access 104 deny all
-delay_access 105 deny all
-delay_access 106 deny all
-delay_access 107 deny all
-delay_access 108 deny all
-delay_access 109 deny all
-delay_access 110 deny all
-delay_access 111 deny all
-delay_access 112 deny all
-delay_access 113 deny all
-delay_access 114 deny all
-delay_access 115 deny all
-delay_access 116 deny all
-delay_access 117 deny all
-delay_access 118 deny all
-delay_access 119 deny all
-delay_access 120 deny all
-delay_access 121 deny all
-delay_access 122 deny all
-delay_access 123 deny all
-delay_access 124 deny all
-delay_access 125 deny all
-delay_access 126 deny all
-delay_access 127 deny all
-delay_access 128 deny all
-
-delay_parameters 1 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 2 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 3 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 4 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 5 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 6 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 7 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 8 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 9 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 10 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 11 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 12 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 13 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 14 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 15 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 16 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 17 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 18 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 19 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 20 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 21 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 22 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 23 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 24 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 25 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 26 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 27 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 28 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 29 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 30 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 31 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 32 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 33 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 34 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 35 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 36 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 37 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 38 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 39 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 40 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 41 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 42 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 43 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 44 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 45 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 46 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 47 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 48 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 49 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 50 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 51 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 52 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 53 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 54 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 55 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 56 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 57 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 58 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 59 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 60 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 61 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 62 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 63 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 64 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 65 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 66 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 67 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 68 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 69 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 70 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 71 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 72 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 73 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 74 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 75 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 76 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 77 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 78 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 79 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 80 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 81 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 82 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 83 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 84 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 85 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 86 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 87 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 88 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 89 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 90 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 91 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 92 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 93 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 94 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 95 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 96 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 97 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 98 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 99 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 100 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 101 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 102 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 103 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 104 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 105 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 106 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 107 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 108 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 109 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 110 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 111 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 112 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 113 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 114 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 115 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 116 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 117 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 118 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 119 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 120 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 121 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 122 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 123 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 124 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 125 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 126 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 127 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
-delay_parameters 128 -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
+# bigger pools for users providing a referer (assuming it's not blocked)
+# or non-browser users.
+<% (0..127).each do |i| %>
+delay_access <%= i+129 %> allow pool_<%= sprintf("%03d", 2*i) %> !pool_unlimited osmtile_sites
+delay_access <%= i+129 %> deny all
+delay_parameters <%= i+129 %> -1/-1 <%= node[:tilecache][:net_bucket_refill] %>/<%= node[:tilecache][:net_bucket_size] %> <%= node[:tilecache][:ip_bucket_refill] %>/<%= node[:tilecache][:ip_bucket_size] %>
+<% end %>
 
 #----------------------------------
 
 #----------------------------------
-