Skip to content

deemkeen/stegodon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

346da1c · Dec 13, 2022

History

8 Commits
Dec 13, 2022
Dec 12, 2022
Dec 13, 2022
Dec 13, 2022
Dec 12, 2022
Dec 13, 2022
Dec 12, 2022
Dec 12, 2022
Dec 13, 2022
Dec 12, 2022
Dec 12, 2022
Dec 12, 2022
Dec 13, 2022
Dec 12, 2022
Dec 12, 2022

Repository files navigation

screenshot

stegodon

stegodon is a simple, single user blog tui-application written in Golang, using the wonderful Charm Tools. It allows users to create notes, as well as view them in a clean and easy to navigate console interface. It is also possible to subscribe to these notes via RSS and to federate via ActivityPub (WIP!)

Features

  • Create and view notes
  • Subscribe via RSS
  • Delete, update notes (TBD)
  • Subscribe via ActivityPub (TBD)
  • Markdown support for post formatting (TBD)
  • Customizable theme and layout options (TBD)

Installation

  1. Clone the repository: git clone https://github.com/deemkeen/stegodon
  2. Install dependencies: go get -d
  3. Build the application: go build
  4. Start the server: ./stegodon

Usage

Once the server is started, open an ssh session via ssh 127.0.0.1 -p 23232 to access the application. You will be authenticated with your own ssh key. On your first login it is necessary to choose a username. From there, you can create the notes. After adding notes, you can get an RSS-Feed with your personal notes via http://127.0.0.1:9999/feed?username=<youruser>

stegodon can be used as a multiuser system, if you expose your server to the internet. Every user will get a dedicated account, accessible with the personal ssh user key. An aggregated RSS-Feed with all user notes is accessible via http://127.0.0.1:9999/feed

Custom configuration can be applied by setting the following environment variables:

  • STEGODON_HOST (your local server ip, default: 127.0.0.1)
  • STEGODON_SSHPORT (ssh login port, default: 23232)
  • STEGODON_HTTPPORT (http port, default: 9999)
  • STEGODON_SSLDOMAIN (your optional hosted ssl domain, default: example.com)
  • STEGODON_WITH_AP (turn on ActivityPub functionality, default: false)

Tech

The SSH login functionality is provided by wish. The TUI is powered by bubbletea and lipgloss. stegodon persists all the data in a local SQLite database, which can be deleted, if you want to wipe all your notes.

For optimal results, it's recommended to use a terminal with:

  • True Color (24-bit) support;
  • at least 160 columns and 50 rows.

LICENSE

MIT

Contributing

Contributions are welcome! Please open a pull request or issue on the GitHub repository. As a Java developer, this is my first Golang App, so don't be too hard on me about the code ;)