diff --git a/README.md b/README.md index 816911e..f337b2b 100644 --- a/README.md +++ b/README.md @@ -2,43 +2,56 @@ ## 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 and News websites along with filtering functionality. - -Slixfeed is primarily designed for XMPP (aka Jabber). - -Visit https://xmpp.org/software/ for more information. +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. +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 + +#### Simultaneous + +Slixfeed is designed to handle multiple contacts, including groupchats, Simultaneously. + +#### Ease + +Slixfeed automatically scans (i.e. crawls) for web feeds of given URL. + +#### Filtering + +Slixfeed provides positive and nagative ways to filter by allow and deny lists. + +#### Proxy + +Redirect to alternative online back-ends, such as Invidious, Librarian, Nitter, for increased privacy and productivity and security. ## Getting Started + +### Install + ``` -$ python __main__.py -Username: -Password: +$ pipx install git+https://gitgud.io/sjehuda/slixfeed ``` -## Usage -- Start bot; -- Add contact JID of Slixfeed to your roster; -- Open chat with Slixfeed; -- Add news source by sending a `` (in groupchat, use `!`). +### Start -### Feeds -Example feeds you can subscribe to. ``` -https://xmpp.org/feeds/all.atom.xml -https://takebackourtech.org/rss/ -https://redecentralize.org/podcast/feed.rss -http://hackerpublicradio.org/hpr_ogg_rss.php -https://www.blacklistednews.com/rss.php -https://theconsciousresistance.com/feed/ +$ slixfeed ``` +### Usage + +- Start a chat with the bot 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; @@ -46,31 +59,37 @@ https://theconsciousresistance.com/feed/ - 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). -- [Laura](xmpp:lauranna@404.city?message) (Instructor, Mentor and Co-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. +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. -This bot would not be a reality without you. - ## License -MIT license + +MIT license. ## Copyright -- Schimon Zackary 2022 - 2023 + - 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. diff --git a/pyproject.toml b/pyproject.toml index d87894b..70e3bae 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,7 @@ keywords = [ "syndication", "xmpp", ] -urls = {Homepage = "https://gitgud.io/sjehuda/slixfeed"} +# urls = {Homepage = "https://gitgud.io/sjehuda/slixfeed"} dependencies = [ "pyyaml", "python-dateutil", @@ -46,10 +46,22 @@ dependencies = [ "slixmpp", ] +[project.urls] +Homepage = "http://slixfeed.i2p/" +Repository = "https://gitgud.io/sjehuda/slixfeed" +Issues = "https://gitgud.io/sjehuda/slixfeed/issues" + + [project.optional-dependencies] -"export as markdown" = ["html2text"] -"export as pdf" = ["pdfkit"] -"readable html" = ["readability-lxml"] +# socks = ["PySocks"] +file-export = ["html2text", "pdfkit"] +readability = ["readability-lxml"] + +# This section returns pep508-identifier error +# [project.optional-dependencies] +# "export as markdown" = ["html2text"] +# "export as pdf" = ["pdfkit"] +# "readable html" = ["readability-lxml"] # [project.readme] # text = "Slixfeed is a news aggregator bot for online news feeds. This program is primarily designed for XMPP"