Slixfeed/README.md

158 lines
6.1 KiB
Markdown
Raw Normal View History

2024-05-13 17:48:24 +02:00
# Work in Progress
This bot is still a work in progress. Albeit this bot works well in most cases, it is not yet ready for production. We are working to make this bot better.
---
2024-05-12 11:17:31 +02:00
# Syndication bot for XMPP
2023-12-05 11:13:27 +01:00
## Slixfeed
2022-06-21 15:39:08 +02:00
2024-05-12 11:17:31 +02:00
Slixfeed is a news aggregator bot for the XMPP communication network which aims to be easy to use and fully-featured. It provides a convenient access to Blog and News sites.
2023-11-28 17:13:57 +01:00
2023-12-05 11:13:27 +01:00
## XMPP
2023-11-28 17:13:57 +01:00
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.
2024-05-13 17:48:24 +02:00
Visit [XMPP](https://xmpp.org/) for more information [about](https://xmpp.org/about/) the XMPP protocol and check the [list](https://xmpp.org/software/) of XMPP clients.
Slixfeed is primarily designed for XMPP (aka Jabber), yet it is built to be extended to other protocols.
2024-05-12 11:17:31 +02:00
## Features
2024-05-12 11:17:31 +02:00
- **Ease** - Slixfeed automatically scans (i.e. crawls) for syndication feeds of given URL.
- **Encryption** - Messages are encrypted with the OMEMO standard.
2024-05-12 11:17:31 +02:00
- **Export** - Download articles as ePUB, HTML, Markdown and PDF.
- **Filtering** - Filter news items 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.
- **Visual interface** - Interactive interface for XMPP using Ad-Hoc Commands,
2024-05-12 11:17:31 +02:00
## Preview
2024-05-12 11:17:31 +02:00
### monocles chat
2024-01-20 18:28:31 +01:00
<img alt="Chat: Add URL" src="slixfeed/documentation/screenshots/chat_add_url.png" width="200px"/>
<img alt="Ad-Hoc: Commands" src="slixfeed/documentation/screenshots/adhoc_commands.png" width="200px"/>
2024-01-20 18:28:31 +01:00
<!-- ![Chat: Add URL](slixfeed/documentation/screenshots/chat_add_url.png) ![Ad-Hoc: Commands](slixfeed/documentation/screenshots/adhoc_commands.png) -->
2024-05-12 11:17:31 +02:00
### Cheogram
2024-01-20 18:28:31 +01:00
<img alt="Ad-Hoc: Add URL" src="slixfeed/documentation/screenshots/adhoc_add_url.png" width="200px"/>
<img alt="Ad-Hoc: Settings" width="200px" src="slixfeed/documentation/screenshots/adhoc_settings.png"/>
2024-01-20 18:28:31 +01:00
<!-- ![Ad-Hoc: Add URL](slixfeed/documentation/screenshots/adhoc_add_url.png) ![Ad-Hoc: Preview URL](slixfeed/documentation/screenshots/adhoc_preview_url.png) ![Ad-Hoc: Settings](slixfeed/documentation/screenshots/adhoc_settings.png) -->
2023-11-28 17:13:57 +01:00
## Getting Started
### Install
It is possible to install Slixfeed using pip and pipx.
#### pip inside venv
```
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install git+https://git.xmpp-it.net/sch/Slixfeed
```
#### pipx
##### Install
```
$ pipx install git+https://git.xmpp-it.net/sch/Slixfeed
```
##### Update
```
$ pipx uninstall slixfeed
$ pipx install git+https://git.xmpp-it.net/sch/Slixfeed
```
### Start
```
$ slixfeed
2022-06-21 16:19:01 +02:00
```
2022-06-21 15:39:08 +02:00
### Usage
- Add the bot to contact list and follow it instructions.
- Send command `help` or `commands` for a list of commands.
2024-05-12 11:17:31 +02:00
## Recommended Clients
Slixfeed works with any XMPP chat client; if you want to make use of the visual interface Slixfeed has to offer (i.e. Ad-Hoc Commands), then you are advised to use [Cheogram](https://cheogram.com), [Converse](https://conversejs.org), [Gajim](https://gajim.org), [LeechCraft](https://leechcraft.org/plugins-azoth-xoox), [monocles chat](https://monocles.chat), [Movim](https://mov.im), [Poezio](https://poez.io), [Psi](https://psi-im.org) or [Psi+](https://psi-plus.com).
2024-05-12 11:17:31 +02:00
### Support
Please join our support groupchats whether you want help, discuss new features or just greet us.
2024-05-13 17:48:24 +02:00
- [Main Groupchat](xmpp:slixfeed@chat.woodpeckersnest.space?join) (International)
- [Deutsche Chat Gruppe](xmpp:slixfeed@conference.miharu.dedyn.io?join) (German)
2022-06-21 15:39:08 +02:00
2023-11-28 17:13:57 +01:00
## Authors
2023-12-05 11:13:27 +01:00
- [Schimon](xmpp:sch@pimux.de?message) (Author).
2024-05-12 11:17:31 +02:00
- [Laura](xmpp:lauranna@404.city?message) (Co-Author, Instructor and Mentor).
2023-11-28 17:13:57 +01:00
## Contributors
2024-05-14 13:08:02 +02:00
- Mr. [Stephen Paul Weber](https://singpolyma.net/) from [Sopranica](https://soprani.ca/) who has provided code for Data Forms to be used as visual interface for Ad-Hoc Commands, and who has taught me about Data Forms.
## Thanks
2024-05-14 13:11:21 +02:00
- Mr. Guus der Kinderen from [Ignite Realtime](https://igniterealtime.org/) who has provided [Openfire](https://igniterealtime.org/projects/openfire/) servers at [GoodBytes](http://goodbytes.nl/)
2024-05-14 13:08:02 +02:00
- Mr. [Simone "roughnecks" Canaletti](https://woodpeckersnest.space/) who has provided a [Movim](https://join.movim.eu/) instance.
2023-11-28 17:13:57 +01:00
## Acknowledgment
2024-05-12 11:17:31 +02:00
Special thank you to Mrs. Lapina who instructed me during months to complete this, in addition to significant code fixes.
2023-12-05 11:13:27 +01:00
2024-05-12 11:17:31 +02:00
Laura, I thank you greatly for your encouragement, time and help. This software would not have existed without you.
2023-12-05 11:13:27 +01:00
2024-05-12 11:17:31 +02:00
May this software be a life changing factor to people the world over.
2023-12-05 11:13:27 +01:00
2022-06-21 15:39:08 +02:00
## License
MIT license.
2022-06-21 16:26:08 +02:00
## Copyright
- Schimon Zackary 2022 - 2024
2024-05-12 11:17:31 +02:00
- Laura Lapina 2022 - 2023
2023-11-28 17:13:57 +01:00
## Similar Projects
2024-05-12 11:17:31 +02:00
Please visit our friends who offer different approach to convey syndication feeds to XMPP.
2023-11-28 17:13:57 +01:00
* [AtomToPubsub](https://github.com/imattau/atomtopubsub)
2024-05-12 11:17:31 +02:00
Syndication feeds as XMPP Pubsub Nodes.
2023-11-28 17:13:57 +01:00
* [err-rssreader](https://github.com/errbotters/err-rssreader)
A port of old Brutal's RSS Reader for Errbot.
2023-11-28 17:13:57 +01:00
* [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.
2024-05-12 11:17:31 +02:00
* [Jabber RSS Transport](https://jabberworld.info/Jabber_RSS_Transport)
Syndication feeds as contacts.
* [JabRSS](https://dev.cmeerw.org/Projects/jabrss) by Christof
A simple syndication headline notification service for Jabber/XMPP.
* [JabRSS](http://www.jotwewe.de/de/xmpp/jabrss/jabrss_en.htm) by Jens W. Wulf
Never miss a headline again! JabRSS is a simple syndication headline notification service for Jabber.
2023-12-05 11:13:27 +01:00
2023-11-28 17:13:57 +01:00
* [Morbot](https://codeberg.org/TheCoffeMaker/Morbot)
2024-05-12 11:17:31 +02:00
Morbo is a simple Slixmpp bot that will take new articles from listed syndication feeds and send them to assigned XMPP MUCs (groupchats).
* [XMPP Bot](https://github.com/nioc/xmpp-bot)
An XMPP bot for making the link between XMPP conversations and webhooks.