Empty Reader - Minimal web-based feed reader for RSS, Bluesky and Mastodon. Works after the zero-inbox princible, read and delete. Completely written in Go with WASM.
  • Go 76.3%
  • JavaScript 11.2%
  • HTML 7.8%
  • CSS 3.8%
  • Makefile 0.5%
  • Other 0.4%
Find a file
2025-03-11 13:13:12 +00:00
aggregator bluesky (#8) 2025-02-19 10:22:46 +00:00
cmd bluesky (#8) 2025-02-19 10:22:46 +00:00
common bluesky (#8) 2025-02-19 10:22:46 +00:00
docs Add screenshots for README. 2023-01-27 15:33:38 +01:00
frontend bluesky (#8) 2025-02-19 10:22:46 +00:00
server bluesky (#8) 2025-02-19 10:22:46 +00:00
.gitignore Initial commit. 2023-01-23 20:29:31 +01:00
Dockerfile bluesky (#8) 2025-02-19 10:22:46 +00:00
go.mod bluesky (#8) 2025-02-19 10:22:46 +00:00
go.sum bluesky (#8) 2025-02-19 10:22:46 +00:00
LICENSE Initial commit. 2023-01-23 20:29:31 +01:00
Makefile Fix for 'make dev-run'. 2023-07-18 15:11:31 +02:00
README.md README.md aktualisiert 2025-03-11 13:13:12 +00:00

Empty Reader

Empty Reader is a minimalist application based on the zero inbox principle. It provides a simple and efficient way to manage your timeline by "clearing" seen items. With Empty Reader, you can read and delete items in a streamlined manner, following the minimal feature set philosophy.

Key Features:

  • Follow RSS feeds to stay up-to-date with your favorite websites.
  • Follow your Mastodon feed.
  • Follow your Bluesky feed.
  • Choose between a combined timeline or split view, depending on your preferences.
  • Utilizes WebAssembly (WASM) for the frontend, completely written in Go
  • Single binary install for easy deployment.

Currently missing: the general fediverse, some mastodon specials, generic API endpoint for posting items from own scripts and tests.

Screenshots

Indexview Indexview

Install

go install -v codeberg.org/mborho/empty/cmd/empty-reader@latest

On Linux, you can install a binary from the releases page. See there for builds for your specific platform (amd64, arch64).

There's also a Docker image available, see Docker for more details.

Usage

Most simple way to start empty-reader after install, just acting as an RSS feedreader:

EMPTY_USERNAME=yourname EMPTY_PASSWORD=yourpwd empty-reader

See Configuration for more possible ENV vars.

Build

make build

Development

To compile the client template files wasm/*.qtpl after changes, you have to install the qtc tool.
Regenerate the compiled template files wasm/*.qtpl.go with following command:

make build-template

Compile all and run for developement:

make dev-run

Configuration

The default parameters can be changed via the following environment vars:

EMPTY_DB_FILE=./empty.db
EMPTY_ADDR=localhost:8080
EMPTY_USERNAME=username
EMPTY_PASSWORD=password
EMPTY_DEBUG=false

You can follow your Mastodon timeline, if you create an own app on your mastodon instance.
Mastodon >4.4 is mandatory; create an app on https://mastodon.social/settings/applications to get the access-token.

EMPTY_TOOT_HOMESERVER=https://mastodon.example
EMPTY_TOOT_CLIENTID=01234567890123456789
EMPTY_TOOT_CLIENTSECRET=ABCDEF0123456789-9876543210FEDCBA
EMPTY_TOOT_ACCESS_TOKEN=ABCDEF0123456789-9876543210FEDCBA

You can also follow your BlueSky timeline by providing your account credentials. This feature is currently experimental. To enable BlueSky integration, set the following environment variables:

EMPTY_BSKY_HANDLE=yourusername.bsky.social // without @ at the beginning
EMPTY_BSKY_APPKEY=your-app-password
EMPTY_BSKY_ENTRYWAY=https://bsky.social

Create an App Password in your BlueSky account settings to get the required app key. The default entry way is https://bsky.social, but you can change it if needed.

Docker

You can save the needed environment vars for configuration in an environment file .env and start docker with an argument for it:

docker run --rm -d --name="empty-reader" --env-file=.env -v $PWD:/data -p 8080:8080 codeberg.org/mborho/empty

License

Copyright 2023-25 Martin Borho

Apache License, Version 2.0 - see LICENSE for details.