Skip to content

victorczon/universal-trakt-scrobbler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Universal Trakt Scrobbler
Universal Trakt Scrobbler

A universal scrobbler for Trakt.tv.

GitHub Release

Get the extension on Chrome

Get the extension on Firefox

Table of Contents

What is Universal Trakt Scrobbler?

An extension that allows you to automatically scrobble TV shows and movies that you are watching, and sync your history, from your favorite streaming services to Trakt.tv.

Why do I need this extension?

If you want to scrobble / sync from Netflix, this is the only Trakt.tv plugin that does it. In the future, we'll be adding support for more streaming services, so it will also serve as a single extension that works for multiple services.

Which streaming services are supported?

  • Amazon Prime (Scrobble only)
  • HBO Go (Scrobble only - tested only for Latin America)
  • Netflix
  • NRK (Sync only)
  • Viaplay (Sync only)
  • Telia Play (Sync only)

How does the extension work?

It extracts information about the TV shows / movies that you are watching / have watched by scraping the page or using the stremaing service API and sends the data to Trakt using the Trakt API.

Known Issues

  • You might have to disable the "automatic mode" in the Temporary Containers extension while logging in, if you use it.
  • Make sure you are logged into streaming services before trying to sync history content.

Other Problems

If you find any other problems or have suggestions or questions, feel free to open an issue.

Development

  1. Create an application in the Trakt API (don't forget to check the /scrobble permission).
  2. In Redirect uri:, put https://trakt.tv/apps.
  3. In Javascript (cors) origins:, put moz-extension:// and chrome-extension://.
  4. Copy the config.dev.json example file and change the Trakt.tv credentials.
cp config.dev.json config.json
  1. Use nvm to run the correct version of Node.js.
nvm use
  1. Install the dependencies.
npm install
  • To run in development mode:
npm start
  • To get the build version for development mode (does not watch files):
npm run build-dev
  • To get the build version for production mode (generates app.zip, ready for deployment):
npm run build
npm run zip

How to add more streaming services

  • First of all, edit the file src/streaming-services/streaming-services.ts and add an entry for the new service with a unique ID e.g. 'Netflix' => 'netflix', 'Amazon Prime' => 'amazon-prime'. Don't forget to set the hasScrobbler and hasSync flags correctly.
  • Some services can have different aspects and limitations, and updates may be needed elsewhere in the source code to handle these cases, so the steps below are more of a guideline.
  • For a scrobbler: copy the src/streaming-services/scrobbler-template/ folder and adjust accordingly. Remember to use the same ID specified in src/streaming-services/streaming-services.ts for the folder name and for the content script file name. That's it!
  • For a sync: copy the src/streaming-services/sync-template/ folder and adjust accordingly. Remember to use the same ID specified in src/streaming-services/streaming-services.ts for the folder name, and don't forget to import the *Api.ts file in src/streaming-services/pages.ts, otherwise the service won't load at all. That's it!
  • You can see the folders of the other services for some reference. The templates are just the basic to get you started.

Credits

This extension is based on traktflix, the original Netflix sync developed by tegon, which was discontinued in favor of Universal Trakt Sync.

TMDb API Trakt API

This product uses the TMDb API, but is not endorsed or certified by TMDb.

This product uses the Trakt.tv API.

LICENSE

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 87.3%
  • JavaScript 10.8%
  • CSS 1.5%
  • HTML 0.4%