mirror of
https://github.com/searxng/searxng.git
synced 2025-07-23 05:09:17 +02:00
Merge branch 'master' into http1.1
This commit is contained in:
commit
a88768efd8
87 changed files with 623 additions and 116 deletions
|
@ -22,10 +22,11 @@ if __name__ == '__main__':
|
|||
from os.path import realpath, dirname
|
||||
path.append(realpath(dirname(realpath(__file__)) + '/../'))
|
||||
|
||||
import json
|
||||
import cStringIO
|
||||
import os
|
||||
import hashlib
|
||||
import hmac
|
||||
import json
|
||||
import os
|
||||
import requests
|
||||
|
||||
from searx import logger
|
||||
|
@ -245,6 +246,20 @@ def url_for_theme(endpoint, override_theme=None, **values):
|
|||
return url_for(endpoint, **values)
|
||||
|
||||
|
||||
def proxify(url):
|
||||
if url.startswith('//'):
|
||||
url = 'https:' + url
|
||||
|
||||
if not settings.get('result_proxy'):
|
||||
return url
|
||||
|
||||
h = hmac.new(settings['result_proxy']['key'], url.encode('utf-8'), hashlib.sha256).hexdigest()
|
||||
|
||||
return '{0}?{1}'.format(settings['result_proxy']['url'],
|
||||
urlencode(dict(mortyurl=url.encode('utf-8'),
|
||||
mortyhash=h)))
|
||||
|
||||
|
||||
def image_proxify(url):
|
||||
|
||||
if url.startswith('//'):
|
||||
|
@ -253,8 +268,7 @@ def image_proxify(url):
|
|||
if not request.preferences.get_value('image_proxy'):
|
||||
return url
|
||||
|
||||
hash_string = url + settings['server']['secret_key']
|
||||
h = hashlib.sha256(hash_string.encode('utf-8')).hexdigest()
|
||||
h = hmac.new(settings['server']['secret_key'], url.encode('utf-8'), hashlib.sha256).hexdigest()
|
||||
|
||||
return '{0}?{1}'.format(url_for('image_proxy'),
|
||||
urlencode(dict(url=url.encode('utf-8'), h=h)))
|
||||
|
@ -313,6 +327,8 @@ def render(template_name, override_theme=None, **kwargs):
|
|||
|
||||
kwargs['image_proxify'] = image_proxify
|
||||
|
||||
kwargs['proxify'] = proxify if settings.get('result_proxy') else None
|
||||
|
||||
kwargs['get_result_template'] = get_result_template
|
||||
|
||||
kwargs['theme'] = get_current_theme_name(override=override_theme)
|
||||
|
@ -602,7 +618,7 @@ def image_proxy():
|
|||
if not url:
|
||||
return '', 400
|
||||
|
||||
h = hashlib.sha256(url + settings['server']['secret_key'].encode('utf-8')).hexdigest()
|
||||
h = hmac.new(settings['server']['secret_key'], url, hashlib.sha256).hexdigest()
|
||||
|
||||
if h != request.args.get('h'):
|
||||
return '', 400
|
||||
|
@ -660,6 +676,7 @@ Allow: /
|
|||
Allow: /about
|
||||
Disallow: /stats
|
||||
Disallow: /preferences
|
||||
Disallow: /*?*q=*
|
||||
""", mimetype='text/plain')
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue