Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new maintainer needed #372

Open
kaso17 opened this issue Apr 20, 2017 · 45 comments
Open

new maintainer needed #372

kaso17 opened this issue Apr 20, 2017 · 45 comments

Comments

@kaso17
Copy link
Collaborator

kaso17 commented Apr 20, 2017

@lxt2 disappeared a long time ago.
I'm the only other dev with commit permissions but I won't put any effort into cardigann in it's current state.
If someone wants to take over the development please step forward. I'm willing to help with migration to a new project.

@phendryx
Copy link

Just curious, how has the existing development for definitions been done? Has the team had to get accounts on each of the trackers the project can scrape from?

@ldexterldesign
Copy link

ldexterldesign commented Apr 21, 2017

@kaso17 hey,

Hope you're well

Sorry to hear this

Can you elaborate?

I won't put any effort into cardigann in it's current state

Is/are there a specific reason/reasons?

Apart from adding new definitions, which I'm looking into ATM, what type of work needs doing - some issue tags would be useful?

Yours hopefully

PS I've actually been in email contact with @lxt2 about contributing but replies are thin

@JigSawFr
Copy link
Contributor

It could be great, i didn't participate too as i'm not using Go language.
@kaso17 i wanted to tell you something, what to you think of creating a new project for tracker's definitions ? Something with good conventions that could be used by any projects ? (not directly integrated on Jackett). So anyone could integrate this project as a git submodule. And it's great for updates, we will just need to commit changes on child project and update dependencies.

@kaso17
Copy link
Collaborator Author

kaso17 commented Apr 21, 2017

@phendryx Yes, the definitions have been made by users with accounts on the corresponding trackers.

