Code Monkey home page Code Monkey logo

fulltextrssplz's Introduction

fulltextrssplz

Make RSS full text.

Example

Full-text version of UN News: https://fulltextrssplz.whtsky.me/feed?url=https://news.un.org/feed/subscribe/en/news/all/rss.xml&format=RSS

Start Server

PaaS

Deploy To Heroku

with Docker

docker run --restart=always -p 127.0.0.1:3000:80 -e MAX_ITEMS_PER_FEED=5 -d ghcr.io/whtsky/fulltextrssplz:master

without Docker

# install dependencies
yarn

# build frontend codes
yarn build

# start in public mode -- everyone can use
yarn start

# start in protected mode -- only users with key can use
## generate key for signing url
yarn gen_key
KEYS=<your_key>[,<your_key_b>] yarn start

Usage

An example request looks like:

http://localhost:3000/feed?format=rss&url=<feed_url>[&sign=<your_sign>][&max_items=1]

Params are:

  • format: Output in which format. Can be rss or json
  • url: URL to original feed
  • sign: required for protected mode. hexadecimal HMAC signature of the feed url
  • max_items: max items for this feed. Can't be greater than MAX_ITEMS_PER_FEED environment variable.

You can get sign using

yarn sign <your_key> <feed_url>

Environment Variables

name description default value
HOSTNAME hostname HTTP server listens to 0.0.0.0
PORT port HTTP server listens to 3000
KEYS comma-seperated signing keys. Leave empty to run in public mode <emtpy>
MAX_ITEMS_PER_FEED max items per feed 3
CACHE_CONTROL_MAXAGE Set max age in Cache-Control header. Use 0 to disable cache. 1800
CACHE_MODE redis for cache with redis, other values means disable cache <empty>
REDIS_URL URL for redis <empty>
CACHE_TTL Cache TTL <empty>

fulltextrssplz's People

Contributors

bnoctis avatar dependabot[bot] avatar renovate-bot avatar renovate[bot] avatar whtsky 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

Watchers

 avatar  avatar

fulltextrssplz's Issues

Thanks and some explanations

Hello,
Thank you for this project. It works perfectly.

But could you explain to me what the CACH_TTL and CACHE_CONTROL_MAXAGE parameters are for?
Also the MAX_ITEMS_PER_FEED , what is the impact if we set over 3 ?

Is it possible with Docker to protect it with a key so if the server is public, not everybody can use it to fulltext their rss feeds ?
Thank you

Not integrating with FreshRSS

Not sure where I'm going wrong, but every time I integrate a working feed from FreshRSS with the FTRSS described process, the feed encounters errors.

When I add the UN News example from your readme, the feed works as expected.

For example: http://172.16.120.5:5620/feed?format=rss&url=https://www.aljazeera.com/xml/rss/all.xml is placed in the Feed URL section and returns an error on the feed in FreshRSS.

My docker run command is:

docker run
  -d
  --name='Full-Text-RSS'
  --net='bridge'
  -e TZ="America/New_York"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="name"
  -e HOST_CONTAINERNAME="Full-Text-RSS"
  -e 'MAX_ITEMS_PER_FEED'='5'
  -e 'CACHE_CONTROL_MAXAGE'='1800'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.icon='https://github.com/imTHAI/unraid-templates/raw/main/rss.png' 'ghcr.io/whtsky/fulltextrssplz:master'

Not sure where I'm going wrong and any direction would be amazing. Thanks for the efforts on this!

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.