Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/XanderStrike/goplaxt
Scrobble Plex plays to Trakt with ease!
https://github.com/XanderStrike/goplaxt
hacktoberfest plex plex-servers plex-webhooks trakt webhooks
Last synced: 11 days ago
JSON representation
Scrobble Plex plays to Trakt with ease!
- Host: GitHub
- URL: https://github.com/XanderStrike/goplaxt
- Owner: XanderStrike
- License: mit
- Created: 2018-12-11T06:03:31.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-04-07T16:52:50.000Z (over 2 years ago)
- Last Synced: 2024-05-11T16:19:02.110Z (6 months ago)
- Topics: hacktoberfest, plex, plex-servers, plex-webhooks, trakt, webhooks
- Language: Go
- Homepage:
- Size: 7.5 MB
- Stars: 296
- Watchers: 22
- Forks: 37
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
**Notice** I will not be doing any more development on this project as Trakt now has [official support](https://blog.trakt.tv/plex-scrobbler-52db9b016ead) for Plex Webhooks. I'm using em, you should too.
This tool should continue to work if you're not willing to pay for Trakt VIP, and I'll continue merging PRs, but don't expect your issues to be answered.
# Plaxt
[![CircleCI](https://circleci.com/gh/XanderStrike/goplaxt.svg?style=svg)](https://circleci.com/gh/XanderStrike/goplaxt) ![Docker Cloud Build](https://img.shields.io/docker/cloud/build/xanderstrike/goplaxt.svg)
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](https://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](https://trakt.tv/oauth/applications). Set the
Allowed Hostnames 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`. 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 :/app/keystore \
-e TRAKT_ID= \
-e TRAKT_SECRET= \
-e ALLOWED_HOSTNAMES= \
-p 8000:8000 \
xanderstrike/goplaxt:latestIf 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
Alternatively you can use `docker-compose`:
```yaml
version: "3.4" # This will probably also work with version 2
services:
plaxt:
container_name: plaxt
environment:
- TRAKT_ID=
- TRAKT_SECRET=
- ALLOWED_HOSTNAMES=
image: xanderstrike/goplaxt
ports:
- 8000:8000
restart: unless-stopped
volumes:
- :/app/keystore
```### 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](https://en.wikipedia.org/wiki/Warrant_canary).
### License
MIT