diff options
| -rw-r--r-- | AUTHORS.rst | 3 | ||||
| -rw-r--r-- | searx/engines/bing.py | 14 | ||||
| -rw-r--r-- | searx/infopage/de/about.md | 8 | ||||
| -rw-r--r-- | searx/infopage/en/about.md | 10 | ||||
| -rw-r--r-- | searx/infopage/en/search-syntax.md | 4 | ||||
| -rw-r--r-- | searx/infopage/id/about.md | 68 | ||||
| -rw-r--r-- | searx/infopage/id/search-syntax.md | 23 | ||||
| -rw-r--r-- | searx/templates/simple/search.html | 2 | ||||
| -rwxr-xr-x | utils/searxng.sh | 6 |
9 files changed, 89 insertions, 49 deletions
diff --git a/AUTHORS.rst b/AUTHORS.rst index 288a067c3..82188cb73 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -165,4 +165,5 @@ features or generally made searx better: - Paul Alcock @Guilvareux - Sam A. `<https://samsapti.dev>`_ - @XavierHorwood -- Ahmad Alkadri `<https://github.com/ahmad-alkadri>`_
\ No newline at end of file +- Ahmad Alkadri `<https://github.com/ahmad-alkadri>`_ +- Milad Laly @Milad-Laly
\ No newline at end of file diff --git a/searx/engines/bing.py b/searx/engines/bing.py index 8d024fed0..5c4681cd8 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -4,6 +4,7 @@ - https://github.com/searx/searx/issues/2019#issuecomment-648227442 """ +# pylint: disable=too-many-branches import re from urllib.parse import urlencode, urlparse, parse_qs @@ -74,7 +75,6 @@ def request(query, params): def response(resp): - results = [] result_len = 0 @@ -84,12 +84,20 @@ def response(resp): url_to_resolve = [] url_to_resolve_index = [] - for i, result in enumerate(eval_xpath_list(dom, '//li[@class="b_algo"]')): + for i, result in enumerate(eval_xpath_list(dom, '//li[contains(@class, "b_algo")]')): link = eval_xpath(result, './/h2/a')[0] url = link.attrib.get('href') title = extract_text(link) - content = extract_text(eval_xpath(result, './/p')) + + # Make sure that the element is free of <a href> links and <span class='algoSlug_icon'> + content = eval_xpath(result, '(.//p)[1]') + for p in content: + for e in p.xpath('.//a'): + e.getparent().remove(e) + for e in p.xpath('.//span[@class="algoSlug_icon"]'): + e.getparent().remove(e) + content = extract_text(content) # get the real URL either using the URL shown to user or following the Bing URL if url.startswith('https://www.bing.com/ck/a?'): diff --git a/searx/infopage/de/about.md b/searx/infopage/de/about.md index 90a251d68..f6c0f7cfe 100644 --- a/searx/infopage/de/about.md +++ b/searx/infopage/de/about.md @@ -41,6 +41,14 @@ Standardsuchmaschine finden Sie in der Dokumentation zu Ihrem [WEB-Browser]: - [Chromium]-basierte Browser fügen nur Websites hinzu, zu denen der Benutzer ohne Pfadangabe navigiert. +Wenn Sie eine Suchmaschine hinzufügen, darf es keine Duplikate mit demselben +Namen geben. Wenn Sie auf ein Problem stoßen, bei dem Sie die Suchmaschine +nicht hinzufügen können, dann können Sie entweder: + +- das Duplikat entfernen (Standardname: SearXNG) oder +- den Eigentümer kontaktieren, damit dieser der Instance einen anderen Namen als + den Standardnamen gibt. + ## Wie funktioniert SearXNG? SearXNG ist ein Fork der bekannten [searx] [Metasuchmaschine], die durch das diff --git a/searx/infopage/en/about.md b/searx/infopage/en/about.md index 48abda68f..e10f54d53 100644 --- a/searx/infopage/en/about.md +++ b/searx/infopage/en/about.md @@ -4,8 +4,8 @@ SearXNG is a [metasearch engine], aggregating the results of other {{link('search engines', 'preferences')}} while not storing information about its users. -The SearXNG project is driven by an open community, come join us on -Matrix if you have questions or just want to chat about SearXNG at [#searxng:matrix.org] +The SearXNG project is driven by an open community, come join us on Matrix if +you have questions or just want to chat about SearXNG at [#searxng:matrix.org] Make SearXNG better. @@ -27,7 +27,6 @@ If you do care about privacy, want to be a conscious user, or otherwise believe in digital freedom, make SearXNG your default search engine or run it on your own server! - ## How do I set it as the default search engine? SearXNG supports [OpenSearch]. For more information on changing your default @@ -39,6 +38,11 @@ search engine, see your browser's documentation: - [Chromium]-based browsers only add websites that the user navigates to without a path. +When adding a search engine, there must be no duplicates with the same name. If +you encounter a problem where you cannot add the search engine, you can either: + +- remove the duplicate (default name: SearXNG) or +- contact the owner to give the instance a different name than the default. ## How does it work? diff --git a/searx/infopage/en/search-syntax.md b/searx/infopage/en/search-syntax.md index fa54017a2..99e1e5fd8 100644 --- a/searx/infopage/en/search-syntax.md +++ b/searx/infopage/en/search-syntax.md @@ -35,8 +35,8 @@ To select language filter use a `:` prefix. To give an example: ## `!!` external bangs -SearXNG supports the external bangs from [DuckDuckGo]. To directly jump to a external -search page use the `!!` prefix. To give an example: +SearXNG supports the external bangs from [DuckDuckGo]. To directly jump to a +external search page use the `!!` prefix. To give an example: - search Wikipedia by a custom language diff --git a/searx/infopage/id/about.md b/searx/infopage/id/about.md index 5cf93e312..956b5240e 100644 --- a/searx/infopage/id/about.md +++ b/searx/infopage/id/about.md @@ -1,56 +1,72 @@ # Tentang SearXNG -SearXNG adalah sebuah [mesin pencari meta], yang mendapatkan hasil dari {{link('mesin pencari', 'preferences')}} -lainnya sambil tidak melacak penggunanya. +SearXNG adalah sebuah [mesin pencari meta], yang mendapatkan hasil dari +{{link('mesin pencari', 'preferences')}} lainnya sambil tidak melacak +penggunanya. -Proyek SearXNG diarahkan oleh sebuah komunitas terbuka, bergabung dengan kami -di Matrix jika Anda memiliki pertanyaan atau ingin mengobrol tentang SearXNG di [#searxng:matrix.org] +Proyek SearXNG diarahkan oleh sebuah komunitas terbuka, bergabung dengan kami di +Matrix jika Anda memiliki pertanyaan atau ingin mengobrol tentang SearXNG di +[#searxng:matrix.org] Buat SearXNG lebih baik. - Anda dapat membuat terjemahan SearXNG lebih baik di [Weblate], atau... -- Lacak pengembangan, kirim kontribusi, dan laporkan masalah di [sumber SearXNG]. -- Untuk mendapatkan informasi lanjut, kunjungi dokumentasi proyek SearXNG di [dokumentasi SearXNG]. +- Lacak pengembangan, kirim kontribusi, dan laporkan masalah di [sumber + SearXNG]. +- Untuk mendapatkan informasi lanjut, kunjungi dokumentasi proyek SearXNG di + [dokumentasi SearXNG]. ## Kenapa menggunakan SearXNG? -- SearXNG mungkin tidak menawarkan Anda hasil yang dipersonalisasikan seperti Google, tetapi tidak membuat sebuah profil tentang Anda. -- SearXNG tidak peduli apa yang Anda cari, tidak akan membagikan apa pun dengan pihak ketiga, dan tidak dapat digunakan untuk mengkompromikan Anda. -- SearXNG adalah perangkat lunak bebas, kodenya 100% terbuka, dan semuanya dipersilakan untuk membuatnya lebih baik. - -Jika Anda peduli dengan privasi, ingin menjadi pengguna yang sadar, ataupun percaya -dalam kebebasan digital, buat SearXNG sebagai mesin pencari bawaan atau jalankan di server Anda sendiri! +- SearXNG mungkin tidak menawarkan Anda hasil yang dipersonalisasikan seperti + Google, tetapi tidak membuat sebuah profil tentang Anda. +- SearXNG tidak peduli apa yang Anda cari, tidak akan membagikan apa pun dengan + pihak ketiga, dan tidak dapat digunakan untuk mengkompromikan Anda. +- SearXNG adalah perangkat lunak bebas, kodenya 100% terbuka, dan semuanya + dipersilakan untuk membuatnya lebih baik. +Jika Anda peduli dengan privasi, ingin menjadi pengguna yang sadar, ataupun +percaya dalam kebebasan digital, buat SearXNG sebagai mesin pencari bawaan atau +jalankan di server Anda sendiri! ## Bagaimana saya dapat membuat SearXNG sebagai mesin pencari bawaan? -SearXNG mendukung [OpenSearch]. Untuk informasi lanjut tentang mengubah mesin pencari -bawaan Anda, lihat dokumentasi peramban Anda: +SearXNG mendukung [OpenSearch]. Untuk informasi lanjut tentang mengubah mesin +pencari bawaan Anda, lihat dokumentasi peramban Anda: - [Firefox] -- [Microsoft Edge] - Dibalik tautan, Anda juga akan menemukan beberapa instruksi berguna untuk Chrome dan Safari. -- Peramban berbasis [Chromium] hanya menambahkan situs web yang dikunjungi oleh pengguna tanpa sebuah jalur. +- [Microsoft Edge] - Dibalik tautan, Anda juga akan menemukan beberapa instruksi + berguna untuk Chrome dan Safari. +- Peramban berbasis [Chromium] hanya menambahkan situs web yang dikunjungi oleh + pengguna tanpa sebuah jalur. +Apabila menambahkan mesin pencari, tidak boleh ada duplikat dengan nama yang +sama. Jika Anda menemukan masalah di mana Anda tidak bisa menambahkan mesin +pencari, Anda bisa: -## Bagaimana caranya SearXNG bekerja? +- menghapus duplikat (nama default: SearXNG) atau +- menghubungi pemilik untuk memberikan nama yang berbeda dari nama default. -SearXNG adalah sebuah *fork* dari [mesin pencari meta] [searx] yang banyak dikenal -yang diinspirasi oleh [proyek Seeks]. SearXNG menyediakan privasi dasar dengan mencampur kueri -Anda dengan pencarian pada *platform* lainnya tanpa menyimpan data pencarian. -SearXNG dapat ditambahkan ke bilah pencarian peramban Anda; lain lagi, SearXNG dapat diatur sebagai -mesin pencarian bawaan. +## Bagaimana caranya SearXNG bekerja? -{{link('Laman statistik', 'stats')}} berisi beberapa statistik penggunaan anonim berguna tentang mesin pencarian yang digunakan. +SearXNG adalah sebuah *fork* dari [mesin pencari meta] [searx] yang banyak +dikenal yang diinspirasi oleh [proyek Seeks]. SearXNG menyediakan privasi dasar +dengan mencampur kueri Anda dengan pencarian pada *platform* lainnya tanpa +menyimpan data pencarian. SearXNG dapat ditambahkan ke bilah pencarian peramban +Anda; lain lagi, SearXNG dapat diatur sebagai mesin pencarian bawaan. +{{link('Laman statistik', 'stats')}} berisi beberapa statistik penggunaan anonim +berguna tentang mesin pencarian yang digunakan. ## Bagaimana caranya untuk membuat SearXNG milik saya? -SearXNG menghargai kekhawatiran Anda tentang pencatatan (*log*), jadi ambil kodenya dari -[sumber SearXNG] dan jalankan sendiri! +SearXNG menghargai kekhawatiran Anda tentang pencatatan (*log*), jadi ambil +kodenya dari [sumber SearXNG] dan jalankan sendiri! Tambahkan instansi Anda ke [daftar instansi publik]({{get_setting('brand.public_instances')}}) ini untuk membantu orang lain -mendapatkan kembali privasi mereka dan membuat internet lebih bebas. Lebih terdesentralisasinya internet, lebih banyak kebebasan yang kita punya! +mendapatkan kembali privasi mereka dan membuat internet lebih bebas. Lebih +terdesentralisasinya internet, lebih banyak kebebasan yang kita punya! [sumber SearXNG]: {{GIT_URL}} diff --git a/searx/infopage/id/search-syntax.md b/searx/infopage/id/search-syntax.md index 683f22bc3..363592332 100644 --- a/searx/infopage/id/search-syntax.md +++ b/searx/infopage/id/search-syntax.md @@ -1,12 +1,13 @@ # Sintaks pencarian SearXNG mempunyai sintaks pencarian memungkinkan Anda untuk mengubah kategori, -mesin pencari, bahasa dan lainnya. Lihat {{link('preferensi', 'preferences')}} untuk -daftar mesin pencari, kategori dan bahasa. +mesin pencari, bahasa dan lainnya. Lihat {{link('preferensi', 'preferences')}} +untuk daftar mesin pencari, kategori dan bahasa. ## `!` pilih mesin pencari dan kategori -Untuk menetapkan nama kategori dan/atau mesin pencari gunakan awalan `!`. Sebagai contoh: +Untuk menetapkan nama kategori dan/atau mesin pencari gunakan awalan `!`. +Sebagai contoh: - cari di Wikipedia tentang **Jakarta** @@ -21,9 +22,10 @@ Untuk menetapkan nama kategori dan/atau mesin pencari gunakan awalan `!`. Sebag - {{search('!images kucing')}} -Singkatan mesin pencari dan bahasa juga diterima. Pengubah -mesin/kategori dapat dirantai dan inklusif. Misalnya dengan pencarian {{search('!map !ddg !wp -Jakarta')}} dalam kategori peta dan DuckDuckGo dan Wikipedia tentang **Jakarta**. +Singkatan mesin pencari dan bahasa juga diterima. Pengubah mesin/kategori dapat +dirantai dan inklusif. Misalnya dengan pencarian {{search('!map !ddg !wp +Jakarta')}} dalam kategori peta dan DuckDuckGo dan Wikipedia tentang +**Jakarta**. ## `:` pilih bahasa @@ -35,15 +37,16 @@ Untuk memilih saringan bahasa gunakan awalan `:`. Sebagai contoh: ## `!!` mesin pencarian (*bangs*) eksternal -SearXNG mendukung mesin pencarian eksternal (*bangs*) dari [DuckDuckGo]. Untuk langsung lompat ke sebuah -laman pencarian eksternal gunakan awalan `!!`. Sebagai contoh: +SearXNG mendukung mesin pencarian eksternal (*bangs*) dari [DuckDuckGo]. Untuk +langsung lompat ke sebuah laman pencarian eksternal gunakan awalan `!!`. +Sebagai contoh: - cari Wikipedia dengan bahasa yang lain - {{search('!!wen cat')}} -Diingat, pencarian Anda akan dilakukan secara langsung di mesin pencari eksternal, -SearXNG tidak dapat melindungi privasi Anda di sana. +Diingat, pencarian Anda akan dilakukan secara langsung di mesin pencari +eksternal, SearXNG tidak dapat melindungi privasi Anda di sana. [DuckDuckGo]: https://duckduckgo.com/bang diff --git a/searx/templates/simple/search.html b/searx/templates/simple/search.html index c5f7de09c..e5b44169e 100644 --- a/searx/templates/simple/search.html +++ b/searx/templates/simple/search.html @@ -6,7 +6,7 @@ </a> <div id="search_view"> <div class="search_box"> - <input id="q" name="q" type="text" placeholder="{{ _('Search for...') }}" autocomplete="off" autocapitalize="none" spellcheck="false" autocorrect="off" dir="auto" value="{{ q or '' }}"> + <input id="q" name="q" type="text" placeholder="{{ _('Search for...') }}" tabindex="1" autocomplete="off" autocapitalize="none" spellcheck="false" autocorrect="off" dir="auto" value="{{ q or '' }}"> <button id="clear_search" type="reset" aria-label="{{ _('clear') }}" class="hide_if_nojs"><span>{{ icon_big('close') }}</span><span class="show_if_nojs">{{ _('clear') }}</span></button> <button id="send_search" type="submit" aria-label="{{ _('search') }}"><span class="hide_if_nojs">{{ icon_big('search-outline') }}</span><span class="show_if_nojs">{{ _('search') }}</span></button> </div> diff --git a/utils/searxng.sh b/utils/searxng.sh index aaa69cc53..dee90bbf4 100755 --- a/utils/searxng.sh +++ b/utils/searxng.sh @@ -395,7 +395,7 @@ searxng.remove.all() { wait_key if service_is_available "${SEARXNG_URL}"; then - MSG="** Don't forgett to remove your public site! (${SEARXNG_URL}) **" wait_key 10 + MSG="** Don't forget to remove your public site! (${SEARXNG_URL}) **" wait_key 10 fi } @@ -650,7 +650,7 @@ searxng.remove.redis() { } searxng.instance.localtest() { - rst_title "Test SearXNG instance localy" section + rst_title "Test SearXNG instance locally" section rst_para "Activate debug mode, start a minimal SearXNG "\ "service and debug a HTTP request/response cycle." @@ -783,7 +783,7 @@ This removes Nginx site ${NGINX_SEARXNG_SITE}:: searxng.instance.exec() { if ! service_account_is_available "${SERVICE_USER}"; then - die 42 "can't execute: instance does not exists (missed account ${SERVICE_USER})" + die 42 "can't execute: instance does not exist (missed account ${SERVICE_USER})" fi sudo -H -i -u "${SERVICE_USER}" \ SEARXNG_UWSGI_USE_SOCKET="${SEARXNG_UWSGI_USE_SOCKET}" \ |