diff --git a/Dockerfile b/Dockerfile index 70fb0323bb14b67f157d02f6017bc08a6cefaf23..40ac3eb320098673275e7ee864731e7f8cd8090d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,9 +4,7 @@ RUN apk add \ git \ build-base \ libxml2-dev \ - libxslt-dev \ - libffi-dev \ - openssl-dev + libxslt-dev # Only to use the docker cache and optimize the build time WORKDIR /src @@ -24,7 +22,6 @@ LABEL description="A privacy-respecting, hackable metasearch engine." RUN apk add \ ca-certificates \ libxslt \ - openssl \ && pip install coverage COPY --from=builder /install/ /usr/local/ diff --git a/requirements.txt b/requirements.txt index fc7eac0050a89571a9fbc3abeba030fe65e126f8..ba135f738b3a6463b9b89de931c79b9b346bf15d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,8 @@ -redis==3.2.1 -certifi==2017.11.5 flask==1.0.2 flask-babel==0.11.2 -lxml==4.2.3 -idna==2.7 -pygments==2.1.3 -pyopenssl==18.0.0 -python-dateutil==2.7.3 -pyyaml==3.13 -requests[socks]==2.19.1 +lxml==4.3.3 +pygments==2.3.1 +python-dateutil==2.8.0 +pyyaml==5.1 +requests[socks]==2.21.0 +redis==3.2.1 diff --git a/searx/__init__.py b/searx/__init__.py index 7324c1e4b1eded5819d14659dc8f9a39bbc724b2..d0bb7126d3998ea62370cc82ae8b7f9796e8a194 100644 --- a/searx/__init__.py +++ b/searx/__init__.py @@ -15,18 +15,11 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >. (C) 2013- by Adam Tauber, ''' -import certifi import logging from os import environ from os.path import realpath, dirname, join, abspath, isfile from io import open -from ssl import OPENSSL_VERSION_INFO, OPENSSL_VERSION -try: - from yaml import load -except ImportError: - from sys import exit, stderr - stderr.write('[E] install pyyaml\n') - exit(2) +from yaml import load searx_dir = abspath(dirname(__file__)) engine_dir = dirname(realpath(__file__)) @@ -73,12 +66,6 @@ logging.basicConfig(level=getattr(logging, searx_loglevel)) logger = logging.getLogger('searx') logger.debug('read configuration from %s', settings_path) -# Workaround for openssl versions <1.0.2 -# https://github.com/certifi/python-certifi/issues/26 -if OPENSSL_VERSION_INFO[0:3] < (1, 0, 2): - if hasattr(certifi, 'old_where'): - environ['REQUESTS_CA_BUNDLE'] = certifi.old_where() - logger.warning('You are using an old openssl version({0}), please upgrade above 1.0.2!'.format(OPENSSL_VERSION)) logger.info('Initialisation done') diff --git a/searx/webapp.py b/searx/webapp.py index 84f9a504edc215a4d9648510110205d5c57b4410..d7e773829f91ec7d61b09327aeebe62f4e29c3e7 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -37,16 +37,11 @@ from searx import logger logger = logger.getChild('webapp') -try: - from pygments import highlight - from pygments.lexers import get_lexer_by_name - from pygments.util import ClassNotFound - from pygments.formatters import HtmlFormatter -except ImportError: - logger.critical("cannot import dependency: pygments") - from sys import exit - - exit(1) +from pygments import highlight +from pygments.lexers import get_lexer_by_name +from pygments.util import ClassNotFound +from pygments.formatters import HtmlFormatter + from html import escape from datetime import datetime, timedelta from werkzeug.contrib.fixers import ProxyFix @@ -80,14 +75,6 @@ from searx.url_utils import urlencode, urlparse, urljoin from searx.utils import new_hmac import threading -# check if the pyopenssl package is installed. -# It is needed for SSL connection without trouble, see #298 -try: - import OpenSSL.SSL # NOQA -except ImportError: - logger.critical("The pyopenssl package has to be installed.\n" - "Some HTTPS connections will fail") - from io import StringIO # serve pages with HTTP/1.1