@ldexterldesign As you might know I'm also one of the developers of Jackett. Some time ago I added support for cardigann definitions to jackett. Most new trackers in jackett have been added using cardigann based definition files since then. But I also had to make plenty of enhancements to the definitions file format since then, due to that the jackett definitions won't work with cardigann at this time. Someone needs to bring cardigann to the same feature level as jackett first.
I created some enhancement issues for some of the features (it's incomplete as at some point I stopped, but if someone picks up the work I'll continue): https://github.com/cardigann/cardigann/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement+author%3Akaso17
The biggest task is probably adding support for cloudflare challenges, lxt2 started but then disappeared.
The various definition format enhancements are just annoying coding work.
If someone brings up cardigann to the same level as Jackett I would consider stopping my work on Jackett (I'm not the biggest mono fan myself).

@JigSawFr : I like the idea, we should do that once cardigann becomes active again.

@ghost
Copy link

ghost commented Apr 22, 2017

Let it die IMO

Even if some Go guru came along, essentially you would back in the same place with lxt ie. the project lives and dies with one person. At least with C# you will get more people that can and will contribute, sure the contributions won't be to the level of kaso, lxt or zone117, but there has been decent code commits from plenty of people in Jackett. Jackett would have died when zone117 left it was written in Go I reckon. And being honest, Cardigann is currently a long way from where Jackett is, Cardigann currently implements the easy trackers, none of the more difficult stuff

.NET Core 2 isn't that far away, from what I've read, .NET Standard 2.0 will bring back API to essentially what 4.5 has. So hopefully won't be a huge job to change over and remove Jackett's biggest weakness Mono. I understand both Sonarr and Radarr are going in this direction. Think we also have to be mindful that Jackett is always going to cop a bit of flack for bugs with people not understanding that its doing the work a lot of other devs don't want to maintain with scraping being prone to breaking

@JigSawFr The trackers in a separate repo sounds good in theory, but who will use them? Is having the definitions inside a folder in Jackett really stopping anyone from creating the next Jackett/Cardigann, I really doubt it and then what about the trackers that just aren't that easy to put in a definition file? And then what happens if the two projects want to do things differently. And if the two projects can work together on definition standards why not just work together on the whole thing? If there was a hundred people willing to help out with this stuff, I'd say competition is great, different ideas and implementations from different projects will produce ultimately a better product. But the reality is the exact opposite, very few willing to contribute (what would we do without kaso 👍 ) . All the hours and hours of great coding lxt has put into this are very likely going to go to complete waste, with no one using all his effort, whereas if he had put all those hours into Jackett, his contributions would be used my many today. Makes so much more sense to me, people contributing to the one project

@kailan
Copy link
Contributor

kailan commented Apr 22, 2017

As much as it would be a waste of work, it seems counter-intuitive to be maintaining two projects that do the same thing.

I think the best course of action would be to aid people in moving over to Jackett, as at least it is maintained well.

@ldexterldesign
Copy link

ldexterldesign commented Apr 22, 2017

Perhaps stating the obvious, but has anyone tried formally contacting @lxt2?

Personally (OS X), I prefer using Cardigann to Jackett. Cardigann (issue) support is non-existent IMO[0], which needs to improve but I guess that will come with more contributors.

@kaso17 can we organise a meeting to go over some of the definition stuff and I'll be glad to work on this for/with you - perhaps we can create a video and drop it in the documentation?

Kind regards

[0] #277 - I will assume this is because @lxt2 is the only person who knows?

@JigSawFr
Copy link
Contributor

JigSawFr commented Apr 23, 2017

@FlightLevel if we have two repos, it could be better (theoretical). One for definitions and their conventions that could be used with various project (as Jackett), ex; if want to do a new project to consolidate stats about trackers, i can use them. Or if you want to create a project to grab all trackers torrents infos to create a database, there are plenty of examples. Also if one day Jackett will be not active, someone can create a fork (as done with cardigann) and use our definitions / convention. It's my point of view on this.

As @kaso17 i'm not a big fan of .Net but it's more easy as Go to develop. But in my case i'm thinking of creating a new fork (for testing purposes / proof of concept at first time) with other technologies as NodeJS (backend) / AngularJS (frontend). As back/front are not linked together, anyone could create another frontend with some technologies (Web/Mobile/etc). It will be more light, fast, easy to run on multiple platforms. What do you think about this idea ?

@kaso17
Copy link
Collaborator Author

kaso17 commented Apr 23, 2017

@ldexterldesign
I'll try to find some time and write some documentation on the definitions format (including details on differences between cardigann/jackett). If there are still questions of course we can arrange a meeting.

@JigSawFr While I personally hate JS it's probably a good idea to use it. JS interpreters are available for almost all programming languages. That's why I would suggest it as a replacement for the current golang template engine used in the definitions.
You'll also need it for a good cloudflare challenge solving solution. I would go with a full blown headless browser with JS support for the scraping. That would make implementing scrapers for some sites easier (e.g. to deal with the extratorrent JS based obfuscation).

But until there's a second active project moving the definitions to an extra project makes no sense to me.

@kaso17
Copy link
Collaborator Author

kaso17 commented May 7, 2017

@ghost
Copy link

ghost commented May 17, 2017

:(

@onedr0p
Copy link

onedr0p commented May 23, 2017

+1 to let it die, we don't need 2 things that do the same thing. I know people like options, but having 1 choice in this niche isn't a bad thing.

@Shuyinsama
Copy link

Let it die is an option yes but I don't think Jackett is good alternative. Mono is a big issue and is not optimized for servers. I run all my processes on a dedicated VPS and mono is really hogging it. I am not planning on upgrading my VPS just for Mono.

While I like the idea of a NodeJS rewrite. You would need to develop quite some tools.

I have done some Go projects in the past but ultimately decided it wasn't in the best interesst of the company I work for. Looking at the current issues and the Feature list I wonder if it's still worth it.

If anything the recaptcha is one of the top priorities in the list.

@ldexterldesign
Copy link

Hey @kaso17,

Thanks for guide[0]

I know it's work in progress, but are the missing sections[1] crucial for completing the task of adding a new source?

Hope to hear back

Kind thanks

[0] #372 (comment)
[1] https://github.com/Jackett/Jackett/wiki/Definition-format#template-engine

@kaso17
Copy link
Collaborator Author

kaso17 commented Jun 25, 2017

@ldexterldesign If you look at some definitions the templating engine should be pretty much self explaining. If you've any questions, feel free to ask.

@lxt2
Copy link
Contributor

lxt2 commented Jun 28, 2017

Hey all! Sorry I've been long absent. New job and a new baby have occupied a lot of my time. I'd be really sad to see Cardigann die.

I'll engage a bit more and see if I resurrect things.

@lxt2
Copy link
Contributor

lxt2 commented Jun 28, 2017

The biggest task is probably adding support for cloudflare challenges, lxt2 started but then
disappeared.
The various definition format enhancements are just annoying coding work.
If someone brings up cardigann to the same level as Jackett I would consider stopping my work on > Jackett (I'm not the biggest mono fan myself).

Ok, let's do this. I'll go over those issues and add my thoughts.

@lxt2
Copy link
Contributor

lxt2 commented Jun 28, 2017

FWIW, I think that golang is a vastly better language for this. I'd initially planned to support an embedded JS engine so that you could write login in small JS scripts to extend templates.

@lxt2
Copy link
Contributor

lxt2 commented Jun 28, 2017

@FlightLevel I don't think there is any good reason why people are more likely to contribute in c# vs golang.

@ghost
Copy link

ghost commented Jun 28, 2017

Don't get me wrong @lxt2 , love what you've done here and I agree with you golang is superior for this use case, BUT. The reality is, of all the people that have made contributions you are probably the only one who can bring Cardigann up to a stage where it has capabilities similar to Jackett. And unless it can do what Jackett can, what's the point? I still think this project code wise lives and dies with you. If capability wise it came upto Jackett I could see definition commits but can't see code commits in its current state as per the last 6 months ....

Looking at the contributions, there is only a couple of people that have made code commits, compare this to Jackett. Personally I don't know a single person in real life that has written a line of golang https://trends.google.com/trends/explore?date=today%2012-m&q=c%23,golang For me personally, I would never make the effort to contribute code commits to a project where I don't at least know some of the basics for a language and to be honest don't have the time/inclination to learn a new language that I could never see myself using anywhere else and I'd think most people would be the same. Whereas if I come across a project and I can see something I can fix, I'll submit a PR if its something I know the basics eg C#, python, javascript

@ldexterldesign
Copy link

ldexterldesign commented Jun 28, 2017

Hey @lxt2,

Good to hear from you

Glad you're well

Congratulations on the life changes

I'm in the middle of creating some new definitions and look forward to some new enhancements from your side soon

@kaso17 since @lxt2 is back shall we close this issue?

Cheers

@kailan
Copy link
Contributor

kailan commented Jun 28, 2017

Hi @lxt2, welcome back! 🎉

Glad to know you're okay, and congrats on the baby.

@lxt2
Copy link
Contributor

lxt2 commented Jun 30, 2017

@FlightLevel I don't disagree there are more people who write C#. If I'd cared about that I wouldn't have written cardigann though ;)

I think the compromise is to finish what I originally planned, which is a decent headless browser or JS engine support in cardigann to supplement the definitions. I think that ends up with a world where there is a solid engine that doesn't change much in cardigann and then a lot of development by contributors on the indexer definition side.

@lxt2
Copy link
Contributor

lxt2 commented Jun 30, 2017

Don't close it yet @kaso17, we still need to figure out a way to make this sustainable. I think there a a lot of valid points raised by all.

@lxt2
Copy link
Contributor

lxt2 commented Jun 30, 2017

If you look at some definitions the templating engine should be pretty much self explaining. If you've any questions, feel free to ask.

FWIW, this is why I wrote cardigann.

@lxt2
Copy link
Contributor

lxt2 commented Jul 1, 2017

Ok, I've gotten https://github.com/cardigann/go-cloudflare-scraper working. Is xspeed the best place to test it these days?

@kaso17
Copy link
Collaborator Author

kaso17 commented Jul 1, 2017

yes, xspeed is still a reliable way (challenge protection is always active) to test it.
Only http://www.torrentbd.com is more annoying to access (you have to solve the cloud flare captcha challenge every few hours).

@lxt2
Copy link
Contributor

lxt2 commented Jul 23, 2017

I'm going to close this issue for now. I'm back on the case.

@lxt2 lxt2 closed this as completed Jul 23, 2017
@onedr0p
Copy link

onedr0p commented Jul 23, 2017

Gald to see you back, please make Radarr work :)

#327

@kylegrantlucas
Copy link

@lxt2 is cardigann still looking for contributors?

@onedr0p
Copy link

onedr0p commented May 15, 2018

He disappeared again :(

@kylegrantlucas
Copy link

Yeah, that's what I feared. I have some interest in seeing if we can keep this project going - but I could use some more background on where it stands to keep that going.

  1. It seems that this discussion was left off with there being some discussion on unifying the cardigann/jackett spec for definition spec so that the definitions could be shared between the two projects - I believe this is still a worthy goal as most of the jackett upkeep seems to be related to updating the definitions.

  2. This repo is clearly in need of some cleanup - digging through the issues I can spot several that just outright need closing, and there are 4 hanging pull requests.

Cardigann still seems to see a lot of use (especially via the linuserver.io images), and I'm also actively trying to drop apps that use mono from my stack. Golang seems like a great fit for what this project is trying to accomplish and could go a long way, so I think theres something here worth trying to save, would be nice to hear if @lxt2 @kaso17 @ldexterldesign have anything to say on this topic.

I'm more than willing to hop on and try contributing/picking up this project - just trying to figure out where things stand and where to start!

@kaso17
Copy link
Collaborator Author

kaso17 commented May 17, 2018

@kylegrantlucas the plan for jackett is to migrate it to .NET Core. I believe @FlightLevel is currently working on the last big changes. Once finished we'll be able to build a standalone version of Jackett which doesn't use mono (Similar to GoLang). Cardigann (Go) still should outperform Jackett regarding CPU and memory usage. But in my opinion Cardigann is lacking to many features which are already supported by Jackett. For me the saved CPU time/memory is not worth the catchup work. And especially the Jackett memory should be reducible without to much work (option to disable caching). Besides that there are more C# programmers than golang programmers.

@ghost
Copy link

ghost commented May 20, 2018

@kylegrantlucas Currently working on migration to .NET core for Jackett. It's now running, so not that far away. A few other projects Ombi and Emby have transitioned to .NET Core and can see others planned

Maintain what I said a year ago #372 (comment) , best of luck if you do attempt a Cardigann revival, I suspect no one has tried as the work involved is significant.

Downloads maybe 10 to 1, but I suspect active users is more like a 100 to 1. I suspect if Jackett didn't have a commit in six months, more than half the trackers would be broken. It requires regular and ongoing maintenance to keep it working well.

@DarthHTTP
Copy link

@kylegrantlucas i would be in for:

  • maintaining current trackers & implementation of new ones
  • testing & docs
  • project's ops related work (from builds to say containerisation)

There is a clear need for a fresh scrutiny into the web-app related codebase (i've dug into related to custom URL path, and it's not working properly).

PS:
I do see value in shared definitions with Jackett but putting up a infrastructure to "develop by debugging" Jackett in order to understand how it runs definitions and what should be copied from there, for me it's a bit too much.
With minimal effort i have developed additional definitions based on existing ones for private trackers that are not with Cardigann/Jackett codebase; I can say the scraper & regexing was my least worry, and that's because very poorly build&maintained webapps on the trackers side :/ .

@kylegrantlucas
Copy link

Thanks for the feedback everyone!

I think there is definitely something still to be had here on a base level, and I'd like to at least see what we can do about the core of this project. I realize that it may never rise to the level of features that are in Jackett, but I do think that we can get this into a better state.

For now, I think it would be best to start with some exploratory work to see what the current state of things are, and with that, I think it best for me to start in a forked version for now. I'll clone any issues I can deem relevant/applicable and get everything to a good state. Ideally, we could then port this work over to the main repo if at that time we find the project to be in a position that we can improve upon it.

Would love to get any help I can get (thanks for the offer @DarthHTTP!) but am very much aware that I may be out on my own here with this effort in the longer run.

I'm also more than willing to just to this repo cleanup work in the open here on this repo if someone is willing to hand over the keys to the kingdom. The README could at least use an update to reflect the current state of this project.

Thanks for all the help getting me pointed in a direction here @FlightLevel and @kaso17, and I'm super excited to see what the Jackett team has cooked up!

@kaso17
Copy link
Collaborator Author

kaso17 commented May 23, 2018

@kylegrantlucas @lxt2 is the only one will full project permissions.
I've basic commit permissions, so once you're ready I can add a note to the readme.
I don't think anyone else has any permissions.

I sent you an invite to the cardigann2 organization (a previous attempt to revive cardigann). Feel free to use it for your fork.

@kaso17 kaso17 reopened this May 23, 2018
@cewood
Copy link

cewood commented May 23, 2018

@kaso17 @kylegrantlucas could always try a new name... coat seems like a logical progression :)

@DarthHTTP
Copy link

@cewood to be accurate, it would be coatt :)

@ldexterldesign
Copy link

ldexterldesign commented Jun 30, 2018

Hey @kylegrantlucas,

Apologies for delay

I applaud your intentions

I've moved to jackett now I'm afraid - after trying to get support with numerous cardigann issues I decided the community just isn't there (not that I have [had the need to] engage much with jackett community yet)

Personally, I feel shared definitions should be the priority. Definitions are the resource hog for these projects and they should be accessible enough for a) users to maintain themselves and b) developers to use cross-project.

