An alternative to the World Wide Web (http(s)://
), with:
- its own custom browser written in Rust with GTK,
- custom HTML, CSS and Lua engine (yup, no javascript! 🎉),
- custom DNS allowing websites such as
buss://ohio.rizz
, - and search engine (wip).
/napture
- The source code for the browser Bussin Napture, used to view buss:// sites./dns
- The source code for the DNS (Domain Name System), used for the API athttps://api.buss.lol
- registrar - The source code for
buss://register.it
, frontend forhttps://api.buss.lol
made for Bussin Web X. This can also serve as an example for how buss:// sites are made.
For now, you have to download Rust, open the /napture
folder, and do cargo run
. Binaries will be available with the official release
To register a website, navigate to buss://register.it
through Bussin Napture.
What you need is the Publish section.
- for the domain name, choose whatever you want. (example:
duckduckgo
) - for the TLD, choose one displayed above the
Result will appear...
label. (example:rizz
) - for the IP, you can either use:
- an IP that serves
/index.html
on port 80 - a GitHub repository that has
index.html
, outside any folder. (example: registrar)
- an IP that serves
Don't worry! The IP doesn't have to be valid, and you can save the domain for later!
WARNING: After creating the domain, you'll be shown a secret key. Please make sure to save it as you will need it to Update/Delete your domain.
The supported tags are: head
, title
, link
, meta
, script
, h1
-h6
, div
, p
, ul
, ol
, li
, div
, button
, hr
, img
, input
, textarea
, button
, select
, option
. Keep in mind their syntax may be different if you're already familiar with HTML5 (i.e. link
is used for the tab icon). Please check registrar or /napture/test/index.html
for examples.
The supported properties are:
border-color
border-width
border-style
border-radius
padding
direction
(row | column)align-items
: (fill | start | center | end)gap
color
font-size
font-height
font-family
font-weight
(ultralight | light | normal | bold | ultrabold | heavy)underline
(none | single | double | low | error)underline-color
overline
(none | single)overline-color
strikethrough
(false | true)strikethrough-color
margin-left
margin-right
margin-top
margin-bottom
width
(only on<input>
&<textarea>
)height
(only on<input>
&<textarea>
)
Properties whose value type wasn't specified are either measured in px
, or are colors (#fff
, red
, etc.)
For those coming from the traditional web...
- 1. const test = document.querySelector(".classExample");
- 2. test.textContent = "abc";
- 3. (async () => {})()
- 4. test.href = "https://ok.test"
- 5. console.log(test.href)
- 6. test.addEventListener("click", () => {})
- 7. test.addEventListener("submit", () => {})
+ 1. local test = get("classExample")
+ 2. test.set_content("abc");
+ 3. coroutine.wrap(function())
+ 4. test.set_href("buss://register.it")
+ 5. print(test.get_href())
+ 6. test.on_click(function())
+ 7. test.on_submit(function())
I believe you'd get a better understand if you explored the registrar repository's script.lua
.
NOTE: Bussin Napture doesn't support buss://
redirects yet. They will be added in the official release.
The rest of the README is work in progress. Thanks for reading!