Git Product home page Git Product logo

rssit's Introduction

RSSit

RSS/Atom feed generator for various (mainly social media) websites, including Twitter and Instagram.

Supported websites

As of the time of writing:

  • Facebook
  • Flickr
  • Instagram (images, videos, albums, stories, livestreams/replays, messages, news)
  • Livedoor
  • Naver blogs (posts, search)
  • Various news websites (posts, search, but it's a mess at the moment)
  • Reddit (messages only)
  • Soundcloud
  • Tistory (posts, search, categories, tags)
  • Tumblr
  • Twitter
  • Vine (deprecated due to vine's closure)
  • Weibo
  • XDG Notifications (requires notifications_server to be set to true)
  • XE (search only)

This list may change. Check https://github.com/qsniyg/rssit/tree/master/rssit/generators to see the full list.

Requirements

RSSit requires Python 3, and various packages outlined in requirements.txt. You can install them automatically via:

$ pip install -r requirements.txt

RSSit optionally requires dbus-python and PyGObject for desktop notifications support.

Installation

None required.

Usage

$ python rssit.py

By default, it will serve at http://localhost:8123/.

Access it via your web browser, and submit the URL you wish to generate a feed for. If it's supported, it will return a link to the feed.

You can also run rssit as a command-line application by submitting a URL path directly (without the leading http://...):

$ python rssit.py '/f/twitter/u/Support'

Configuration

Intro

Configuration is primarily done at ~/.config/rssit/config.ini. Here is a sample configuration:

[core]
hostname = localhost
port = 8123

[default]
output = rss

You can also add specific configurations for any generator and feed.

[twitter]
output = atom

[twitter/u/Support]
title = Support from Twitter
description = Twitter's Support User

Since configuration is applied from parent folders to children, with the configuration above, http://localhost:8123/f/twitter/u/Support will result in this configuration:

title = Support from Twitter
description = Twitter's Support User
output = atom

Configuration is lazily applied, so the following entry is perfectly acceptable, and would modify the previous URL's configuration accordingly:

[twitter/u]
output = rss

If you only wish to modify the configuration per-request, you can do so via standard GET request parameters:

http://localhost:8123/f/twitter/u/Support?title=Support&output=atom

You can also modify the configuration on the command-line:

$ python rssit.py '/f/twitter/u/Support' output=rss "title=Support from Twitter"

Hooks

Other applications can be hooked to run at any stage of the feed generation process. One such application is download.py, which uses data from the "social" output format to download media.

To use download.py, clone the dlscripts repo somewhere, and add the following to your configuration:

social_hooks = python path/to/download.py

RSSit will then send the data to the program's stdin.

To disable hooks entirely (useful for one-off usages):

nohooks = true

Common options

While each generator can have their own options, these options will modify most generators' behaviour

  • output - Output format. Possible options:
    • social - Simple format used to describe most social media-like posts (represented in JSON)
    • feed - General format used to describe a feed (every generator must generate to this directly or to a format such as social that supports generating to this)
    • rss - RSS
    • atom - Atom
  • count - Minimum amount of entries to return. Currently not all generators support this. Possible values:
    • -1 - All entries (can be very slow)
    • 0 - No entries
    • 1 - Minimum possible number of entries (fastest)
    • n - Minimum of n entries
  • brackets - Adds the generator's name in brackets to the title of the feed, e.g. '[Twitter] TwitterDev'
  • title - Title of the feed
  • description - Description of the feed
  • timeout - Timeout for downloads submitted by the generator
  • proxy - Proxy for downloads
  • httpheaders_[...] - Sets an HTTP header for downloads, for example httpheaders_Cookie = ... (useful for at least Instagram and Weibo)

Core options

Options that affect the core engine for RSSit

  • hostname - Network hostname. This is used for self-referencing URLs within RSSit
  • port - Port to run RSSit

rssit's People

Contributors

dependabot[bot] avatar peterdavehello avatar qsniyg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rssit's Issues

404

Getting 404 when opening http://localhost:8123/ in browser


In my Windows 10 Command prompt:

No module named 'dbus'
Warning: one of dbus-python or gobject is missing, so no notification supportNo module named 'dbus'
Trying port 8123
Warning: one of dbus-python or gobject is missing, so no notification support


When I am trying to install dbus:

Collecting dbus-python
Using cached https://files.pythonhosted.org/packages/62/7e/d4fb56a1695fa65da0c8d3071855fa5408447b913c58c01933c2f81a269a/dbus-python-1.2.16.tar.gz
Installing collected packages: dbus-python
Running setup.py install for dbus-python ... error
Complete output from command e:\py\env\scripts\python.exe -u -c "import setuptools, tokenize;file='C:\Users\aksha\AppData\Local\Temp\pip-install-qqm7gf83\dbus-python\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record C:\Users\aksha\AppData\Local\Temp\pip-record-agf95m5f\install-record.txt --single-version-externally-managed --compile --install-headers e:\py\env\include\site\python3.7\dbus-python:
running install
running build
creating C:\Users\aksha\AppData\Local\Temp\pip-install-qqm7gf83\dbus-python\build
creating C:\Users\aksha\AppData\Local\Temp\pip-install-qqm7gf83\dbus-python\build\temp.win32-3.7
error: [WinError 193] %1 is not a valid Win32 application

Getting Facebook page rss

Hi, thanks for rssit. I have setup and run rssit on my centos VPS. Trying to get rss for my Facebook page, and Twitter handle. For Twitter, I am only getting the atom link without the Twitter posts like this below

https://twitter.com/simbaradio

<title>simbaradio</title> 2021-04-15T00:28:58.127839+00:00 python-feedgen @simbaradio's twitter While Facebook I get an error message that it requires an access token. The configuration does not mention anything about this. Please help. I need an rss feed setup that I use in a feed reader. Thanks

My liked posts?

what is the endpoint for getting a list of my liked posts?

How do I install this?

Downloaded python 3.8 and tried to install requirements, but I get invalid synthax error (tried in cmd and python). I'm really green so help would be much appreciated, thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.