A self-hosted federated bookmark manager. Compatible with the Fediverse https://betula.mycorrhiza.wiki
  • Go 91%
  • CSS 4.1%
  • JavaScript 2.7%
  • Shell 1.8%
  • Makefile 0.4%
Timur Ismagilov 52bce1a832
Some checks failed
reuse / reuse (push) Successful in 16s
build / build (push) Successful in 43s
lint / lint (push) Successful in 50s
test / test (push) Failing after 2m13s
Implement explicit actor refetch (#164)
Related to #152. This does not solve the issue, but gives a temporary solution until I come up with a better one.

Reviewed-on: #164
Co-authored-by: Timur Ismagilov <bouncepaw2@ya.ru>
Co-committed-by: Timur Ismagilov <bouncepaw2@ya.ru>
2026-03-01 22:12:45 +01:00
.forgejo/workflows Fix SPDX comments (#157) 2026-02-14 14:35:14 +01:00
auth Replace log with log/slog across the codebase (#163) 2026-03-01 19:33:17 +01:00
cmd/betula Replace log with log/slog across the codebase (#163) 2026-03-01 19:33:17 +01:00
db Implement explicit actor refetch (#164) 2026-03-01 22:12:45 +01:00
fediverse Implement explicit actor refetch (#164) 2026-03-01 22:12:45 +01:00
gateways Implement explicit actor refetch (#164) 2026-03-01 22:12:45 +01:00
jobs Replace log with log/slog across the codebase (#163) 2026-03-01 19:33:17 +01:00
LICENSES Fix SPDX comments (#157) 2026-02-14 14:35:14 +01:00
pkg Move myco and tools to pkg, search and help services (#158) 2026-02-14 18:18:28 +01:00
ports Implement explicit actor refetch (#164) 2026-03-01 22:12:45 +01:00
settings Replace log with log/slog across the codebase (#163) 2026-03-01 19:33:17 +01:00
svc Replace log with log/slog across the codebase (#163) 2026-03-01 19:33:17 +01:00
types Fix SPDX comments (#157) 2026-02-14 14:35:14 +01:00
web Implement explicit actor refetch (#164) 2026-03-01 22:12:45 +01:00
.build.yml Fix SPDX comments (#157) 2026-02-14 14:35:14 +01:00
.gitignore Replace CGO SQLite with WASM SQLite and introduce cross-compilation Make targets (#159) 2026-02-15 12:44:51 +01:00
.golangci.yml Add golangci-lint (#147) 2026-01-13 03:07:04 +01:00
FEDERATION.md Add local likes (#130) 2026-01-03 23:09:08 +01:00
go.mod Replace CGO SQLite with WASM SQLite and introduce cross-compilation Make targets (#159) 2026-02-15 12:44:51 +01:00
go.sum Replace CGO SQLite with WASM SQLite and introduce cross-compilation Make targets (#159) 2026-02-15 12:44:51 +01:00
LICENSE Choose LICENSE 2022-12-31 20:21:36 +03:00
Makefile Replace CGO SQLite with WASM SQLite and introduce cross-compilation Make targets (#159) 2026-02-15 12:44:51 +01:00
README.md Bump version to v1.6.0 2026-01-25 18:04:48 +03:00
REUSE.toml Fix SPDX comments (#157) 2026-02-14 14:35:14 +01:00
roar-activities.sh Fix SPDX comments (#157) 2026-02-14 14:35:14 +01:00
test-web.sh Fix SPDX comments (#157) 2026-02-14 14:35:14 +01:00

🌳 Betula, a federated personal link collection manager

A screenshot of Betula, featuring several bookmarks

Hits-of-Code

Betula is a single-user self-hosted federated bookmark manager with Fediverse support and archives.

Features

  • Publish bookmarks, along with optional title and description/notes formatted with Mycomarkup.
  • Add tags to your bookmarks.
  • Fediverse:
    • Like and repost bookmarks from other Betula instances, and other software, sometimes.
    • Other Fediverse software such as Mastodon can follow Betula instances.
    • Follow other Betula instances and receive new bookmarks in your Timeline!
  • Make archive copies of web pages.
  • The whole collection is saved as a single SQLite file.
  • Search locally or search your mutuals' Betula instances.
  • Bookmarklet.
  • RSS.
  • Miniflux integration.
  • Bookmarks can be public or private. Share only what you want to share!
  • Simple user interface that does not require JavaScript.
    • If you have JavaScript, you can use tag autocompletion.
  • IndieWeb microformats are produced.
  • Simple installation: the program is one binary, the collection is one file, all configuration is done through the web interface.
  • Built-in documentation.

Funding

This project is funded through Open Social Fund, a fund established by NLnet. Learn more at the NLnet project page.

NLnet foundation logo