A clone of Meta's bunnylol service written in go.
- A UI and accompnaying REST endpoints to add or delete commands on the fly
- Chrome Extension for querying your commands
- History (last 250 queries and their result)
- Config auto generation, only ned tyo change if you want to run on a different port than 8080
- Move away from CRA (probably to Next.js or Remix)
- Passkey Auth
- Kube support, Multi Tenancy via k8s
- Helm chart
- Swagger API / Spec for client generation
- Deploy the docker container and expose the port you configured
- Create a custom search engine in your browser of choice
Default: https://127.0.0.1:8080/lol?q=%s
Reverse Proxy: https://lol.boostchicken.dev/lol?q=%s
The UI is capable of managing config.yaml with no rehash or restarts. You can add and delete commnds on the fly
Default: https://127.0.0.1:8080/
Reverse Proxy: https://lol.boostchicken.dev/
-
Search your curent liveconfig for commands.
-
In omnibox just type "bl " and the search term and the results / suggestions flow like above.
bl setUrl http://<yourshost>/liveconfig
- Alias - A straight redirect to a URL, no arguments used. (e.g.)
- command: gh
type: Alias
value: https://www.github.com
gh -> http://www.github.com
- Redirect - A redirect that accepts one argument to printf
- command: ghuser
type: Redirect
value: https://www.github.com/%s
ghuser boostchicken -> https://www.github.com/boostchicken
- RedirectVarArgs - A redirect that explodes all params on space and does allows multiple args into printf
- command: ghr
type: RedirectVarArgs
value: https://www.github.com/%s/%s
ghr boostchicken lol -> https://www.github.com/boostchicken/lol
DELETE /delete/:command
Delete config entry by command
:command
LoL Command
PUT /add/:command/:type?url=:url
Add Command
:command
LoL Command":type
one of [Alias,Redirect,RedirectVarArgs]:url
printf format url
Headers
- Content-Type
application/json
Body
- A config string that matches your header format (Yaml, JSON, TOML, etc)
{
"bind": "0.0.0.0:6969",
"entries": [
{
"command": "g",
"type": "Redirect",
"value": "https://www.google.com/search?q=%s"
},
{
"command": "github",
"type": "RedirectVarArgs",
"value": "https://www.github.com/%s/%s"
},
{
"command": "pihole",
"type": "Alias",
"value": "http://pi.hole"
}
]
}
GET /liveconfig
Returns the current config in JSON
- Content-Type:
application/json
Body
{
"bind": "0.0.0.0:6969",
"entries": [
{
"command": "g",
"type": "Redirect",
"value": "https://www.google.com/search?q=%s"
}
]
}
ghcr.io/boostchicken/lol:latest
Use the provided devcontainer locally or in codespaces, there is a Makefile to build binaries, also the UI has a proxy config standard in Node
If you want to contribute but lack hardware for dev, I will add you to the repo and cover your codespaces cost. Open an Issue if neeeded.
-v /tmp/config.yaml:/go/config.yaml
- No longer needed unless you want to change the port, just boot the image and use the UI
- Find the REAL Boostchicken
- You can of course look at the source and cheat, but don't be lame
- First person to tell me the color of it gets a reward!