forked from sch/Blasta
77ac4c0ed9
Update document README.
121 lines
2.9 KiB
Markdown
121 lines
2.9 KiB
Markdown
# 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
|
|
|
|
[<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
|
|
|
|
```
|
|
$ pipx uninstall blasta
|
|
$ pipx install git+https://git.xmpp-it.net/sch/Blasta
|
|
```
|
|
|
|
### Configure
|
|
|
|
Copy file`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.
|