expand engine menus to ~80 engines across 6 categories; fix permissions

configure-searxng-safesearch.sh:
- Fix "Permission denied" when Docker created settings.yml as root:
  detect unwritable file, run sudo chown before writing

Engine menus (both setup scripts):
- Web:       +presearch, yep, wiby  (15 total)
- Images:    +startpage images, mojeek images, presearch images,
              pexels, pixabay images, pinterest, flickr (moved to ON — it
              supports safe-search), wikcommons.images, artstation, adobe stock
              (19 total); removed flickr/dailymotion from no-safe-search list
- Videos:    +brave videos, qwant videos, rumble, odysee, bitchute,
              media.ccc.de, wikcommons.videos  (17 total)
- News:      +startpage news, presearch news, mojeek news, reuters,
              yahoo news, wikinews, yep news  (12 total)
- Reference: NEW — wikipedia, wikidata, wolframalpha, ask, ddg definitions,
              encyclopsearch, wikibooks, wikiquote, wikisource, wikispecies,
              wikiversity, wikivoyage  (12 total)
- Science:   unchanged (5)

_sxst() updated: removed flickr/dailymotion from OFF list; added
  vimeo, bitchute, rumble, odysee, artstation, mojeek images/news

https://claude.ai/code/session_012gDnantBmFTWZGCiKyjazx
This commit is contained in:
Claude
2026-03-21 05:28:23 +00:00
parent 9a329a754b
commit fc10cbf668
3 changed files with 246 additions and 108 deletions
+8 -2
View File
@@ -55,8 +55,14 @@ done
SETTINGS="$BASE/searxng/settings.yml"
COMPOSE="$BASE/docker-compose.yml"
# Ensure settings directory exists
mkdir -p "$(dirname "$SETTINGS")"
# Ensure settings directory exists (fix ownership if Docker created it as root)
mkdir -p "$(dirname "$SETTINGS")" 2>/dev/null || \
sudo mkdir -p "$(dirname "$SETTINGS")"
if [[ -e "$SETTINGS" ]] && [[ ! -w "$SETTINGS" ]]; then
warn "settings.yml not writable — fixing ownership"
sudo chown "$(id -u):$(id -g)" "$SETTINGS" || \
die "Cannot write to $SETTINGS — run: sudo chown $USER $SETTINGS"
fi
# ── Level → integer ───────────────────────────────────────────────────────────
case "$LEVEL" in