Adam Tauber пре 10 година
родитељ
комит
01143f48c5
2 измењених фајлова са 16 додато и 0 уклоњено
  1. 1
    0
      searx/settings.yml
  2. 15
    0
      searx/webapp.py

+ 1
- 0
searx/settings.yml Прегледај датотеку

8
     default_theme : oscar # ui theme
8
     default_theme : oscar # ui theme
9
     https_rewrite : True # Force rewrite result urls. See searx/https_rewrite.py
9
     https_rewrite : True # Force rewrite result urls. See searx/https_rewrite.py
10
     useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator
10
     useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator
11
+    image_proxy : False # Proxying image results through searx
11
 
12
 
12
 engines:
13
 engines:
13
   - name : wikipedia
14
   - name : wikipedia

+ 15
- 0
searx/webapp.py Прегледај датотеку

29
 from datetime import datetime, timedelta
29
 from datetime import datetime, timedelta
30
 from requests import get as http_get
30
 from requests import get as http_get
31
 from itertools import chain
31
 from itertools import chain
32
+from urllib import urlencode
32
 from flask import (
33
 from flask import (
33
     Flask, request, render_template, url_for, Response, make_response,
34
     Flask, request, render_template, url_for, Response, make_response,
34
     redirect, send_from_directory
35
     redirect, send_from_directory
204
     return url_for(endpoint, **values)
205
     return url_for(endpoint, **values)
205
 
206
 
206
 
207
 
208
+def image_proxify(url):
209
+
210
+    if url.startswith('//'):
211
+        url = 'https:' + url
212
+
213
+    if not settings['server'].get('image_proxy') and not request.cookies.get('image_proxy'):
214
+        return url
215
+
216
+    return '{0}?{1}'.format(url_for('image_proxy'),
217
+                            urlencode(dict(url=url)))
218
+
219
+
207
 def render(template_name, override_theme=None, **kwargs):
220
 def render(template_name, override_theme=None, **kwargs):
208
     blocked_engines = request.cookies.get('blocked_engines', '').split(',')
221
     blocked_engines = request.cookies.get('blocked_engines', '').split(',')
209
 
222
 
250
     # override url_for function in templates
263
     # override url_for function in templates
251
     kwargs['url_for'] = url_for_theme
264
     kwargs['url_for'] = url_for_theme
252
 
265
 
266
+    kwargs['image_proxify'] = image_proxify
267
+
253
     kwargs['get_result_template'] = get_result_template
268
     kwargs['get_result_template'] = get_result_template
254
 
269
 
255
     kwargs['theme'] = get_current_theme_name(override=override_theme)
270
     kwargs['theme'] = get_current_theme_name(override=override_theme)