Please don't take this the wrong way. I'm rasing the issue as a constructive suggestion. Jackett is a great proxy to our favorite providers. And, for that, I can't thank you enough.
However, once subscribed to this project's release notifications, I've become astonished at the number of releases being pushed on a daily basis. It ammounts normally to 2 or 3 releases per day! Not only that, I've noticed that most of the changes relate to adding new providers websites.
Are those actually hardcoded?
This issue suggests that type of configuration be loaded at runtime, like most applications normally do from a config file from disk. That allows the list to grow independently from version releases. Maybe keep a sample of growing examples still in this repo?
Best regards!
Some indexers are coded in c#, usually those that require logic that the cardigann processor does not provide.
others are written in yaml for the cardigann processor, and these are in the definitions folder as individual text file configs as *.yml files.
jackett does not currently have a distribution method for shipping updates to the indexers separately from the full installation package builds.
I would welcome c# developers to design, code and implement a yml distribution system so that the basic jackett c# code does not have to be built every time I make an indexer update.
If/until that happens, full builds are the only way to distribute indexer updates.
So, I have two ideas relating to this that might help reduce the number of releases, at least until a YML update system is put in place.
First, when you're working on *.yml fixes, push all of them into a single release per day instead of 2-3 as was mentioned above. Maybe we could set up an automatic build/release for a specific time each day to cover those.
Second, for those sites that need to be coded in C#, it's likely that we can abstract the system so cardigann can do the heavy lifting. I've seen that many/most of the c# trackers are because the results are loaded with JS after the page is loaded, or has to bypass cloudflare/other bot checks. These could be made into generic actions where C# runs the JS on the page to get the results, and passes the finished product to Cardigann, with like a "usesJS" flag in the YML. Basically a type of reverse proxy type thing.
Thinking about this further, Python applications for similar applications (CouchPotato, SickRage, etc) integrate git into their program and download the .py text/script files directly from GitHub. We could do something similar with the YAML files, moving them off to a separate repo, and using git or similar within the update program to update the YAML files.
As the code stands right now, we'd still need to reboot the local Jackett instance after each update pull. This is something that can be changed to support hotfix replacement.
In the meantime, for the ones using docker images to run Jackett, it really helps to simply use the latest
tag. In Kubernetes, configure the imagePullPolicy
to Always
and restart the pod on a regular basis.
Most helpful comment
Some indexers are coded in c#, usually those that require logic that the cardigann processor does not provide.
others are written in yaml for the cardigann processor, and these are in the definitions folder as individual text file configs as *.yml files.
jackett does not currently have a distribution method for shipping updates to the indexers separately from the full installation package builds.
I would welcome c# developers to design, code and implement a yml distribution system so that the basic jackett c# code does not have to be built every time I make an indexer update.
If/until that happens, full builds are the only way to distribute indexer updates.