feat: Dan Pollock’s hosts file (#5) (#6)
All checks were successful
/ deploy (push) Successful in 6s
All checks were successful
/ deploy (push) Successful in 6s
Reviewed-on: #5 Reviewed-on: #6
This commit is contained in:
parent
a540ba7854
commit
e13de96930
2
.env
2
.env
@ -1,2 +1,2 @@
|
|||||||
PROD_URL=searx.gmoker.com
|
PROD_URL=searx.gmoker.com
|
||||||
IMAGEAPP=docker.io/searxng/searxng:2024.9.26-6a3375be3
|
IMAGEAPP=docker.io/searxng/searxng:2024.12.22-26097f444
|
||||||
|
@ -14,4 +14,4 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- SEARXNG_SECRET=secret # $(openssl rand -hex 32)
|
- SEARXNG_SECRET=secret # $(openssl rand -hex 32)
|
||||||
volumes:
|
volumes:
|
||||||
- ./config/:/etc/searxng/
|
- ./config/:/etc/searxng/:ro
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ ipv6_prefix = 48
|
|||||||
|
|
||||||
[botdetection.ip_limit]
|
[botdetection.ip_limit]
|
||||||
|
|
||||||
# To get unlimited access in a local network, by default link-lokal addresses
|
# To get unlimited access in a local network, by default link-local addresses
|
||||||
# (networks) are not monitored by the ip_limit
|
# (networks) are not monitored by the ip_limit
|
||||||
filter_link_local = false
|
filter_link_local = false
|
||||||
|
|
||||||
|
@ -12,6 +12,10 @@ general:
|
|||||||
contact_url: false
|
contact_url: false
|
||||||
# record stats
|
# record stats
|
||||||
enable_metrics: true
|
enable_metrics: true
|
||||||
|
# expose stats in open metrics format at /metrics
|
||||||
|
# leave empty to disable (no password set)
|
||||||
|
# open_metrics: <password>
|
||||||
|
open_metrics: ''
|
||||||
|
|
||||||
brand:
|
brand:
|
||||||
new_issue_url: https://github.com/searxng/searxng/issues/new
|
new_issue_url: https://github.com/searxng/searxng/issues/new
|
||||||
@ -35,6 +39,9 @@ search:
|
|||||||
autocomplete: "brave"
|
autocomplete: "brave"
|
||||||
# minimun characters to type before autocompleter starts
|
# minimun characters to type before autocompleter starts
|
||||||
autocomplete_min: 4
|
autocomplete_min: 4
|
||||||
|
# backend for the favicon near URL in search results.
|
||||||
|
# Available resolvers: "allesedv", "duckduckgo", "google", "yandex" - leave blank to turn it off by default.
|
||||||
|
favicon_resolver: ""
|
||||||
# Default search language - leave blank to detect from browser information or
|
# Default search language - leave blank to detect from browser information or
|
||||||
# use codes from 'languages.py'
|
# use codes from 'languages.py'
|
||||||
default_lang: "auto"
|
default_lang: "auto"
|
||||||
@ -133,6 +140,8 @@ ui:
|
|||||||
search_on_category_select: true
|
search_on_category_select: true
|
||||||
# Hotkeys: default or vim
|
# Hotkeys: default or vim
|
||||||
hotkeys: vim
|
hotkeys: vim
|
||||||
|
# URL formatting: pretty, full or host
|
||||||
|
url_formatting: pretty
|
||||||
|
|
||||||
# Lock arbitrary settings on the preferences page. To find the ID of the user
|
# Lock arbitrary settings on the preferences page. To find the ID of the user
|
||||||
# setting you want to lock, check the ID of the form on the page "preferences".
|
# setting you want to lock, check the ID of the form on the page "preferences".
|
||||||
@ -218,15 +227,12 @@ enabled_plugins:
|
|||||||
- 'Hash plugin'
|
- 'Hash plugin'
|
||||||
- 'Self Information'
|
- 'Self Information'
|
||||||
- 'Tracker URL remover'
|
- 'Tracker URL remover'
|
||||||
|
- 'Unit converter plugin'
|
||||||
- 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
|
- 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
|
||||||
# # these plugins are disabled if nothing is configured ..
|
# # these plugins are disabled if nothing is configured ..
|
||||||
- 'Hostnames plugin' # see 'hostnames' configuration below
|
- 'Hostnames plugin' # see 'hostnames' configuration below
|
||||||
# - 'Open Access DOI rewrite'
|
# - 'Open Access DOI rewrite'
|
||||||
# - 'Tor check plugin'
|
# - 'Tor check plugin'
|
||||||
# # Read the docs before activate: auto-detection of the language could be
|
|
||||||
# # detrimental to users expectations / users can activate the plugin in the
|
|
||||||
# # preferences if they want.
|
|
||||||
- 'Autodetect search language'
|
|
||||||
|
|
||||||
# Configuration of the "Hostnames plugin":
|
# Configuration of the "Hostnames plugin":
|
||||||
#
|
#
|
||||||
@ -298,6 +304,36 @@ engines:
|
|||||||
shortcut: 9g
|
shortcut: 9g
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
|
- name: adobe stock
|
||||||
|
engine: adobe_stock
|
||||||
|
shortcut: asi
|
||||||
|
categories: ["images"]
|
||||||
|
# https://docs.searxng.org/dev/engines/online/adobe_stock.html
|
||||||
|
adobe_order: relevance
|
||||||
|
adobe_content_types: ["photo", "illustration", "zip_vector", "template", "3d", "image"]
|
||||||
|
timeout: 6
|
||||||
|
disabled: true
|
||||||
|
|
||||||
|
- name: adobe stock video
|
||||||
|
engine: adobe_stock
|
||||||
|
shortcut: asv
|
||||||
|
network: adobe stock
|
||||||
|
categories: ["videos"]
|
||||||
|
adobe_order: relevance
|
||||||
|
adobe_content_types: ["video"]
|
||||||
|
timeout: 6
|
||||||
|
disabled: true
|
||||||
|
|
||||||
|
- name: adobe stock audio
|
||||||
|
engine: adobe_stock
|
||||||
|
shortcut: asa
|
||||||
|
network: adobe stock
|
||||||
|
categories: ["music"]
|
||||||
|
adobe_order: relevance
|
||||||
|
adobe_content_types: ["audio"]
|
||||||
|
timeout: 6
|
||||||
|
disabled: true
|
||||||
|
|
||||||
- name: alpine linux packages
|
- name: alpine linux packages
|
||||||
engine: alpinelinux
|
engine: alpinelinux
|
||||||
disabled: true
|
disabled: true
|
||||||
@ -383,7 +419,6 @@ engines:
|
|||||||
shortcut: wp
|
shortcut: wp
|
||||||
# add "list" to the array to get results in the results list
|
# add "list" to the array to get results in the results list
|
||||||
display_type: ["infobox"]
|
display_type: ["infobox"]
|
||||||
base_url: 'https://{language}.wikipedia.org/'
|
|
||||||
categories: [general]
|
categories: [general]
|
||||||
|
|
||||||
- name: bilibili
|
- name: bilibili
|
||||||
@ -503,6 +538,8 @@ engines:
|
|||||||
url_query: link
|
url_query: link
|
||||||
title_query: title
|
title_query: title
|
||||||
content_query: snippet
|
content_query: snippet
|
||||||
|
title_html_to_text: true
|
||||||
|
content_html_to_text: true
|
||||||
disabled: true
|
disabled: true
|
||||||
about:
|
about:
|
||||||
website: https://crowdview.ai/
|
website: https://crowdview.ai/
|
||||||
@ -1251,6 +1288,12 @@ engines:
|
|||||||
require_api_key: false
|
require_api_key: false
|
||||||
results: JSON
|
results: JSON
|
||||||
|
|
||||||
|
- name: openlibrary
|
||||||
|
engine: openlibrary
|
||||||
|
shortcut: ol
|
||||||
|
timeout: 5
|
||||||
|
disabled: true
|
||||||
|
|
||||||
- name: openmeteo
|
- name: openmeteo
|
||||||
engine: open_meteo
|
engine: open_meteo
|
||||||
shortcut: om
|
shortcut: om
|
||||||
@ -1587,11 +1630,6 @@ engines:
|
|||||||
api_site: 'askubuntu'
|
api_site: 'askubuntu'
|
||||||
categories: [it, q&a]
|
categories: [it, q&a]
|
||||||
|
|
||||||
- name: internetarchivescholar
|
|
||||||
engine: internet_archive_scholar
|
|
||||||
shortcut: ias
|
|
||||||
timeout: 15.0
|
|
||||||
|
|
||||||
- name: superuser
|
- name: superuser
|
||||||
engine: stackexchange
|
engine: stackexchange
|
||||||
shortcut: su
|
shortcut: su
|
||||||
@ -2007,6 +2045,16 @@ engines:
|
|||||||
# query_str: 'SELECT * from mytable WHERE fieldname=%(query)s'
|
# query_str: 'SELECT * from mytable WHERE fieldname=%(query)s'
|
||||||
# shortcut: mysql
|
# shortcut: mysql
|
||||||
|
|
||||||
|
# Required dependency: mariadb
|
||||||
|
# - name: mariadb
|
||||||
|
# engine: mariadb_server
|
||||||
|
# database: mydatabase
|
||||||
|
# username: user
|
||||||
|
# password: pass
|
||||||
|
# limit: 10
|
||||||
|
# query_str: 'SELECT * from mytable WHERE fieldname=%(query)s'
|
||||||
|
# shortcut: mdb
|
||||||
|
|
||||||
- name: 1337x
|
- name: 1337x
|
||||||
engine: 1337x
|
engine: 1337x
|
||||||
shortcut: 1337x
|
shortcut: 1337x
|
||||||
@ -2164,7 +2212,6 @@ engines:
|
|||||||
- name: wordnik
|
- name: wordnik
|
||||||
engine: wordnik
|
engine: wordnik
|
||||||
shortcut: def
|
shortcut: def
|
||||||
base_url: https://www.wordnik.com/
|
|
||||||
categories: [dictionaries]
|
categories: [dictionaries]
|
||||||
timeout: 5.0
|
timeout: 5.0
|
||||||
|
|
||||||
@ -2210,13 +2257,6 @@ engines:
|
|||||||
seekr_category: videos
|
seekr_category: videos
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
- name: sjp.pwn
|
|
||||||
engine: sjp
|
|
||||||
shortcut: sjp
|
|
||||||
base_url: https://sjp.pwn.pl/
|
|
||||||
timeout: 5.0
|
|
||||||
disabled: true
|
|
||||||
|
|
||||||
- name: stract
|
- name: stract
|
||||||
engine: stract
|
engine: stract
|
||||||
shortcut: str
|
shortcut: str
|
||||||
|
2
diff.sh
2
diff.sh
@ -12,7 +12,7 @@ new_commit="$(grep -Eo '\w+$' <<< "$new_tag")"
|
|||||||
|
|
||||||
for f in limiter.toml settings.yml; do
|
for f in limiter.toml settings.yml; do
|
||||||
if curl -Lo "$tmp" "$REPO/$new_commit/searx/$f" && ! diff -Z "$tmp" "config/$f" > /dev/null; then
|
if curl -Lo "$tmp" "$REPO/$new_commit/searx/$f" && ! diff -Z "$tmp" "config/$f" > /dev/null; then
|
||||||
$EDITOR -d -c "wincmd l" -- "config/$f" "$tmp"
|
$EDITOR -d -c "wincmd l" -- "$tmp" "config/$f"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -3,40 +3,45 @@ set -o pipefail
|
|||||||
|
|
||||||
function kapply() {
|
function kapply() {
|
||||||
for f in "$@"; do
|
for f in "$@"; do
|
||||||
kubectl apply -f \
|
kubectl apply -f <(envsubst < "manifests/$f")
|
||||||
<(envsubst "$(env | xargs printf '$%s ')" < "manifests/$f")
|
|
||||||
done
|
done
|
||||||
}
|
}; export -f kapply
|
||||||
|
|
||||||
function kcreatesec() {
|
function kcreatesec() {
|
||||||
kubectl create secret generic --save-config --dry-run=client -oyaml "$@" | kubectl apply -f-
|
kubectl create secret generic --dry-run=client -oyaml "$@" | kubectl replace -f-
|
||||||
}
|
}; export -f kcreatesec
|
||||||
|
|
||||||
function kcreatecm() {
|
function kcreatecm() {
|
||||||
kubectl create configmap --dry-run=client -oyaml "$@" | kubectl apply -f-
|
kubectl create configmap --dry-run=client -oyaml "$@" | kubectl replace -f-
|
||||||
}
|
}; export -f kcreatecm
|
||||||
|
|
||||||
function kgseckey() {
|
function kgseckey() {
|
||||||
local sec="$1"; shift
|
local sec="$1"; shift
|
||||||
local key="$1"; shift
|
local key="$1"; shift
|
||||||
|
|
||||||
kubectl get secret "$sec" -o jsonpath="{.data.$key}" | base64 -d
|
if ! kubectl get secret "$sec" -ojson | jq -re ".data.\"$key\" // empty" | base64 -d; then
|
||||||
}
|
return 1
|
||||||
|
fi
|
||||||
|
}; export -f kgseckey
|
||||||
|
|
||||||
function kgcmkey() {
|
function kgcmkey() {
|
||||||
local cm="$1"; shift
|
local cm="$1"; shift
|
||||||
local key="$1"; shift
|
local key="$1"; shift
|
||||||
|
|
||||||
kubectl get configmap "$cm" -o jsonpath="{.data.$key}"
|
if ! kubectl get configmap "$cm" -ojson | jq -re ".data.\"$key\" // empty"; then
|
||||||
}
|
return 1
|
||||||
|
fi
|
||||||
|
}; export -f kgcmkey
|
||||||
|
|
||||||
|
|
||||||
kcreatesec searxng \
|
kcreatesec searxng \
|
||||||
--from-literal=SEARXNG_SECRET="$(kgseckey searxng SEARXNG_SECRET || openssl rand -hex 32)"
|
--from-literal=SEARXNG_SECRET="$(kgseckey searxng SEARXNG_SECRET || openssl rand -hex 32)"
|
||||||
|
|
||||||
kcreatecm searxng \
|
opts=()
|
||||||
--from-file=config/settings.yml \
|
for f in config/*; do
|
||||||
--from-file=config/limiter.toml
|
opts+=(--from-file="$f")
|
||||||
|
done
|
||||||
|
kcreatecm searxng "${opts[@]}"
|
||||||
|
|
||||||
kapply common/valkey.yaml common/app.yaml
|
kapply common/valkey.yaml common/app.yaml
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
export NB_REPLICAS=1
|
export NB_REPLICAS=1
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
export NB_REPLICAS=3
|
export NB_REPLICAS=3
|
||||||
|
|
||||||
|
@ -69,11 +69,7 @@ spec:
|
|||||||
name: searxng
|
name: searxng
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: config
|
- name: config
|
||||||
mountPath: /etc/searxng/limiter.toml
|
mountPath: /etc/searxng/
|
||||||
subPath: limiter.toml
|
|
||||||
- name: config
|
|
||||||
mountPath: /etc/searxng/settings.yml
|
|
||||||
subPath: settings.yml
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: config
|
- name: config
|
||||||
configMap:
|
configMap:
|
||||||
|
Loading…
Reference in New Issue
Block a user