bunbun/bunbun.default.yaml

80 lines
3.3 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 the arguments
# as space-separated words, without any shell parsing.
#
# These programs must return a JSON object with either one of the following
# key-value pairs:
# - "redirect": "some-path-to-redirect-to.com"
# - "body": The actual body to return.
# For example, to return a page that only prints out `3`, the function should
# return `{"redirect": "3"}`.
#
# 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
path: "/ls"
# You can specify a maximum number of arguments, which are string
# delimited strings.
max_args: 0
# You can also specify a minimum amount of arguments.
# min_args: 1
help:
path: "/ls"
max_args: 0
# Paths can be hidden from the listings page if desired.
hidden: true
# Bunbun supports all standard YAML features, so things like YAML pointers
# and references are supported.
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"