sefr 0.2.0

Terminal program for interactively opening search engines / parametric URLs.
sefr-0.2.0 is not a library.

sefr (Search Engine FRontend)

Terminal program for interactively opening search engines / parametric URLs.
It's kinda like surfraw but with interactive suggestions (via parsing opensearch json).


I use custom url bar search engines a lot, but browser support for them is frustrating.

  • Firefox has a really obtuse way of defining them, doesn't let you specify suggestion endpoints, and still doesn't sync them.
  • Chrome makes defining them easy, syncs them, but doesn't let you specify suggestion endpoints.
  • Vivaldi makes defining them easy, lets you specify suggestion endpoints, but doesn't sync them.

e.g. in stock firefox, you can't create a search engine that, when you type "r foo" in your url bar, automatically goes to "". You have to manually write the URL, and you don't even get completions!

This is meant to be a customizable crossplat solution, and since it uses your default browser (details), I hope to fit it into my workflow with a global keybinding.


Clone it, install the Rust toolchain, and run cargo run in the directory.


Generates a TOML file in the the config dir provided by the directories crate (the usual ones, e.g. ~/.config/sefr/config.toml on linux). Should be pretty straightforward to add new search engines but sorry if I break the format between development versions.


Currently messy but it's working.

  • Prompt (albeit with fake cursor)
  • Suggestions request / json parse
  • Definable engines with prefixes, prompts, and endpoints
  • Browser launching
  • Selection of suggestions w/ prefix edge cases
  • TOML file config