bunbun/bunbun.default.yaml

70 lines
3.0 KiB
YAML

# 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"