carbonyl/readme.md

64 lines
1.5 KiB
Markdown
Raw Normal View History

2022-12-27 19:26:32 +03:00
# `carbonyl`
2022-11-11 12:23:16 +03:00
2022-12-27 19:26:32 +03:00
Carbonyl is a Chromium based browser built to run in a terminal. [Read the blog post](https://fathy.fr/carbonyl).
2022-11-11 12:23:16 +03:00
2022-12-27 19:26:32 +03:00
It supports pretty much all Web APIs including WebGL, WebGPU, audio and video playback, animations, etc..
2022-11-17 02:36:54 +03:00
2022-12-27 19:26:32 +03:00
It's snappy, starts in less than a second, runs at 60 FPS, and idles at 0% CPU usage. It does not requires a window server (ie. works in a safe-mode console), and even runs through SSH.
2022-11-17 02:36:54 +03:00
2022-12-27 19:26:32 +03:00
Carbonyl originally started as [`html2svg`](https://github.com/fathyb/html2svg) and is now the runtime behind it.
2022-11-18 12:48:10 +03:00
2023-01-20 14:22:51 +03:00
## Demo
<table>
<tbody>
<tr>
<td>
<video src="https://user-images.githubusercontent.com/5746414/213682926-f1cc2de7-a38c-4125-9257-92faecfc7e24.mp4">
</td>
<td>
<video src="https://user-images.githubusercontent.com/5746414/213682913-398d3d11-1af8-4ae6-a0cd-a7f878efd88b.mp4">
</td>
</tr>
<tr>
2023-01-20 15:09:03 +03:00
<td colspan="2">
2023-01-20 14:22:51 +03:00
<video src="https://user-images.githubusercontent.com/5746414/213682918-d6396a4f-ee23-431d-828e-4ad6a00e690e.mp4">
</td>
</tr>
</tbody>
</table>
2022-12-27 19:26:32 +03:00
## Usage
2022-11-18 12:48:10 +03:00
2022-12-27 19:26:32 +03:00
> Currently building...
2022-11-18 12:48:10 +03:00
```shell
2022-12-27 19:26:32 +03:00
# Watch YouTube inside a Docker container
$ docker run fathyb/carbonyl youtube.com
2022-11-11 12:23:16 +03:00
```
2022-11-14 11:58:00 +03:00
## Development
2022-12-27 19:26:32 +03:00
### Fetch
2022-11-11 12:23:16 +03:00
2022-12-27 19:26:32 +03:00
```console
$ cd chromium
$ gclient sync
```
2022-12-27 19:26:32 +03:00
### Configure
2022-12-27 19:26:32 +03:00
> You need to disable `lld` on macOS because of a linking bug related to Rust and `compact_unwind`
2022-12-27 19:26:32 +03:00
```console
$ cd chromium/src
$ gn gen out/Default
```
2022-12-27 19:26:32 +03:00
### Build
2022-12-27 19:26:32 +03:00
```console
$ cd chromium/src
$ ninja -C out/Default headless:headless_shell
```