Go to file
Tyler Hallada 1e3cbe2972 Switch from shelling out to w3m to using html2text
Still can't figure out how to go back to the results list from the web view.

Also, it would be useful to be able to visit links in the web view.
2018-11-17 16:10:32 -05:00
doc Add README with images 2018-02-09 17:08:06 -05:00
src Switch from shelling out to w3m to using html2text 2018-11-17 16:10:32 -05:00
.gitignore Initial commit of ferret: command-line search 2018-02-09 15:08:48 -05:00
Cargo.lock Switch from shelling out to w3m to using html2text 2018-11-17 16:10:32 -05:00
Cargo.toml Switch from shelling out to w3m to using html2text 2018-11-17 16:10:32 -05:00
README.md Fix readme links 2018-02-09 17:10:16 -05:00

ferret

Search DuckDuckGo in your terminal.

Run ferret and enter a search query:

dialog box for entering search query

Ferret will display the first page of results:

list of results scraped from DuckDuckGo

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

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