Title : Connect to Mastodon using HTTP 1.0 with Brutaldon
Author: Solène
Date  : 09 November 2020
Tags  : openbsd68 openbsd mastodon

Today post is about
[Brutaldon](https://git.carcosa.net/jmcbray/brutaldon), a
Mastodon/Pleroma interface in old fashion HTML like in the web 1.0
era. I will explain how it works and how to install it. Tested and
approved on an 16 years old powerpc laptop, using Mastodon with w3m
or dillo web browsers!

## Introduction

Brutaldon is a mastodon client running as a web server. This mean you
have to connect to a running brutaldon server, you can use a public
one like [Brutaldon.online](https://brutaldon.online) and then you
will have two ways to connect to your account:

1. using oauth which will redirect through a dedicated API page of
   your mastodon instance and will give back a token once you logged
   in properly, this is totally safe of use, but requires javascript
   to be enabled to works due to the login page on the instance
2. there is "old login" method in which you have to provide your
   instance address, your account login and password. This is not
   really safe because the brutaldon instance will known about your
   credentials, but you can use any web browser with that. There are
   not much security issues if you use a local brutaldon instance

## How to install it

The installation is quite easy, I wish this could be as easy more
often. You need a python3 interpreter and `pipenv`. If you don't have
pipenv, you need `pip` to install `pipenv`. On OpenBSD this would
translates as:

    $ pip3.8 install --user pipenv

Note that on some system, pip3.8 could be pip3, or pip. Due to the
coexistence of python2 and python3 for some time until we can get ride
of python2, most python related commands have a suffix to tell which
python version it uses.

**If you install pipenv with pip, the path will be

Now, very easy to proceed! Clone the code, run pipenv to get the
dependencies, create a sqlite database and run the server.

    $ git clone http://git.carcosa.net/jmcbray/brutaldon.git
    $ cd brutaldon
    $ pipenv install
    $ pipenv run python ./manage.py migrate
    $ pipenv run python ./manage.py runserver

And voilà! Your brutaldon instance is available on
[http://localhost:8000](http://localhost:8000), you only need to open
it on your web browser and log-in to your instance.

As explained in the `INSTALL.md` file of the project, this method
isn't suitable for a public deployment. The code is a Django webapp
and could be used with wsgi and a proper web server. This setup is
beyond the scope of this article.