Browse Source

Ability to turn metasearch login on or off

Bob Mottram 7 years ago
parent
commit
a51f70e424
1 changed files with 34 additions and 5 deletions
  1. 34
    5
      src/freedombone-app-searx

+ 34
- 5
src/freedombone-app-searx View File

147
     esac
147
     esac
148
 }
148
 }
149
 
149
 
150
+function searx_enable_login {
151
+    dialog --title $"Enable Searx login" \
152
+           --backtitle $"Freedombone Control Panel" \
153
+           --defaultno \
154
+           --yesno $"\nDo you want to add a login so that random web users can't use your metasearch engine?" 10 60
155
+    sel=$?
156
+    case $sel in
157
+        0) if grep -q '#auth_basic' /etc/nginx/sites-available/searx; then
158
+               sed -i 's|#auth_basic|auth_basic|g' /etc/nginx/sites-available/searx
159
+               systemctl restart nginx
160
+           fi
161
+           read_config_param $MY_USERNAME
162
+           SEARX_LOGIN_PASS=$(${PROJECT_NAME}-pass -u $MY_USERNAME -a searx)
163
+           dialog --title $"Enable Searx login" \
164
+                  --msgbox $"Searx logins are now enabled with the password $SEARX_LOGIN_PASS" 6 40
165
+           SEARX_LOGIN_PASS=
166
+           ;;
167
+        1) if ! grep -q '#auth_basic' /etc/nginx/sites-available/searx; then
168
+               sed -i 's|auth_basic|#auth_basic|g' /etc/nginx/sites-available/searx
169
+               systemctl restart nginx
170
+           fi
171
+           dialog --title $"Disable Searx login" \
172
+                  --msgbox $"Searx logins are now disabled. Anyone can access your metasearch engine." 6 40
173
+           ;;
174
+    esac
175
+}
176
+
150
 function configure_interactive_searx {
177
 function configure_interactive_searx {
151
     while true
178
     while true
152
     do
179
     do
154
         trap "rm -f $data" 0 1 2 5 15
181
         trap "rm -f $data" 0 1 2 5 15
155
         dialog --backtitle $"Freedombone Control Panel" \
182
         dialog --backtitle $"Freedombone Control Panel" \
156
                --title $"SearX Metasearch" \
183
                --title $"SearX Metasearch" \
157
-               --radiolist $"Choose an operation:" 11 70 2 \
184
+               --radiolist $"Choose an operation:" 12 70 3 \
158
                1 $"Set a background image" off \
185
                1 $"Set a background image" off \
159
-               2 $"Exit" on 2> $data
186
+               2 $"Enable login" off \
187
+               3 $"Exit" on 2> $data
160
         sel=$?
188
         sel=$?
161
         case $sel in
189
         case $sel in
162
             1) return;;
190
             1) return;;
164
         esac
192
         esac
165
         case $(cat $data) in
193
         case $(cat $data) in
166
             1) searx_set_background_image;;
194
             1) searx_set_background_image;;
167
-            2) break;;
195
+            2) searx_enable_login;;
196
+            3) break;;
168
         esac
197
         esac
169
     done
198
     done
170
 }
199
 }
942
     function_check nginx_limits
971
     function_check nginx_limits
943
     nginx_limits searx '1M'
972
     nginx_limits searx '1M'
944
     echo '        proxy_pass http://localhost:8888;' >> /etc/nginx/sites-available/searx
973
     echo '        proxy_pass http://localhost:8888;' >> /etc/nginx/sites-available/searx
945
-    echo "        auth_basic \"${SEARX_LOGIN_TEXT}\";" >> /etc/nginx/sites-available/searx
946
-    echo '        auth_basic_user_file /etc/nginx/.htpasswd;' >> /etc/nginx/sites-available/searx
974
+    echo "        #auth_basic \"${SEARX_LOGIN_TEXT}\";" >> /etc/nginx/sites-available/searx
975
+    echo '        #auth_basic_user_file /etc/nginx/.htpasswd;' >> /etc/nginx/sites-available/searx
947
     echo '    }' >> /etc/nginx/sites-available/searx
976
     echo '    }' >> /etc/nginx/sites-available/searx
948
     echo '' >> /etc/nginx/sites-available/searx
977
     echo '' >> /etc/nginx/sites-available/searx
949
     echo '    fastcgi_buffers 64 4K;' >> /etc/nginx/sites-available/searx
978
     echo '    fastcgi_buffers 64 4K;' >> /etc/nginx/sites-available/searx