|  | ===============================
 | 
						
						
						
							|  | Answer CAPTCHA from server's IP
 | 
						
						
						
							|  | ===============================
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | With a SSH tunnel we can send requests from server's IP and solve a CAPTCHA that
 | 
						
						
						
							|  | blocks requests from this IP.  If your SearXNG instance is hosted at
 | 
						
						
						
							|  | ``example.org`` and your login is ``user`` you can setup a proxy simply by
 | 
						
						
						
							|  | :man:`ssh`:
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | .. code:: bash
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |    # SOCKS server: socks://127.0.0.1:8080
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |    $ ssh -q -N -D 8080 user@example.org
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | The ``socks://localhost:8080`` from above can be tested by:
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | .. tabs::
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |   .. group-tab:: server's IP
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |      .. code:: bash
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |         $ curl -x socks://127.0.0.1:8080 http://ipecho.net/plain
 | 
						
						
						
							|  |         n.n.n.n
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |   .. group-tab:: desktop's IP
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |      .. code:: bash
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |         $ curl http://ipecho.net/plain
 | 
						
						
						
							|  |         x.x.x.x
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | In the settings of the WEB browser open the *"Network Settings"* and setup a
 | 
						
						
						
							|  | proxy on ``SOCKS5 127.0.0.1:8080`` (see screenshot below).  In the WEB browser
 | 
						
						
						
							|  | check the IP from the server is used:
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | - http://ipecho.net/plain
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | Now open the search engine that blocks requests from your server's IP.  If you
 | 
						
						
						
							|  | have `issues with the qwant engine
 | 
						
						
						
							|  | <https://github.com/searxng/searxng/issues/2011#issuecomment-1553317619>`__,
 | 
						
						
						
							|  | solve the CAPTCHA from `qwant.com <https://www.qwant.com/>`__.
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | -----
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | .. tabs::
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |   .. group-tab:: Firefox
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |      .. kernel-figure:: answer-captcha/ffox-setting-proxy-socks.png
 | 
						
						
						
							|  |         :alt: FFox proxy on SOCKS5, 127.0.0.1:8080
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |         Firefox's network settings
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | .. admonition:: :man:`ssh` manual:
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |    -D [bind_address:]port
 | 
						
						
						
							|  |      Specifies a local “dynamic” application-level port forwarding.  This works
 | 
						
						
						
							|  |      by allocating a socket to listen to port on the local side ..  Whenever a
 | 
						
						
						
							|  |      connection is made to this port, the connection is forwarded over the
 | 
						
						
						
							|  |      secure channel, and the application protocol is then used to determine
 | 
						
						
						
							|  |      where to connect to from the remote machine .. ssh will act as a SOCKS
 | 
						
						
						
							|  |      server ..
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |    -N
 | 
						
						
						
							|  |       Do not execute a remote command.  This is useful for just forwarding ports.
 | 
						
						
						
							|  | 
 |