GoLang app that can sync IMDb and Trakt user data - watchlist, lists, ratings and history.
To achieve its goals the application is using the Trakt API and web scraping the IMDb website.
The application can be setup to run automatically, based on a custom schedule (default: once every 3 hours) using GitHub Actions
or locally on your machine.
Follow the relevant section below, based on how you want to use the application.
- Fork this repository to your account
- Configure your GitHub repository secrets using the .env.example file as reference:
- Retrieve the
at-main
andubid-main
cookies by logging into your IMDb account and inspecting the cookies using your favourite web browser - Create Trakt API app
- Retrieve a Trakt access token:
- Get a Trakt code by opening the Trakt API app that you created in the previous step and click the
Authorize
button - Using the code from the previous step along with your Trakt app's client id & client secret, replace the contents in the request body and retrieve your access token from the response
- Get a Trakt code by opening the Trakt API app that you created in the previous step and click the
- Create repository secrets:
Settings
>Secrets
>Actions
>New repository secret
- Retrieve the
- Enable GitHub Actions for the fork repository
- Enable the
sync
workflow, as scheduled workflows are disabled by default in fork repositories - The
sync
workflow can be triggered manually right away to test if it works. Alternatively, wait for GitHub actions to automatically trigger it every 3 hours
- Clone this repository to your machine
- Make a copy of the .env.example file and name it
.env
- Populate all the environment variables in that file using the existing values as reference:
- Retrieve the
at-main
andubid-main
cookies by logging into your IMDb account and inspecting the cookies using your favourite web browser - Create Trakt API app
- Retrieve a Trakt access token:
- Get a Trakt code by opening the Trakt API app that you created in the previous step and click the
Authorize
button - Using the code from the previous step along with your Trakt app's client id & client secret, replace the contents in the request body and retrieve your access token from the response
- Get a Trakt code by opening the Trakt API app that you created in the previous step and click the
- Retrieve the
- Make sure you have GoLang installed on your machine
- Open a terminal window in the repository folder and run the application using the command
go run .