A federated PubSub bookmarking system for XMPP.
Find a file
Schimon Jehudah, Adv. 77ac4c0ed9 Modularize code;
Update document README.
2024-11-13 16:41:33 +02:00
blasta Modularize code; 2024-11-13 16:41:33 +02:00
blasta_client.py Python : Utilize XEP-0004: Data Forms to store configurations; 2024-09-11 07:44:18 +03:00
blasta_client.sh Add support for Blasta to operate as a desktop software. 2024-09-04 17:31:52 +03:00
LICENSE Initial commit 2024-08-22 12:12:23 +02:00
pyproject.toml Modularize code; 2024-11-13 16:41:33 +02:00
README.md Modularize code; 2024-11-13 16:41:33 +02:00
settings.toml Modularize code; 2024-11-13 16:41:33 +02:00

Blasta - The agreeable and cordial civic bookmarking system.

Blasta is a collaborative bookmarks manager for organizing online content. It allows you to add links to your personal collection of links, to categorize them with keywords, and to share your collection not only among your own software, devices and machines, but also with others.

What makes Blasta a collaborative system is its ability to display to you the links that other people have collected, as well as showing you who else has bookmarked a specific link. You can also view the links collected by others, and subscribe to the links of people whose lists you deem to be interesting.

Blasta does not limit you to save links of certain types; you can save links of types adc, dweb, ed2k, feed, ftp, gemini, geo, gopher, http, ipfs, irc, magnet, mailto, monero, mms, news, sip, udp, xmpp and any scheme and type that you desire.

Screenshots

browse view tags view

Technicalities

Blasta is a federated bookmarking system which is based on XMPP and stores bookmarks on your own XMPP account; to achieve this task, Blasta utilizes the following XMPP specifications:

Blasta operates as an XMPP client, and therefore, does not have a bookmarks system nor an account system, of its own.

Blasta has a database which is compiled by aggregating the bookmarks of people who are participating in the Blasta system, and that database is utilized to relate accounts and shared links.

The connection to the Blasta system is made with XMPP accounts.

Features

  • Private bookmarks;
  • Public bookmarks;
  • Read list;
  • Search;
  • Syndication;
  • Tags.

Future features

  • ActivityPub;
  • Federation;
  • Filters;
  • Pin;
  • Publish-Subscribe;
  • Report.

Requirements

  • Python >= 3.5
  • fastapi
  • lxml
  • python-dateutil
  • python-multipart
  • slixmpp
  • tomllib (Python <= 3.10)
  • uvicorn

Installation

It is possible to install Blasta using pip and pipx.

pip inside venv

$ python3 -m venv .venv
$ source .venv/bin/activate
Install
$ pip install git+https://git.xmpp-it.net/sch/Blasta

pipx

Install
$ pipx install git+https://git.xmpp-it.net/sch/Blasta
Update
$ pipx uninstall blasta
$ pipx install git+https://git.xmpp-it.net/sch/Blasta

Configure

Copy filesettings.toml to ~/.config/blasta/.

Copy directories stylesheet, graphic, template, and script to ~/.local/share/blasta/.

Create directories data, export, items under ~/.cache/blasta/.

Start

$ blasta

Open URL http://localhost:8000 and connect with your Jabber ID.

License

AGPL-3.0 only.