Slixfeed/README.md
2024-01-28 12:52:02 +00:00

133 lines
3.4 KiB
Markdown

# Syndication bot for the XMPP communication network
## Slixfeed
Slixfeed aims to be an easy to use and fully-featured news aggregator bot for XMPP. It provides a convenient access to Blogs, Fediverse (i.e. Akkoma, Mastodon, Misskey, Pleroma etc.) and News websites.
## XMPP
XMPP is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.
Visit https://xmpp.org/about/ for more information on the XMPP protocol and https://xmpp.org/software/ for list of XMPP clients.
Slixfeed is primarily designed for XMPP (aka Jabber), yet it is built to be extended to other protocols.
### Features
#### Ease
Slixfeed automatically scans (i.e. crawls) for web feeds of given URL.
#### Export
Download articles as ePUB, HTML, Markdown and PDF.
#### Filtering
Filter using lists of allow and deny.
#### Multimedia
Display audios pictures and videos inline.
#### Privacy
Redirect to alternative back-ends, such as Invidious, Librarian, Nitter, for increased privacy, productivity and security.
#### Portable
Export and import feeds with a standard OPML file.
#### Simultaneous
Slixfeed is designed to handle multiple contacts, including groupchats, Simultaneously.
## Getting Started
### Install
Choose one of the following installation methods.
#### Using pip inside venv
```
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install git+https://gitgud.io/sjehuda/slixfeed
```
#### Using pipx
```
$ pipx install git+https://gitgud.io/sjehuda/slixfeed
```
### Upgrade
Upgrade using the following command.
```
$ pip install --upgrade
```
### Start
```
$ slixfeed
```
### Usage
- Add the bot to contact list and follow it instructions.
- Send command `help` or `commands` for a list of commands.
## Roadmap
- Add service interface;
- Improve asynchronism hadling;
- Improve logging and error handling;
- Add daemon interface;
- Add HTML support (XHTML-IM);
- Add feed history tables of last week and last month.
## Authors
- [Laura](xmpp:lauranna@404.city?message) (Co-Author, Instructor and Mentor).
- [Schimon](xmpp:sch@pimux.de?message) (Author).
## Acknowledgment
Special thank you to Mrs. Lapina who instructed me all the way to complete this, in addition to significant code fixes.
Laura, I thank you greatly for your encouragement, time and help. This bot would not have existed without you.
May this bot be a life changing factor to people the world over.
## License
MIT license.
## Copyright
- Laura Lapina 2022 - 2023
- Schimon Zackary 2022 - 2024
## Similar Projects
Please visit our friends who offer different approach to convey RSS to XMPP.
* [AtomToPubsub](https://github.com/imattau/atomtopubsub)
RSS feeds as XMPP Pubsub Nodes.
* [err-rssreader](https://github.com/errbotters/err-rssreader)
A port of old Brutal's RSS Reader for Errbot.
* [feed-to-muc](https://salsa.debian.org/mdosch/feed-to-muc)
An XMPP bot which posts to a MUC (groupchat) if there is an update in newsfeeds.
* [JabRSS](http://www.jotwewe.de/de/xmpp/jabrss/jabrss_en.htm)
Never miss a headline again! JabRSS is a simple RSS (RDF Site Summary) headline notification service for Jabber.
* [Morbot](https://codeberg.org/TheCoffeMaker/Morbot)
Morbo is a simple Slixmpp bot that will take new articles from listed RSS feeds and send them to assigned XMPP MUCs (groupchats).