podStation

podStation is a web podcast aggregator for Chrome.

158
37
JavaScript

podStation Chrome Extension

Build Status

About

podStation is a free/libre and open-source (FLOSS) podcast aggregator and player for Chrome and other compatible browsers.
It is distributed as a browser extension (see https://en.wikipedia.org/wiki/Browser_extension), but it behaves essentially like a standalone app that uses the browser as a platform.

Chrome Web Store

Chrome Web Store
Chrome Web Store
Chrome Web Store

How to install

You can install it at the chrome web store.

Although not officially supported yet (no tests in place), it also works on:

If there is any browser not listed above where you use podStation, please let me know.
If you want to request a port for a browser, create an issue here, or send us a mail (see the session Support and Contact)
A port to Firefox is part of the long term vision of the project, but not in active development.

History

Back in the days before I had a good Bluetooth headset, that I now use with all my devices, switching between audio from PCs (at work and at home) to mobile was not the most comfortable thing.

As such, I was searching for a cost effective solution to listen to podcasts on desktop operational systems, and also synchronize the list of podcasts between my home and work PC.

There were solutions on the market, but I was thinking that I could build something myself.
Due to the projects I was working on at the time, I was learning front end development and also how to create chrome extensions.

After some research, I decided that a very cost effective way of keeping my list of podcasts in sync would be to use chrome’s sync storage (in the order of Kilobytes) for extensions and chrome apps.

That was how the development of podStation started.

Vision

podStation has reached a mature state where increments are more typically on the direction of bug fixes, optimizations and reduction of technical debt (see https://en.wikipedia.org/wiki/Technical_debt).

If you would like to see all the proposed enhancements, check the open issues:

For an idea of the work in progress, check our planning project.

Some features I consider more important (I will add links to existing issues later):

  • Become podStation Browser Extension: podStation is currently only available for chrome. Although this most likely address the majority of possible users, I don’t like the idea of contributing to vendor lock-in. Having a port that works on other browsers would make it easier for our users to choose other browsers, and contribute to the competitiveness of this market
  • Reduce the necessary permissions required by podStation

There are also some features that I would like to implement, but they are unlikely to become a reality, as it would be a lot of effort:

  • Support marking episodes as listened (history) - not enough Sync Storage space
  • Integration with mygpo (http://gpodder.net/)

Development

Installing the dependencies

You will need to install Node.js.

I have recently updated to v14.17.6, but it worked well with v10.15.1 before that.

If you use nvm to manage your node installations, you can install and set the current version of node by navigating to the folder of this repo (after cloning it) and running the commands:

nvm install
nvm use

After that, install the dependencies with the command:

npm install

Running locally

  1. Build the extension (for development) with the command:
    npm start
    
  2. Go to chrome’s extensions page chrome://extensions/
  3. Enable the Developer Mode
  4. Click the button Load unpacked extension.
  5. Choose the dist folder

Voilà!
You should see podStation’s icon on chrome’s toolbar.
You are now running a local copy of podStation, have fun!

Automated tests

We use Karma and Jasmine for automated tests.

You can run the tests with the command line npm test.
If you want to debug the tests run npm run test-chrome-debugging if you just want to run them.

Documentation

You can find the documentation on the docs folder.

Podcasting 2.0

podStation is committed to support in its best capacity the new features introduced with with Podcasting 2.0.

Currently it supports:

Learn more at Podcasting 2.0.

Find more Podcastings 2.0 apps at https://podcastindex.org/apps.

Find Podcasting 2.0 projects on GitHub by looking for the topic podcasting20.

Find podStation backlog for Podcasting 2.0 by looking for issues with the label pc20.

Contributing

If you are interesting in contributing to podStation, take a look at our contribution documentation.

Support and Contact

If you would like to report bugs, request new features, ask questions or contact the owners of this project for any general topic, create an issue in any of the platforms below:

If you are not sure how to use any of these platforms, or you do not want to communicate in public for any reason, reach us by email at [email protected].

Get Social

Wanna chat? Here is podStation’s accounts on social media (in order of coolness):

Open source podcasting projects

Here are other great open source projects related to podcastings:

References