70 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 
								 | 
							
								===============================
							 | 
						||
| 
								 | 
							
								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.
							 | 
						||
| 
								 | 
							
								
							 |