/irodr

RSS reader client like LDR for Inoreader.

Primary LanguageTypeScriptMIT LicenseMIT

Irodr Actions Status: test

RSS reader client for Inoreader.

This RSS reader provide a similar experience to LDR.

Screen Shot

Purpose

  • Fast read RSS like LDR
    • Prefetch contents
    • Mark as "read" on idle time
  • Keyboard Shortcut
  • Customizable by UserScript

Usage

login gif

  1. Open https://irodr.netlify.app/
  2. Click Connect to Inoreader
  3. Click Authorize on Inoreader site

Keyboard Shortcut

  • j: move-next-content-item
  • shift+j: load-more-past-contents
  • t: toggle-content-filter
  • k: move-prev-content-item
  • a: move-prev-subscription-feed
  • s: move-next-subscription-feed
  • m: make-subscription-read
  • v: open-current-content-url
  • z: toggle-subscription-feed-list
  • space: scroll-down-content
  • shift+space: scroll-up-content
  • shift+s: skip-and-move-next-subscription-feed

Custom Client Id and Client Secret

If you want to your Client ID/Secret of inoreader, do following steps:

  1. Visit https://www.inoreader.com/
  2. Open "Preferences"
  3. Open "Developer" tab
  4. Create new App
    • "Redirect URL" is not required
    • "Scoped": Read and Write
  5. Copy Client Id and Client Secret

Create new App

You paste the Client ID and secret to Irodr Authorization.

Irodr Authorization

UserScript API

Irodr provide some UserScript API for UserScript like Greasemonkey.

  • window.addEventListener("userscript-init", (event) => { /* Initialize UseScript object */ })
  • window.userScript.getActiveContent(): UserScriptActiveContent | undefined
  • window.userScript.getActiveSubscription(): UserScriptActiveSubscription | undefined
  • window.userScript.triggerKey(keys: string, action?: string): void

For more details, see UserScript API document. See also resources/userScript directory.

📝 Notes

Development

Usage

Run following command and open local server.

npm start
# open http://localhost:13245/

📝 CORS workaround

Inoreader doesn't support CORS for API. So, Irodr use CORS proxy for Inoreader API.

Production

http://irodr.netlify.app/ work on Netlify. It uses Netlify Edge Functions for CORS proxy.

Recommend: You can connect to Inoreader API without CORS proxy via UserScripts.

Also, you can use own CORS proxy.

Local server

In local, you can just run npm run dev and open http://localhost:8888/.

npm run dev

📝 Limitation of Mixed-content

A browser show a warning on https://irodr.netlify.app/ It is caused by Mixed content.

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:

npm test

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu

OSS Supports

Netlify