diff options
Diffstat (limited to 'searx/https_rules/GoogleSearch.xml')
-rw-r--r-- | searx/https_rules/GoogleSearch.xml | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/searx/https_rules/GoogleSearch.xml b/searx/https_rules/GoogleSearch.xml new file mode 100644 index 000000000..66b7ffdb0 --- /dev/null +++ b/searx/https_rules/GoogleSearch.xml @@ -0,0 +1,135 @@ +<ruleset name="Google Search"> + + <target host="google.com" /> + <target host="*.google.com" /> + <target host="google.com.*" /> + <target host="www.google.com.*" /> + <target host="google.co.*" /> + <target host="www.google.co.*" /> + <target host="google.*" /> + <target host="www.google.*" /> + <!-- + Beyond clients1 these do not currently + exist in the ccTLDs, but just in case... + --> + <target host="clients1.google.com.*" /> + <target host="clients2.google.com.*" /> + <target host="clients3.google.com.*" /> + <target host="clients4.google.com.*" /> + <target host="clients5.google.com.*" /> + <target host="clients6.google.com.*" /> + <target host="clients1.google.co.*" /> + <target host="clients2.google.co.*" /> + <target host="clients3.google.co.*" /> + <target host="clients4.google.co.*" /> + <target host="clients5.google.co.*" /> + <target host="clients6.google.co.*" /> + <target host="clients1.google.*" /> + <target host="clients2.google.*" /> + <target host="clients3.google.*" /> + <target host="clients4.google.*" /> + <target host="clients5.google.*" /> + <target host="clients6.google.*" /> + + + <!-- Some Google pages can generate naive links back to the + unencrypted version of encrypted.google.com, which is + a 301 but theoretically vulnerable to SSL stripping. + --> + <rule from="^http://encrypted\.google\.com/" + to="https://encrypted.google.com/" /> + + <!-- The most basic case. + --> + <rule from="^http://(?:www\.)?google\.com/search" + to="https://encrypted.google.com/search" /> + + <!-- A very annoying exception that we + seem to need for the basic case + --> + <exclusion pattern="^http://(?:www\.)?google\.com/search.*tbs=shop" /> + <exclusion pattern="^http://clients\d\.google\.com/.*client=products.*" /> + <exclusion pattern="^http://suggestqueries\.google\.com/.*client=.*" /> + + <!-- https://trac.torproject.org/projects/tor/ticket/9713 + --> + + <exclusion pattern="^http://clients[0-9]\.google\.com/ocsp" /> + + + <!-- This is necessary for image results + links from web search results + --> + <exclusion pattern="^http://(?:www\.)?google\.com/search.*tbm=isch.*" /> + + <rule from="^http://(?:www\.)?google\.com/about" + to="https://www.google.com/about" /> + + <!-- There are two distinct cases for these firefox searches --> + + <rule from="^http://(?:www\.)?google(?:\.com?)?\.[a-z]{2}/firefox/?$" + to="https://encrypted.google.com/" /> + + <rule from="^http://(?:www\.)?google(?:\.com?)?\.[a-z]{2}/firefox" + to="https://encrypted.google.com/webhp" /> + + <rule from="^http://(?:www\.)?google\.com/webhp" + to="https://encrypted.google.com/webhp" /> + + <rule from="^http://codesearch\.google\.com/" + to="https://codesearch.google.com/" /> + + <rule from="^http://(?:www\.)?google\.com/codesearch" + to="https://www.google.com/codesearch" /> + + <rule from="^http://(?:www\.)?google\.com/#" + to="https://encrypted.google.com/#" /> + + <rule from="^http://(?:www\.)?google\.com/$" + to="https://encrypted.google.com/" /> + + <!-- Google supports IPv6 search, including + HTTPS with a valid certificate! --> + <rule from="^http://ipv6\.google\.com/" + to="https://ipv6.google.com/" /> + + <!-- most google international sites look like + "google.fr", some look like "google.co.jp", + and some crazy ones like "google.com.au" --> + + <rule from="^http://(www\.)?google(\.com?)?\.([a-z]{2})/(search\?|#)" + to="https://$1google$2.$3/$4" /> + + <!-- Language preference setting --> + <rule from="^http://(www\.)?google(\.com?)?\.([a-z]{2})/setprefs" + to="https://$1google$2.$3/setprefs" /> + + <!-- Completion urls look like this: + +http://clients2.google.co.jp/complete/search?hl=ja&client=hp&expIds=17259,24660,24729,24745&q=m&cp=1 HTTP/1.1\r\n + + --> + <rule from="^http://clients\d\.google\.com/complete/search" + to="https://clients1.google.com/complete/search" /> + + <rule from="^http://clients\d\.google(\.com?\.[a-z]{2})/complete/search" + to="https://clients1.google.$1/complete/search" /> + + <rule from="^http://clients\d\.google\.([a-z]{2})/complete/search" + to="https://clients1.google.$1/complete/search" /> + + <rule from="^http://suggestqueries\.google\.com/complete/search" + to="https://clients1.google.com/complete/search" /> + + <rule from="^http://(www\.)?google\.(com?\.)?([a-z]{2})/(?:webhp)?$" + to="https://$1google.$2$3/" /> + + <!-- If there are URL parameters, keep them. --> + <rule from="^http://(www\.)?google\.(com?\.)?([a-z]{2})/(?:webhp)?\?" + to="https://$1google.$2$3/webhp?" /> + + <!-- teapot --> + <rule from="^http://(www\.)?google(\.com?)?\.([a-z]{2})/teapot" + to="https://$1google$2.$3/teapot" /> + +</ruleset> |