diff --git a/content/posts/2026-butter-box-portal/index.md b/content/posts/2026-butter-box-portal/index.md new file mode 100644 index 0000000..6eecdbc --- /dev/null +++ b/content/posts/2026-butter-box-portal/index.md @@ -0,0 +1,83 @@ ++++ +title = 'Butter Box Portal Improvements' +date = 2026-04-15T20:00:00-00:00 +lastmod = 2026-04-15T20: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 +OS’s 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. diff --git a/static/images/2026/portal-branding.png b/static/images/2026/portal-branding.png new file mode 100644 index 0000000..53da52a Binary files /dev/null and b/static/images/2026/portal-branding.png differ diff --git a/static/images/2026/portal-deltachat.png b/static/images/2026/portal-deltachat.png new file mode 100644 index 0000000..1f532f5 Binary files /dev/null and b/static/images/2026/portal-deltachat.png differ diff --git a/static/images/2026/portal-security.png b/static/images/2026/portal-security.png new file mode 100644 index 0000000..48a05b0 Binary files /dev/null and b/static/images/2026/portal-security.png differ