A Javascript-free, and feature-rich frontend for the Mastadon network.

3902d80 doc: Update README minimum Go version and add blurb about using a reverse proxy.

~webb pushed to ~webb/8bloat git

2 months ago

744fae9 service: Fix client not adjusting the request timeout until SIGHUP.

~webb pushed to ~webb/8bloat git

2 months ago
8bloat - A web client for Mastadon Network[1]


- Does not use JavaScript (unless you ask it very nicely)
- Adds many features, bug fixes, and improvements to Bloat
- You can hopefully use this is your primary client


- Go 1.20
- A network connection, if you're building directly from Git.


$ make

Edit the default config file. See the bloat.conf file for more details.

$ ed bloat.conf

Run the binary

$ ./8b

You can now access the frontend at http://localhost:8080, which is the default
frontend address.


8bloat supports the go install command.

$ PATH=$PATH:$home/go/bin
$ go install spiderden.org/8b@latest

If you want to take it out for a spin, this command will run the client on your
machine at http://localhost:8080.

8b -wc | 8b -f -

Alternatively, you may build it yourself.

1. Get the source
Get the source code by running

$ git clone https://git.sr.ht/~webb/8bloat

You can also download the latest source tarball from the refs page:

2. Build and install
Install Go from your system's package manager or from https://golang.org/dl.
Then run make to compile the source.

$ cd 8bloat
$ make
$ doas make install

This will perform a system wide installation of 8bloat. By default, it will
install the binary in /usr/local/bin.

8bloat looks for a file named bloat.conf in the working directory and
/etc/bloat in that order. You can also specify another file by using the -f
flag. Comments in the config file describe what each config value does. For
most cases, you only need to change the value of "client_website", and

It is strongly reccomended that you use "single_instance", as 8bloat makes
the API calls on behalf of the user. This can be used as a means to spam
instances by using 8bloat as a proxy.

Additionally, you should run 8bloat behind a reverse proxy and configure
limits if you intend to expose it to the internet. 8bloat does not place 
limitations between the client and itself.

$ doas cp bloat.gen.conf /etc/bloat.conf
$ doas ed /etc/bloat.conf

Now, 8bloat can be run.

$ 8b


8bloat is mostly identical in deployment to vanilla Bloat, however, it no 
longer depends on static assets being present at runtime. This means that
/usr/local/share is no longer used.

The following configuration options are no longer necessary, and have
been removed:


If you'd like to change 8bloat's templating, you should create a branch
and publish it, to help fufill your obligations under the license. It
would be a good idea to put a link to it in templates/about.tmpl.


Either run git pull to fetch the updated source or download the latest tarball
from the URL mentioned in the installation step. Then run make to install the
updated binary and data files

$ git pull
$ make 
$ doas make install

[1] https://pleroma.social