An express web app to use and share subscription lists that push RSS feeds directly into users' Pocket accounts
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
public
react_modules
routes
views
.babelrc
.gitignore
LICENSE
README.md
app.js
empocketer_functions.js
getlists.js
nedb.js
package-lock.json
package.json
pocketfeeds.js
settings-example.json
systemd_unit_file_example
webpack.config.js

README.md

A web app built with React and Express.

What does empocketer do?

Empocketer allows anyone with a Pocket account to log in to the app, and create lists of sites with RSS or Atom feeds. Every two hours it checks all those feeds for new content, and pushes new articles to the Pocket accounts of the relevant users.

How does it work?

Essentially, Empocketer uses a React front end with an Express based API and nedb-core database as the back end, using the Pocket API to interact with Pocket.

Empocketer uses Passport and the passport-pocket package to handle logins, using Pocket's API based on OAuth. Routing uses Express, and the Handlebars template engine. The database is embedded in the app using nedb-core and feeds are checked using the ever-reliable feedparser package.

Requirements

You will need to register your app with Pocket and get a Pocket Consumer Key. You also need an smtp email host. I recommend Mailgun - it's free unless you're sending more than 10,000 emails per month, which seems rather reasonable!

Installing your own version

  1. save the code to the directory you will be serving it from
  2. copy settings-example.json to a new file called settings.json, and fill it in with your own real values.
  3. npm install
  4. npm start
  5. point your web browser to localhost:3000

If you want to run it on a server (i.e. not to just test on your own machine) you'll need to set up something like forever or systemd to keep it running. It will default to run on port 3000 so you'll need to configure a proxy

Todos

  • Admin interface, including ability to block users, blacklist certain terms from being used in list names, and possibly ban certain feeds.
  • Account deletion
  • more complete installation instructions including hosting config

See Issues for any other stuff that's being worked on.

License

GPL 3+