Git Product home page Git Product logo

webx's Introduction

Bussin Web X

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).

Preview of buss://register.it, the frontend for registering domains

File structure

  • /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 at https://api.buss.lol
  • registrar - The source code for buss://register.it, frontend for https://api.buss.lol made for Bussin Web X. This can also serve as an example for how buss:// sites are made.

Download

For now, you have to download Rust, open the /napture folder, and do cargo run. Binaries will be available with the official release

Register website

To register a website, navigate to buss://register.it through Bussin Napture.

You will see this interface. Preview of buss://register.it, the frontend for registering domains

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)

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.

HTML guide

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.

CSS guide

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.)

Lua guide

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.

WIP

The rest of the README is work in progress. Thanks for reading!

webx's People

Contributors

face-hh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.