From 01143f48c527ff7bb98b9a9e3d31f087d7d30ca3 Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Fri, 16 Jan 2015 16:26:15 +0100 Subject: [enh] image proxification --- searx/webapp.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'searx/webapp.py') diff --git a/searx/webapp.py b/searx/webapp.py index a63c2643f..2e07ddb06 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -29,6 +29,7 @@ import os from datetime import datetime, timedelta from requests import get as http_get from itertools import chain +from urllib import urlencode from flask import ( Flask, request, render_template, url_for, Response, make_response, redirect, send_from_directory @@ -204,6 +205,18 @@ def url_for_theme(endpoint, override_theme=None, **values): return url_for(endpoint, **values) +def image_proxify(url): + + if url.startswith('//'): + url = 'https:' + url + + if not settings['server'].get('image_proxy') and not request.cookies.get('image_proxy'): + return url + + return '{0}?{1}'.format(url_for('image_proxy'), + urlencode(dict(url=url))) + + def render(template_name, override_theme=None, **kwargs): blocked_engines = request.cookies.get('blocked_engines', '').split(',') @@ -250,6 +263,8 @@ def render(template_name, override_theme=None, **kwargs): # override url_for function in templates kwargs['url_for'] = url_for_theme + kwargs['image_proxify'] = image_proxify + kwargs['get_result_template'] = get_result_template kwargs['theme'] = get_current_theme_name(override=override_theme) -- cgit v1.2.3