Table of Contents :toc:
[[#info][Info]]
[[#todo][ToDo]]
[[#use-the-addon][Use the Addon]]
[[#modify-and-build-yourself][Modify and Build yourself]]
[[#known-issues][Known Issues]]
[[#what-else][What else?]]
Info Currently the addon synchronizes with following services:
Anilist
Simkl
I plan on adding the following in the near future:
** Goal I want to implement a two way sync over multiple services with Stremio acting as the Sender and the watchlists acting as the Receivers.
** Help If you want to help, the next step is adding mappings between the services to a generalized format.
*** Syncing The idea is that everything is the same everywhere. So a mapping to check what should be synced would look like:
let lastWatched; if (symkl.last_watched_at > stremio.state.lastWatched) { lastWatched = symkl.last_watched_at; } else if (anilist.mediaEntry.last_watched) { lastWatched = anilist.mediaEntry.last_watched; }
*** Mapping Information should be mapped as much as possible. After deciding the leader of the sync, we get all possible values and fill up the rest:
// If Symkl has lastWatched if (symkl.state === "completed") { stremio.state.flaggedAsWatched = true anilist.state = "COMPLETED" } // If Anilist has lastWatched if (symkl.state === "COMPLETED") { stremio.state.flaggedAsWatched = true symcl.state = "completed" }
** WARNING I have tested this as good as possible. Everything published here is currently good to go and shouldn't mess up your library. That said if anything does happen... I can't guarantee anything. Open up an Issue and I may be able to help out.
** Dynamic Sync Dynamic Sync is when an item in the Senders is updated, that it get's reflected on the Receivers.
** Import Sync Import Sync is theoretically a one-time action where the whole library get's synchronised from the Senders to the Receivers and vice-versa. But the plan is, that this can be run multiple times without wierd issues.
** Advanced Sync Advanced Sync is when the theoretical Receivers share their data between each other, validating and keeping each other in sync.
** Two-Way Sync Of course I'm going for the two-way sync. However this is harder than it actually seems at the moment. Due to not knowing what the prefered sync order is.
** Catalogs Stremio Catalog Support, self explanatory if you are using stremio.
[X] Anilist
[ ] Kitsu
[ ] MyAnimelist
[X] Simkl
[ ] Trakt
Use the Addon
[[https://56bca7d190fc-syncribullet.baby-beamup.club/][Click here!]]
** Build
npm install npm run build
** Start Start the program. Then open the browser at the url mentioned, if this doesn't already happen automatically.
npm run start
** Develop Instead of Start. Use the following. This will allow you to see the changes live.
npm run start:dev
Known Issues
What else?
** Naming I chose the name SyncriBullet, because I want to blend all of the tracking websites together in a synchronised mix. There's not much more to it.
** Pull Requests Feel free to open pull requests if you think there can be improvements made. I will add an eslint check asap.
** Stars A star would be kind, but honestly I use GitHub stars more as bookmarks. So instead bookmark it.
** Contact
[[https://discord.gg/zNRf6YF][Stremio Addons Discord Server]]
[[https://discord.com/invite/u89XfYn][Simkl Discord Server]]
[[https://discord.com/invite/TF428cr][AniList Discord Server]]
[[https://discord.com/invite/zAypMTH][Aliyss' Discord Server]]
** Support If you like what I do consider buying me a coffee ;)
[[https://www.buymeacoffee.com/aliyss][Buy Me A Coffee]]