www.sr2.uk/content/posts/2026-butter-box-portal/index.md
irl 5506ee64e3
All checks were successful
ci / build_and_publish (push) Successful in 25s
Update content/posts/2026-butter-box-portal/index.md
2026-04-15 16:11:41 +00:00

83 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

+++
title = 'Butter Box Portal Improvements'
date = 2026-04-15T16:00:00-00:00
lastmod = 2026-04-15T16:00:00-00:00
draft = false
tags = ['local','offline','butterbox', 'deltachat']
[params]
author = 'Ana Custura'
+++
As part of our latest development project with the [Guardian Project team](https://guardianproject.info/), we have
re-engineered the [Butter Box](https://likebutter.app/) portal interface. This post describes the design choices and improvements within the new
portal.
## Portal tech stack
Previously, the interface was a static site built with [Jekyll](https://jekyllrb.com/), which offered no customisation
options and was ill-suited for the portal's dynamic requirements. It has now been replaced with a [Python Flask](https://flask.palletsprojects.com/en/stable/)
application, a lightweight framework that allows developers to include only the necessary libraries, [such as for
localisation](https://python-babel.github.io/flask-babel/), minimising the application's footprint.
We are now also using [Bulma CSS](https://bulma.io/) to style it, a free and open source framework that is lightweight
and JS free, designed for mobile applications, which was also chosen with reducing the size of the portal app in mind.
## Portal customisation
In contrast, the new portal features the ability to change the logo and modify the display name of a Butter Box, making
it more customisable. This allows different communities to deploy the box in a way that better aligns with their
identity and fosters greater trust with their users.
{{< figure
src="/images/2026/portal-branding.png"
alt="A screenshot of the Butter Box portal including fields to change the name and logo."
caption="The Butter Box portal boasts new customisation capabilities."
>}}
We've also made improvements to allow users to configure Butter Box security with minimal effort. This includes changing the
admin password for the interface, modifying the Wi-Fi name, setting a Wi-Fi password, changing the root password,
and controlling SSH behavior through the portal.
{{< figure
src="/images/2026/portal-security.png"
alt="A screenshot of the Butter Box portal including fields to change the root and admin passwords and SSH behaviour."
caption="The Butter Box portal also features new security capabilities."
>}}
We now also allow setting a date and time for the box through the portal. This functionality is essential for supporting
more advanced applications in the future, particularly those involving cryptography, which require accurate time
synchronisation. Note that the Raspberry Pi does not have an internal real-time clock module, so manual time
configuration is necessary in the absence of the Internet.
Future plans include a customizable welcome message on the portal landing page and the ability for administrators to
upload a custom background image. These enhancements will expand branding options for organizations deploying the box.
## Integrating DeltaChat
The portal now includes a dedicated page that allows users to download the [DeltaChat](https://delta.chat/en/) APK for
Android devices and securely register an account on a locally running relay. During registration, a randomly generated
username and password are provided.
{{< figure
src="/images/2026/portal-deltachat.png"
alt="A screenshot of the Butter Box portal DeltaChat account registration page."
caption="DeltaChat messaging through a local relay is now supported by Butter Box."
>}}
This enhancement would in future enable the connection of multiple relays running on separate boxes, to ultimately allow
sending messages between communities.
## Portal updates and future
An advantage of using [Debian](https://en.wikipedia.org/wiki/Debian) as the OS for Butter Box is the ability to create
a content pack with a local [Debian mirror](https://www.debian.org/mirror/ftpmirror), enabling the box to be updated
without an Internet connection.
The future plan for the portal is therefore to package it as a Debian package, enabling updates through the Butter Box
OSs native package management. Updates to any APKs distributed via the portal, such as the Delta Chat APK, would also
be delivered through upgrading the portal, and will not require re-flashing a new image onto the box.
Ultimately, as a result of portal improvements the Butter Box is now a more flexible, secure, and upgradable platform,
and the groundwork has been laid for enabling future capabilities like cross-box messaging and time-sensitive
cryptographic applications.