Blasta/README.md

126 lines
3 KiB
Markdown
Raw Normal View History

# Blasta - The agreeable and cordial civic bookmarking system.
2024-08-22 12:12:23 +02:00
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
[<img alt="browse view" src="blasta/screenshot/browse.png" width="200px"/>](blasta/screenshot/browse.png)
[<img alt="tags view" src="blasta/screenshot/tag.png" width="200px"/>](blasta/screenshot/tag.png)
## 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:
- [XEP-0163: Personal Eventing Protocol](https://xmpp.org/extensions/xep-0163.html)
- [XEP-0060: Publish-Subscribe](https://xmpp.org/extensions/xep-0060.html)
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
2024-11-17 15:30:14 +01:00
```
$ pipx reinstall blasta
```
```
$ pipx uninstall blasta
$ pipx install git+https://git.xmpp-it.net/sch/Blasta
```
### Configure
2024-11-17 15:30:14 +01:00
Copy files `blasta.sql` and `settings.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.