bb62e8537c3a11624b3193d31ebe2b45fe4b27c6
[chef.git] / cookbooks / tilecache / templates / default / squid.conf.erb
1 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
2 acl osmtiles_png urlpath_regex .png$
3
4 acl osmtileScrapers browser ^$
5 acl osmtileScrapers browser ^MOBAC
6 acl osmtileScrapers browser ^JTileDownloader
7 acl osmtileScrapers browser ^Apache\-HttpClient
8 acl osmtileScrapers browser ^Go-http-client\/
9 acl osmtileScrapers browser ^Opera\/10\.00
10 acl osmtileScrapers browser ^shipxy01
11 #acl osmtileScrapers browser ^OsmAnd #Victor + Email. Whitelist for 1 week
12 #acl osmtileScrapers browser ^apemap #CGI143 + Email. Whitelist for 1 week
13 acl osmtileScrapers browser Firefox\/2\.0\.0\.11$
14 #acl osmtileScrapers browser Firefox\/3\.5\.7$ #CGI285 + Email. Whitelist for 1 week
15 acl osmtileScrapers browser Firefox\/3\.6$
16 acl osmtileScrapers browser ^Mozilla\/5\.0$ #QLandkarte unwilling to set a real user-agent.
17 acl osmtileScrapers browser ^Mozilla$ #Intentionally faked user-agent
18 acl osmtileScrapers browser ^User\-Agent
19 acl osmtileScrapers browser Firefox\/0\.8$
20 acl osmtileScrapers browser Firefox\/1\.0$
21 acl osmtileScrapers browser Firefox\/1\.0\.7$
22 acl osmtileScrapers browser K\-Meleon\/1\.02$
23 acl osmtileScrapers browser MSIE.7\.0.*Windows.NT.5\.1.*2\.0\.50727.$
24 acl osmtileScrapers browser MSIE.5.5
25 acl osmtileScrapers browser ^LoadOSM\.exe$
26 acl osmtileScrapers browser ^app_name$
27 # TEMPORARY unblock of osmdroid-based apps which should be setting their unique
28 # User-Agent, but aren't. Re-block on/near 2016-08-29.
29 #acl osmtileScrapers browser ^osmdroid$ # app using osmdroid library not setting app-specific User-Agent
30 #acl osmtileScrapers browser ^Mozilla/5\.0 \(Windows NT 5\.1\)$ # Faked User-Agent
31 acl osmtileScrapers browser Firefox\/3\.0
32 acl osmtileScrapers browser Firefox\/4\.0
33 acl osmtileScrapers browser Firefox\/5\.0
34 acl osmtileScrapers browser Firefox\/6\.0
35 acl osmtileScrapers browser Firefox\/7\.0
36 acl osmtileScrapers browser Firefox\/8\.0
37 acl osmtileScrapers browser Firefox\/9\.0
38 acl osmtileScrapers browser Firefox\/10\.0
39 acl osmtileScrapers browser Firefox\/11\.0
40 acl osmtileScrapers browser Firefox\/12\.0
41 acl osmtileScrapers browser Firefox\/13\.0
42     
43 acl is_fake_browser browser Firefox\/3\.0
44 acl is_fake_browser browser Firefox\/4\.0
45 acl is_fake_browser browser Firefox\/5\.0
46 acl is_fake_browser browser Firefox\/6\.0
47 acl is_fake_browser browser Firefox\/7\.0
48 acl is_fake_browser browser Firefox\/8\.0
49 acl is_fake_browser browser Firefox\/9\.0
50 acl is_fake_browser browser Firefox\/10\.0
51 acl is_fake_browser browser Firefox\/11\.0
52 acl is_fake_browser browser Firefox\/12\.0
53 acl is_fake_browser browser Firefox\/13\.0
54
55 http_access deny osmtile_sites osmtileScrapers
56
57 acl osmtileOverusers referer_regex ^https?://pmap\.kuku\.lu/
58 acl osmtileOverusers referer_regex ^https?://[^.]*\.pmap\.kuku\.lu/
59 acl osmtileOverusers referer_regex ^https?://fastpokemap\.com/
60 acl osmtileOverusers referer_regex ^https?://[^.]*\.fastpokemap\.com/
61 acl osmtileOverusers referer_regex ^https?://pkget\.com/
62 acl osmtileOverusers referer_regex ^https?://[^.]*\.pkget\.com/
63
64 http_access deny osmtile_sites osmtileOverusers
65
66 # Delay pool when !has_referer and is_browser
67 acl has_referer referer_regex .
68 acl is_browser browser Chrome\/
69 acl is_browser browser Firefox\/
70 acl is_browser browser Trident\/
71 acl is_browser browser Safari\/
72 acl is_browser browser AppleWebKit\/
73
74 acl whitelist_path urlpath_regex ^/cgi-bin/(export|debug)
75 acl blacklist_path urlpath_regex ^/cgi-bin/
76 acl blacklist_path urlpath_regex ^/MyAdmin/
77 acl blacklist_path urlpath_regex ^/myadmin/
78 acl blacklist_path urlpath_regex ^/pma/
79 acl blacklist_path urlpath_regex ^/phpmyadmin/
80 acl blacklist_path urlpath_regex ^/phpMyAdmin/
81 acl blacklist_path urlpath_regex ^/idssvc/
82 acl blacklist_path urlpath_regex ^/iesvc/
83 acl blacklist_path urlpath_regex ^/invoker/
84 acl blacklist_path urlpath_regex ^/jmx-console/
85 acl blacklist_path urlpath_regex ^/manager/
86 acl blacklist_path urlpath_regex ^/service/
87 acl blacklist_path urlpath_regex ^/web-console/
88 acl blacklist_path urlpath_regex ^/wstats/
89 acl blacklist_path urlpath_regex ^/zecmd/
90
91 http_access allow osmtile_sites whitelist_path
92 http_access deny blacklist_path
93
94 acl requestMethodGet method GET
95
96 http_access allow osmtile_sites requestMethodGet
97
98 acl osmtile_nocache_url urlpath_regex \.png/(status|dirty)$
99 cache deny osmtile_sites osmtile_nocache_url
100
101 <% @caches.each do |cache| -%>
102 <% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%>
103 acl tile_caches src <%= address %>
104 <% end -%>
105 <% end -%>
106
107 #Siblings
108 <% node[:tilecache][:tile_siblings].each do |sibling| -%>
109 cache_peer <%= sibling %> sibling 3128 3130 weight=1500
110 cache_peer_access <%= sibling %> deny tile_caches
111 <% end -%>
112
113 #Primary Parent
114 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
115 cache_peer_access osmtileAccel allow osmtile_sites
116
117 #Backup Parents
118 <% @renders.each do |renders| -%>
119 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
120 cache_peer_access osmtileAccelBackup<%= renders[:hostname] %> allow osmtile_sites
121 <% end -%>
122
123 #----------------------------------
124 #Create an unlimited pool for cache IP addresses
125 acl pool_unlimited src 127.0.0.1
126 <% @caches.each do |cache| -%>
127 <% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%>
128 acl pool_unlimited src <%= address %>
129 <% end -%>
130 <% end -%>
131
132 # Juno Minsk office - me@komzpa.net
133 acl pool_unlimited src 212.98.173.54
134
135 #Allow tile_caches ICP access
136 icp_access allow tile_caches
137
138 <% (0..127).each do |i| -%>
139 acl pool_<%= sprintf("%03d", 2*i) %> src <%= 2*i %>.0.0.0/7
140 <% end %>
141
142 delay_pools 256
143 delay_initial_bucket_level 25
144
145 <% (1..256).each do |i| -%>
146 delay_class <%= i %> 3
147 <% end %>
148 #bit mask
149 # xxxxxxx- -------- xxxxxxxx xxxxxxxx
150
151 # small pools for !has_referer && is_browser - designed to slow down anyone
152 # using no-referer to bypass blocks due to abusive levels of use.
153 <% (0..127).each do |i| -%>
154 delay_access <%= i+1 %> allow pool_<%= sprintf("%03d", 2*i) %> !pool_unlimited is_fake_browser osmtile_sites
155 delay_access <%= i+1 %> allow pool_<%= sprintf("%03d", 2*i) %> !pool_unlimited !has_referer is_browser osmtile_sites
156 delay_access <%= i+1 %> deny all
157 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 %>
158 <% end %>
159
160 # bigger pools for users providing a referer (assuming it's not blocked)
161 # or non-browser users.
162 <% (0..127).each do |i| %>
163 delay_access <%= i+129 %> allow pool_<%= sprintf("%03d", 2*i) %> !pool_unlimited osmtile_sites
164 delay_access <%= i+129 %> deny all
165 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] %>
166 <% end %>
167
168 #----------------------------------