|
@@ -40,12 +40,14 @@ SEARX_ONION_PORT=8094
|
40
|
40
|
SEARX_ONION_HOSTNAME=
|
41
|
41
|
SEARX_LOGIN_TEXT=$"Search engine login"
|
42
|
42
|
SEARX_PASSWORD=
|
|
43
|
+SEARX_BACKGROUND_IMAGE_URL=
|
43
|
44
|
|
44
|
45
|
searx_variables=(SEARX_REPO
|
45
|
46
|
SEARX_COMMIT
|
46
|
47
|
SEARX_PATH
|
47
|
48
|
SEARX_LOGIN_TEXT
|
48
|
49
|
MY_USERNAME
|
|
50
|
+ SEARX_BACKGROUND_IMAGE_URL
|
49
|
51
|
SYSTEM_TYPE)
|
50
|
52
|
|
51
|
53
|
function searx_set_default_background {
|
|
@@ -60,6 +62,102 @@ function searx_set_default_background {
|
60
|
62
|
fi
|
61
|
63
|
}
|
62
|
64
|
|
|
65
|
+function searx_set_background_image_from_url {
|
|
66
|
+ url="$1"
|
|
67
|
+
|
|
68
|
+ ext=
|
|
69
|
+ if [ ${#url} -gt 0 ]; then
|
|
70
|
+ if [[ "$url" == *".jpeg" || "$url" == *".jpg" ]]; then
|
|
71
|
+ ext="jpg"
|
|
72
|
+ fi
|
|
73
|
+ if [[ "$url" == *".png" ]]; then
|
|
74
|
+ ext="png"
|
|
75
|
+ fi
|
|
76
|
+ if [[ "$url" == *".gif" ]]; then
|
|
77
|
+ ext="gif"
|
|
78
|
+ fi
|
|
79
|
+ fi
|
|
80
|
+
|
|
81
|
+ if [ ${#ext} -gt 0 ]; then
|
|
82
|
+ if [ -d /etc/searx/searx/static/themes/courgette/img ]; then
|
|
83
|
+ cd /etc/searx/searx/static/themes/courgette/img
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+ # remove any existing image
|
|
87
|
+ if [ -f bg-body-index.jpg ]; then
|
|
88
|
+ rm bg-body-index.jpg
|
|
89
|
+ fi
|
|
90
|
+
|
|
91
|
+ # get the new image
|
|
92
|
+ if [[ "$ext" != 'jpg' ]]; then
|
|
93
|
+ if [ -f bg-body-index.${ext} ]; then
|
|
94
|
+ rm bg-body-index.${ext}
|
|
95
|
+ fi
|
|
96
|
+ wget "$url" -O bg-body-index.${ext}
|
|
97
|
+ convert bg-body-index.${ext} bg-body-index.jpg
|
|
98
|
+ else
|
|
99
|
+ wget "$url" -O bg-body-index.jpg
|
|
100
|
+ fi
|
|
101
|
+ if [ ! -f bg-body-index.jpg ]; then
|
|
102
|
+ echo "$url"
|
|
103
|
+ echo $'Custom background image for SearX could not be downloaded'
|
|
104
|
+ echo "1"
|
|
105
|
+ return
|
|
106
|
+ fi
|
|
107
|
+ chown -R searx:searx ${SEARX_PATH}/searx
|
|
108
|
+ fi
|
|
109
|
+ else
|
|
110
|
+ echo "2"
|
|
111
|
+ return
|
|
112
|
+ fi
|
|
113
|
+
|
|
114
|
+ echo "0"
|
|
115
|
+}
|
|
116
|
+
|
|
117
|
+function searx_set_background_image {
|
|
118
|
+ data=$(tempfile 2>/dev/null)
|
|
119
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
120
|
+ dialog --title $"SearX Metasearch" \
|
|
121
|
+ --backtitle $"Freedombone Control Panel" \
|
|
122
|
+ --inputbox $'Set a background image URL' 10 60 2>$data
|
|
123
|
+ sel=$?
|
|
124
|
+ case $sel in
|
|
125
|
+ 0)
|
|
126
|
+ temp_background=$(<$data)
|
|
127
|
+ if [ ${#temp_background} -gt 0 ]; then
|
|
128
|
+ SEARX_BACKGROUND_IMAGE_URL="$temp_background"
|
|
129
|
+ write_config_param "SEARX_BACKGROUND_IMAGE_URL" "$SEARX_BACKGROUND_IMAGE_URL"
|
|
130
|
+ if [[ $(searx_set_background_image_from_url "$SEARX_BACKGROUND_IMAGE_URL" | tail -n 1) == "0" ]]; then
|
|
131
|
+ dialog --title $"Set SearX background" \
|
|
132
|
+ --msgbox $"The background image has been set" 6 60
|
|
133
|
+ fi
|
|
134
|
+ fi
|
|
135
|
+ ;;
|
|
136
|
+ esac
|
|
137
|
+}
|
|
138
|
+
|
|
139
|
+function configure_interactive_searx {
|
|
140
|
+ while true
|
|
141
|
+ do
|
|
142
|
+ data=$(tempfile 2>/dev/null)
|
|
143
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
144
|
+ dialog --backtitle $"Freedombone Control Panel" \
|
|
145
|
+ --title $"SearX Metasearch" \
|
|
146
|
+ --radiolist $"Choose an operation:" 11 70 2 \
|
|
147
|
+ 1 $"Set a background image" off \
|
|
148
|
+ 2 $"Exit" on 2> $data
|
|
149
|
+ sel=$?
|
|
150
|
+ case $sel in
|
|
151
|
+ 1) return;;
|
|
152
|
+ 255) return;;
|
|
153
|
+ esac
|
|
154
|
+ case $(cat $data) in
|
|
155
|
+ 1) searx_set_background_image;;
|
|
156
|
+ 2) break;;
|
|
157
|
+ esac
|
|
158
|
+ done
|
|
159
|
+}
|
|
160
|
+
|
63
|
161
|
function remove_user_searx {
|
64
|
162
|
remove_username="$1"
|
65
|
163
|
|
|
@@ -625,8 +723,16 @@ function create_searx_config {
|
625
|
723
|
}
|
626
|
724
|
|
627
|
725
|
function upgrade_searx {
|
|
726
|
+ background_image=/etc/searx/searx/static/themes/courgette/img/bg-body-index.jpg
|
|
727
|
+ if [ -f ${background_image} ]; then
|
|
728
|
+ cp ${background_image} ${background_image}.prev
|
|
729
|
+ fi
|
|
730
|
+
|
628
|
731
|
set_repo_commit $SEARX_PATH/searx "searx commit" "$SEARX_COMMIT" $SEARX_REPO
|
629
|
|
- searx_set_default_background
|
|
732
|
+ if [ -f ${background_image}.prev ]; then
|
|
733
|
+ cp ${background_image}.prev ${background_image}
|
|
734
|
+ chown -R searx:searx ${SEARX_PATH}/searx
|
|
735
|
+ fi
|
630
|
736
|
}
|
631
|
737
|
|
632
|
738
|
function backup_local_searx {
|
|
@@ -672,7 +778,7 @@ function install_searx {
|
672
|
778
|
fi
|
673
|
779
|
|
674
|
780
|
apt-get -yq install python-pip libyaml-dev python-werkzeug python-babel python-lxml apache2-utils
|
675
|
|
- apt-get -yq install git build-essential libxslt-dev python-dev python-virtualenv python-pybabel zlib1g-dev uwsgi uwsgi-plugin-python libapache2-mod-uwsgi
|
|
781
|
+ apt-get -yq install git build-essential libxslt-dev python-dev python-virtualenv python-pybabel zlib1g-dev uwsgi uwsgi-plugin-python libapache2-mod-uwsgi imagemagick
|
676
|
782
|
|
677
|
783
|
pip install --upgrade pip
|
678
|
784
|
|