# The location which your server is listening on and binds to. You must restart # bunbun for changes to take effect for this config option. bind_address: "127.0.0.1:8080" # The root location where people can access your instance of bunbun public_address: "localhost:8080" # A default route, if no route is was matched. If none were matched, the entire # query is used as the query for the default route. This field is optional, but # highly recommended for ease-of-use. default_route: "g" # A list containing route groups. Each route group must have a name and a # mapping of routes, with an optional description field. Each route mapping may # contain "{{query}}", which will be populated by the user's search query. This # input is percent-escaped. If multiple routes are defined, then the later # defined route is used. # # You may provide an (absolute, recommended) path to an executable file to out- # source route resolution to a program. The program will receive one argument # only, which is the entire string provided from the user after matching the # route. It is up to the out-sourced program to parse the arguments and to # interpret those arguments. These programs should print one line to standard # out, which should be a fully resolved URL to lead the user to. # # These programs must be developed defensively, as they accept arbitrary user # input. Improper handling of user input can easily lead to anywhere from simple # flakey responses to remote code execution. groups: - # This is a group with the name "Meta commands" with a short description. name: "Meta commands" description: "Commands for bunbun" routes: # /ls is the only page that comes with bunbun besides the homepage. This # page provides a full list of routes and their groups they're in. ls: &ls "/ls" help: # Bunbun supports all standard YAML features, so things like YAML pointers # and references are supported. path: *ls # Paths can be hidden from the listings page if desired. hidden: true list: *ls - # This is another group without a description name: "Google" routes: # Routes can be quickly defined as a simple link, where {{query}} is where # your query to bunbun is forwarded to. g: "https://google.com/search?q={{query}}" # Alternatively, you can provide a description instead, which provides # replaces the raw query string on the ls page with said description yt: path: "https://www.youtube.com/results?search_query={{query}}" description: "A way to quickly search youtube videos" - name: "Uncategorized routes" routes: r: "https://reddit.com/r/{{query}}" # Routes don't need the {{query}} tag, so links can just be shortcuts to # pages you'd like nice: "https://youtu.be/dQw4w9WgXcQ" - # This group is entirely hidden, so all routes under it are hidden. name: "Hidden group" hidden: true routes: sneaky: "https://nyan.cat"