# ferret Search DuckDuckGo in your terminal. Run `ferret` and enter a search query: ![dialog box for entering search query](docs/search_input.png) Ferret will display the first page of results: ![list of results scraped from DuckDuckGo](docs/results_list.png) Press Enter on a result and it will open the result in a terminal text-based web browser (w3m): ![viewing a search result in the w3m terminal web browser](docs/w3m.png) ## Why DuckDuckGo Not only does it respect your privacy, but they are also pretty lenient about not blocking scrapers. Google will eventually detect scrapers and force you to fill out a captcha. ## Bugs There's [an issue]() with launching a sub program in [Cursive](), the Rust terminal UI library I'm using, where keyboard input doesn't quite go through and the cursor does not show up. ## Todo * Allow pressing 0-9 take you to that Nth result (0 == 10) * Allow configuring colors * Allow configuring web browser * Error if screen is too small * Display DuckDuckGo instant answers * Support other search engines * Add search history (press up arrow to get previous search entered) * Cache search results * Add autocompletion * Refactor out scraping code into a separate module from the UI code * Add tests