mirror of
https://github.com/searxng/searxng.git
synced 2026-09-23 06:36:12 +00:00
fe5bdd1bf2c4d6223cb56cd5d3f07106a0a408fe
Magnific now employs a very simple to solve CAPTCHA before
all API requests (essentially summing up some numbers).
Python script for testing:
```python
import re
from lxml import html
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:156.0) Gecko/20100101 Firefox/156.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.9',
'Sec-GPC': '1',
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'same-origin',
'Priority': 'u=0, i',
'Pragma': 'no-cache',
'Cache-Control': 'no-cache',
}
resp = requests.get(
"https://www.magnific.com/api/regular/search?term=tree&filters%5Bai-generated%5D%5Bexcluded%5D=1&page=1&locale=en&filters%5Blicense%5D=free",
headers=headers,
)
cookies = resp.cookies
print(resp.text)
_NUMBER_RE = re.compile("\d+")
_BM_VERIFY = re.compile(r"\"bm-verify\":\s*\"(.*?)\"")
doc = html.fromstring(resp.text)
script = doc.xpath("//script")[0].text
numbers = [int(m) for m in _NUMBER_RE.findall(script)]
bm_verify = _BM_VERIFY.search(resp.text)
if not bm_verify:
exit(1)
bm_verify = bm_verify.group(1)
print("bm-verify: " + bm_verify)
solution = sum(numbers)
print(f"sum({numbers}) = {solution}")
resp = requests.post(
"https://www.magnific.com/_sec/verify?provider=interstitial",
json={"bm-verify": bm_verify, "pow": solution},
headers=headers,
cookies=cookies,
)
resp = requests.get(
"https://www.magnific.com/api/regular/search?term=bird&filters%5Bai-generated%5D%5Bexcluded%5D=1&page=1&locale=en&filters%5Blicense%5D=free",
headers=headers,
cookies=resp.cookies,
)
print(resp.text)
```
.. SPDX-License-Identifier: AGPL-3.0-or-later .. _metasearch engine: https://en.wikipedia.org/wiki/Metasearch_engine .. _Installation guide: https://docs.searxng.org/admin/installation.html .. _Configuration guide: https://docs.searxng.org/admin/settings/index.html .. _CONTRIBUTING: https://github.com/searxng/searxng/blob/master/CONTRIBUTING.rst .. _LICENSE: https://github.com/searxng/searxng/blob/master/LICENSE .. figure:: https://raw.githubusercontent.com/searxng/searxng/master/client/simple/src/brand/searxng.svg :target: https://searxng.org :alt: SearXNG :width: 512px SearXNG is a `metasearch engine`_. Users are neither tracked nor profiled. .. image:: https://img.shields.io/badge/organization-3050ff?style=flat-square&logo=searxng&logoColor=fff&cacheSeconds=86400 :target: https://github.com/searxng :alt: Organization .. image:: https://img.shields.io/badge/documentation-3050ff?style=flat-square&logo=readthedocs&logoColor=fff&cacheSeconds=86400 :target: https://docs.searxng.org :alt: Documentation .. image:: https://img.shields.io/github/license/searxng/searxng?style=flat-square&label=license&color=3050ff&cacheSeconds=86400 :target: https://github.com/searxng/searxng/blob/master/LICENSE :alt: License .. image:: https://img.shields.io/github/commit-activity/y/searxng/searxng/master?style=flat-square&label=commits&color=3050ff&cacheSeconds=3600 :target: https://github.com/searxng/searxng/commits/master/ :alt: Commits .. image:: https://img.shields.io/weblate/progress/searxng?server=https%3A%2F%2Ftranslate.codeberg.org&style=flat-square&label=translated&color=3050ff&cacheSeconds=86400 :target: https://translate.codeberg.org/projects/searxng/ :alt: Translated Setup ===== To install SearXNG, see `Installation guide`_. To fine-tune SearXNG, see `Configuration guide`_. Further information on *how-to* can be found `here <https://docs.searxng.org/admin/index.html>`_. Connect ======= If you have questions or want to connect with others in the community: - `#searxng:matrix.org <https://matrix.to/#/#searxng:matrix.org>`_ Contributing ============ See CONTRIBUTING_ for more details. License ======= This project is licensed under the GNU Affero General Public License (AGPL-3.0). See LICENSE_ for more details.
Languages
Python
81.6%
Shell
5.9%
HTML
5.4%
Less
3.9%
TypeScript
2.8%
Other
0.3%