Initial action

This commit is contained in:
Schimon Jehudah, Adv. 2024-05-24 14:11:16 +03:00
commit 1cad010b58
9 changed files with 1614 additions and 0 deletions

29
README.md Normal file
View file

@ -0,0 +1,29 @@
# Slixfeed Publication
## About
This repository contains the official Slixfeed Publication: https://slixfeed.woodpeckersnest.space/
## Contributions
Anyone is welcome to submit code that fixes problems and improve things.
You can also submit redesigns, yet first open an issue report informing us, preferably with an example.
## Building
The site uses [Nikola](https://getnikola.com/) as a static site generator.
To generate the site, execute the following command inside the repositpry directory:
```shell
nikola build
```
The site is generated under the directory `output`.
You can also execute the following to start up a local development server:
```shell
nikola serve -b
```

Binary file not shown.

1401
conf.py Normal file

File diff suppressed because it is too large Load diff

BIN
images/adhoc_add_url.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

BIN
images/adhoc_commands.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
images/adhoc_settings.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

BIN
images/chat_add_url.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

View file

@ -0,0 +1,120 @@
.. title: Slixfeed News Bot
.. slug: slixfeed-news-bot
.. date: 2024-05-23 16:27:48 UTC
.. tags: atom, bot, chat, feed, feedparser, jabber, news, python, rdf, rss, slixfeed, slixmpp, syndication, xmpp
.. category: news
.. link: slixfeed-news-bot
.. description: Slixfeed is a news aggregation 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.
.. type: text
Greetings to one and all and welcome to the official news resource of Slixfeed!
I am delighted to make this initial public announcement of Slixfeed.
`Slixfeed <https://gitgud.io/sjehuda/slixfeed>`_ is a news aggregation software which currently functions only as a chat bot and is primarily intended for the XMPP network.
Slixfeed is still in testing phases and is not yet ready for production, albeit it performs well.
Slixfeed has not yet been audited for security!
Design
======
Slixfeed utilizes `Slixmpp <https://slixmpp.readthedocs.io/>`_ to communicate with the XMPP network, and `feedparser <https://feedparser.readthedocs.io/>`_ to parse syndication feeds.
The fashion by which Slixfeed is designed is to serve multiple people at the same time.
The purpose of Slixfeed is to be able to simultaneously serve hundreds and even thousands of people from a single instance, which would make anyone a news publisher, if one so desires.
Features
========
Some features are exclusive to XMPP [#exclusive]_.
#. Communicate with chats and groupchats;
#. Display audio, picture and video attachments inline;
#. Export and import feeds using standard OPML file;
#. Filter news items by "allow" and "deny" rules;
#. Publish items to PubSub nodes [#atom-over-xmpp]_;
#. Redirect to proxy back-ends [#proxies]_;
#. Rich and interactive visual interface using Ad-Hoc Commands;
#. Scan automatically for syndication feeds of given URL;
#. Schedule update cycle and send updates upon availability [#availability]_.
Interfaces
==========
Slixfeed offers a couple of interfaces.
The premier interface is the chat, from which commands are sent and news are received.
The additional interface which makes use of `Data Forms <https://xmpp.org/extensions/xep-0004.html>`_ and `Ad-Hoc Commands <https://xmpp.org/extensions/xep-0050.html>`_ offers a visual interface to control and interact with Slixfeed.
The visual interface is currently best accessible with `Cheogram <https://cheogram.com/>`_ and `monocles chat <https://monocles.chat/>`_; both are available free of charge on the `F-Droid <https://f-droid.org/>`_ software repository.
Other XMPP clients which support the visual interface are `Converse <https://conversejs.org/>`_, `Gajim <https://gajim.org/>`_, `Movim <https://movim.eu/>`_, `Poezio <https://poez.io/>`_, `Psi <https://psi-im.org/>`_ and `Psi+ <https://psi-plus.com/>`_.
Preview
=======
Screenshots of Cheogram and monocles chat interacting with Slixfeed [#divested]_.
.. image:: ../../images/chat_add_url.png
:target: ../../images/chat_add_url.png
:height: 234px
:width: 108px
:alt: monocles chat: Chat Interface
:loading: lazy
.. image:: ../../images/adhoc_commands.png
:target: ../../images/adhoc_commands.png
:height: 234px
:width: 108px
:alt: monocles chat: Rich Interface
:loading: lazy
.. image:: ../../images/adhoc_settings.png
:target: ../../images/adhoc_settings.png
:height: 234px
:width: 108px
:alt: Cheogram: Settings Form
:loading: lazy
.. image:: ../../images/adhoc_add_url.png
:target: ../../images/adhoc_add_url.png
:height: 234px
:width: 108px
:alt: Cheogram: Subscription Form
:loading: lazy
Resources
=========
- For help, and support questions, please join our `groupchat <xmpp:slixfeed@chat.woodpeckersnest.space?join>`_.
- Source code is available at `GitGud <https://gitgud.io/sjehuda/slixfeed>`_.
Conclusion
==========
Slixfeed was made due to necessity and it has been intended to be hosted and utilized by as many people as possible.
Slixfeed was meant to be only a chat bot which sends only text, yet communications with `edhelas <https://edhelas.movim.eu/>`_, mirux, `roughnecks <https://blog.woodpeckersnest.space/>`_, `singpolyma <https://singpolyma.net/>`_ and Thorsten have led this project to have an extensive set of features.
The Slixfeed project was started a year and eleven months ago, and its continuation and completion thereof were feasible thanks to Laura Lapina.
I would also want to thank to Simone "roughnecks" Canaletti for hosting the Slixfeed site, in addition to testing Slixfeed and instructing the current development of Slixfeed.
Consequent development news will be published soon.
I hope Slixfeed would be useful to you.
.. line-block:: Kind regards,
Schimon
----
.. [#exclusive] Rich interface and `PubSub <https://xmpp.org/extensions/xep-0060.html>`_ are exclusive to XMPP.
.. [#atom-over-xmpp] Slixfeed implements the instructions of `Pubsub Social Feed <https://xmpp.org/extensions/xep-0472.html>`_ of Timothée Jaussoin; for more information, read the `Atom Over XMPP <https://datatracker.ietf.org/meeting/66/materials/slides-66-atompub-1.pdf>`_ directive from Peter Saint-Andre.
.. [#proxies] The selection of proxy back-ends can be extended from ``proxies.toml``, and is not limited to Invidious, Librarian, Nitter, ProxiTok, and Quetre.
.. [#availability] As long as your status is not Available (i.e. Away, Busy, DND or Offline), the bot will not send updates to you.
.. [#divested] Due to the prevalent tendency of corporations, using their operating systems, to sabotage free and open platforms, it is definitely and distinctly recommended to install `DivestOS <https://divestos.org/>`_ as your mobile phone operating system for an uninterruptable, secure and ideal mobile experience.

64
posts/xmpp-news-bots.rst Normal file
View file

@ -0,0 +1,64 @@
.. title: XMPP News Bots
.. slug: xmpp-news-bots
.. date: 2024-05-23 18:38:22 UTC
.. tags: atom, bot, chat, feed, jabber, news, rss, slixmpp, syndication, xmpp
.. category: news
.. link: xmpp-news-bots
.. description: This is a selection of news chat bots for the XMPP network which you might be interested at.
.. type: text
From Argentina to Germany; syndication chat bots for XMPP.
Slixfeed might not be useful to you as other news bots, as each project is formed namely by peculiar design and political principles.
You are encouraged to review the following projects and pick the one that fits best to you.
AtomToPubsub
------------
AtomToPubsub is a simple script that parses feeds and pushes the entries to a designated XMPP Pubsub Node.
Proceed to `edhelas/atomtopubsub <https://github.com/edhelas/atomtopubsub>`_
err-rssreader
-------------
A port of old Brutal's Feed Reader for `Errbot <https://errbot.readthedocs.io/>`_.
Proceed to `errbotters/err-rssreader <https://github.com/errbotters/err-rssreader>`_
feed-to-muc
-----------
feed-to-muc is an XMPP bot which queries newsfeeds and posts the short summary to a XMPP MUC if there is a new article.
Proceed to `mdosch/feed-to-muc <https://salsa.debian.org/mdosch/feed-to-muc>`_
Jabber RSS Transport
--------------------
`Jabber RSS Transport <https://jabberworld.info/Jabber_RSS_Transport>`_ offers a `component <https://xmpp.org/extensions/xep-0114.html>`_ interface which embodies feeds as contacts, which makes it highly efficient to any chat client.
Proceed to `jabberworld/jrd_rss <https://github.com/jabberworld/jrd_rss>`_
JabRSS by Christof
------------------
A simple syndication headline notification service for Jabber/XMPP.
Proceed to `dev.cmeerw.org <https://dev.cmeerw.org/Projects/jabrss>`_
JabRSS by Jens W. Wulf
----------------------
The code is based on `jabrss@cmeerw.net <https://dev.cmeerw.org/jabrss/Documentation>`_. It was restructured and offers additional features.
Proceed to `jotwewe.de <http://www.jotwewe.de/de/xmpp/jabrss/jabrss_en.htm>`_
Morbot
------
Morbo is a simple Slixmpp bot that will take new articles from listed syndication feeds and send them to assigned XMPP MUCs. This bot works best with TinyTinyRSS published articles feeds.
Proceed to `TheCoffeMaker/Morbot <https://codeberg.org/TheCoffeMaker/Morbot>`_