~webb/8bloat

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

d27ae17 render: Add title to profile edit page.

~webb pushed to ~webb/8bloat git

4 months ago

0693e37 render/templates: Add exit button to profile edit page.

~webb pushed to ~webb/8bloat git

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

Features
--------

- 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

Requirements
------------

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

== BUILDING ==

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

== INSTALLATION ==

8bloat supports the go install command.

$ PATH=$PATH:$home/go/bin
$ go install spiderden.org/8bloat/cmd/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:
https://git.sr.ht/~webb/8bloat/refs

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
"single_instance."

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

== MIGRATING FROM BLOAT ==

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:

templates_path
static_directory
custom_css

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.

== UPDATING ==

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