It would be a useful longterm goal to be able to rate indexers - perhaps a scoring metric could be integrated into the schema based on features (e.g. modern APIs) so we can encourage users to invest in these trackers and let the old ones die. With more and more indexers added (jackett currently has 185[5]) the ability to triage is important:

screen shot 2018-06-30 at 23 40 35

NB I'm building a bittorrent indexer reference[e] - longterm project - and very happy to merge with a standardised schema spec' and make this public if the interest is there

Regards

[5] https://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Definitions
[e] https://docs.google.com/spreadsheets/d/1WZ3RS3HA7tdRqMU2PXPEUYWGqrG1TnnguEJ6NbWJa-A

@lxt2
Copy link
Contributor

lxt2 commented Jul 9, 2018

Hey folks, apologies. I check back in every now and then, but my other commitments take precedence. I'm going to make @kylegrantlucas a maintainer, and promote @kaso17 as well.

@hoshsadiq
Copy link

Hello all, I'd love to try and help. I have similar concerns with Jackett (mono etc) but appreciate how great an application it is. And I'm currently trying to integrate both into https://github.com/elgatito/script.elementum.burst (or perhaps as a standalone provider for https://github.com/elgatito/plugin.video.elementum). Perhaps @elgatito himself might also be interested in helping with maintenance of cardigann.

@ghost
Copy link

ghost commented May 1, 2019

Good luck @hoshsadiq , but just to correct your above statement. Since this issue was created Jackett no longer requires Mono. It runs standalone without having to install a runtime on your machine. And once CoreRT is released Jackett should be able to have single binary executable along much lower resource usage

@travisboss
Copy link

I tried Cardigan in a docker and really do like it over Jackett even the UI I like more. There are a few missing trackers that I use that are not there which from reading this thread is because no one has access to those trackers.

My question to that since I have not looked at the Jackett repo could all of those trackers be imported or use the same template to import? If so I could import the ones I am missing at least.

@onedr0p
Copy link

onedr0p commented Dec 26, 2019

It would be better to open a PR to make the Jackett UI better. It is obviously the winner between these two.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests