Skip to content

Commit 4734e0e

Browse files
committed
📋 docs: finish docs
1 parent d066c21 commit 4734e0e

File tree

2 files changed

+102
-3
lines changed

2 files changed

+102
-3
lines changed

DEVELOPER.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Nothing here yet...

README.md

+101-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
what you're up to in your browser with your friends on Discord.
1313
It is straightforward, <ins>configurable</ins> and <samp>pretty</samp> 🫐
1414

15-
<br>
1615
<br>
1716

1817
- Straightforward
@@ -29,14 +28,113 @@ It is straightforward, <ins>configurable</ins> and <samp>pretty</samp> 🫐
2928
![Number of stars](https://img.shields.io/github/stars/pandasoli/bambloo?color=ed8796&labelColor=303446&style=for-the-badge)
3029
[![MIT license](https://img.shields.io/github/license/pandasoli/bambloo?style=for-the-badge&label=License&labelColor=313244&color=ca9ee6)](LICENSE)
3130

32-
![Supports linux](https://img.shields.io/badge/Linux-%23.svg?style=for-the-badge&logo=linux&logoColor=fcc624&label=support&labelColor=303446&color=fcc624)
31+
![Supports linux](https://img.shields.io/badge/Linux-support-fcc624?logoColor=fcc624&labelColor=303446)
32+
![Supports Chrome 120+](https://img.shields.io/badge/Chrome-120%2B-C1E1C1?labelColor=313244)
3333
</div>
3434

3535
> [!WARNING]
3636
> We are just starting, so there might not be many websites supports and bugs might occur.
3737
> If any bug occur please create an issue and we'll reply as soon as possible to fix it.
3838
39+
<div align=center>
40+
41+
[Installing the Extension](#installing-the-extension-) |
42+
[Installing the Host](#installing-the-host-) |
43+
[How It Works](#how-it-works-)
44+
</div>
45+
46+
<br>
47+
<br>
48+
49+
## Installing the Extension 🫐
50+
51+
While the extension is not available on the Chrome Store you can install it manually.
52+
53+
In the [Releases tab](https://github.com/pandasoli/bambloo/releases) you'll find the versions with their changelog and files.
54+
Under the `Assets` drop-down are the files, you can choose whether you prefer
55+
a zip file or a tarball. Download the one with the name "bambloo-extension".
56+
57+
<br>
58+
59+
After downloading extract the file and follow the next steps accordingly to your browser:
60+
61+
<details>
62+
<summary>Google Chrome</summary>
63+
<br>
64+
65+
Inside your browser, type `chrome://extensions` in your searchbar or,
66+
click on the 3-dot button in the upper right corner, hover over the
67+
"Extensions" option and click on "Manage Extensions".
68+
69+
In the upper right corner enable `Developer mode`, after that
70+
click on the "Load unpacked" button in the upper left corner and
71+
search for and select the folder you extracted.
72+
</details>
73+
74+
<br>
75+
<br>
76+
77+
## Installing the Host 🐼
78+
79+
The extension alone is not enough, it needs a way to talk to Discord.
80+
The way we found is having a program (a host) running on your system next to Discord.
81+
82+
We have a variety of hosts, you can choose the one you feel most comfortable with.
83+
Hosts differ by connection method, but don't worry about that unless you're a developer,
84+
and programming language, you might prefer a Python host, or maybe a binary one?
85+
86+
<br>
87+
88+
**Connection methods:**
89+
90+
- [Native Messaging](https://developer.chrome.com/docs/extensions/develop/concepts/native-messaging)
91+
92+
Ideal if you work with web development or networks and need all possible ports available.
93+
94+
- WebSocket
95+
96+
> ✨ Recommended for **Bambloo** debugging
97+
98+
The difference from a Native Messaging host is that you'll have to run this host
99+
on your terminal whenever you want to use **Bambloo**.
100+
39101
<br>
102+
103+
That being said let's install a host!
104+
In the [Releases tab](https://github.com/pandasoli/bambloo/releases) you'll also find files named "\<method\>-hosts".
105+
Download it and extract, if it is a WebSocket host you can already run it, otherwise read this:
106+
40107
<br>
41108

42-
## Installation 🐼
109+
### How to install Native Messaging hosts
110+
111+
There is probably a shell file called `install.sh` in the extracted folder,
112+
you can run it passing the args `--browser=<name> lang=<name>` and it will be installed.
113+
114+
<br>
115+
116+
> [!IMPORTANT]
117+
> Update `"path"` inside `com.elisoli.bambloo.host.json` to your host's path and
118+
> the first `"allowed_origins"` value to the extension ID that's in your
119+
> browser's "Manage extensions" page.
120+
121+
<br>
122+
123+
If your browser is not supported by this file you can install it manually:
124+
- (if needed) Compile the host you chose
125+
- Find your browser's config path, it's usually under `~/.config`
126+
- Look for a folder called "NativeMessagingHosts"
127+
- Copy the file `com.elisoli.bambloo.host.json` to this folder
128+
129+
<br>
130+
<br>
131+
132+
## How it works ✨
133+
> If you are a developer please refer to the [Developer Docs](DEVELOPER.md) for a more detailed explanation.
134+
135+
The extension's service worker manages all the data and events of the extension,
136+
when you install a Presence through the Store tab you are getting a manifest file
137+
from the repositories you have configured (default: https://github.com/pandasoli/bambloo-repo),
138+
and this manifest file contains the path inside the repository where lies a script,
139+
which that run on the tab it was made to run and collects information about the page,
140+
which later is sent to the service worker, then to the host and then to Discord.

0 commit comments

Comments
 (0)