Giter VIP home page Giter VIP logo

goplaxt's Introduction

Plaxt

Plex provides webhook integration for all Plex Pass subscribers, and users of their servers. A webhook is a request that the Plex application sends to third party services when a user takes an action, such as watching a movie or episode.

You can ask Plex to send these webhooks to this tool, which will then log those plays in your Trakt account.

This is a full rewrite of my somewhat popular previous iteration. This time it's written in Go and deployable with Docker so I can run it on my own infrastructure instead of Heroku.

To start scrobbling today, head to plaxt.astandke.com and enter your Plex username! It's as easy as can be!

If you experience any problems or have any suggestions, please don't hesitate to create an issue on this repo.

Deploying For Yourself

Goplaxt is designed to be run in Docker. You can host it right on your Plex server!

To run it yourself, first create an API application through Trakt here. Set the Redirect URI to be the URI you will hit to access Plaxt, plus /authorize. So if you're exposing your server at http://10.20.30.40:8000, you'll set it to http://10.20.30.40:8000/authorize. For the CORS Origin, just use the URI. Bare IP addresses and ports are totally fine, but keep in mind your Plaxt instance must be accessible to all the Plex servers you intend to play media from.

Once you have that, creating your container is a snap:

docker create \
  --name=plaxt \
  --restart always \
  -v <path to configs>:/app/keystore \
  -e TRAKT_ID=<trakt_id> \
  -e TRAKT_SECRET=<trakt_secret> \
  -e ALLOWED_HOSTNAMES=<your public hostname(s) comma or space seperated> \
  -p 8000:8000 \
  xanderstrike/goplaxt:latest

If you are using a Raspberry Pi or other ARM based device, simply use xanderstrike/goplaxt:latest-arm7.

Then go ahead and start it with:

docker start plaxt

Contributing

Please do! I accept any and all PRs. My golang is not the best currently, so I'd love some thoughts on worthwhile refactors. I sort of blew through this without adding any tests, so testing won't be a hard requirement for contributions until I add some (though they're always welcome, of course).

Security PSA

You should know that by using the instance I host, I perminantly retain your Plex username, and an API key that allows me to add plays to your Trakt account (but not your username). Also, I log the title and year of films you watch and the title, season, and episode of shows you watch. These logs are temporary and are rotated every 24 hours with older logs perminantly deleted.

I promise to Do No Harm with this information. It will never leave my server, and I won't look at it unless I'm troubleshooting bugs. Frankly, I couldn't care less. However, I believe it's important to disclose my access to your information. If you are not comfortable sharing I encourage you to host the application on your own hardware.

I have never been served with any government requests for data.

License

MIT

goplaxt's People

Contributors

xanderstrike avatar halkeye avatar ojford avatar pabloromeo avatar crlorentzen avatar

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.