Rewild Your Web
web
browser
dweb
1
2
3# What / why / how
4
5The Web is our only hope for a platform that provides permissionless user agency. This project is about scratching that itch, building a Web based user agent that can play new tricks.
6
7Our mascot is a beaver because they are fantastic animals that heal their environment; read https://www.noemamag.com/we-need-to-rewild-the-internet/ for a good introduction, and come with us rewild your web!
8
9We build on [Servo](https://servo.org) because despite a new wave of browsers being built, they mostly go with forking blink, and that's not how we will diversify the Web. Also this is a very fun project to contribute to!
10
11The end goal is to have a suite of Web user agents. Running on top of an existing OS is a temporary stop-gap, because being a second class citizen on someone else's platform is a dead end. We will create new personal computing environments for mobile, desktop, media players, etc. We have a long road ahead, but we're not in a hurry.
12
13We hang out on [Servo's zulip](https://servo.zulipchat.com) if you want to chat about the project.
14
15# Building
16
17## Prerequisites
18
19- Install the `forkme` utility from https://tangled.org/me.webbeef.org/forkme
20- Run `forkme init`
21- From the `source` directory, run `./mach bootstrap --skip-lints` to setup Servo build dependencies.
22
23## Desktop builds
24
25- Update with `forkme apply`
26- Build with `cargo build -r -p browserhtml`
27- Run with `cargo run -r -p browserhtml` or directly from the `target` directory as usual for Rust projects.
28
29The current UI allows multiple windows, and each one is a simple tiling window manager. There is also a floating search window.
30
31
32
33
34
35
36
37
38
39
40
41## Mobile builds
42
43The only tested platform is the Pixel 3a running Mobian (see https://wiki.debian.org/InstallingDebianOn/Google/Pixel3a).
44
45
46
47First create a sysroot by running `sysroot.sh` in the `scripts` directory.
48
49Then build with `./build-arm64.sh` or `./build-arm64.sh production`
50
51The build script expects to be able to ssh with key authentication to `mobian@mobian`. You can then run on device with this command:
52`mobian@mobian:~$ ./browserhtml/browserhtml`
53
54Note that you will have to set these 2 environment variables:
55
56- SURFMAN_FORCE_GLES=1
57- WAYLAND_DISPLAY=wayland-0
58
59Here's what this looks like
60
61
62
63
64
65
66
67