Jackett / Jackett

API Support for your favorite torrent trackers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jackett is looking for developers

cadatoiva opened this issue · comments

commented

If you, or someone you know has experience in one of the following technologies, we'd love your help. Please use this ticket to let us know how you can help, and we'll direct you to the right people to get you pointed in the right direction to make this project the best it can be.

  • C# development
  • Web scraping with CSS Selectors
  • Web UI/UX. We're looking to do a complete overhaul of the existing UI, so the technology your skilled in is pretty flexible. Our current team has preference/experience in:
    • ASP.Net, C#, or similar
    • NPM, TypeScript, React, Redux, Ant
  • Azure with pipelines
  • Private tracker members for testing changes
  • And possibly more

Quite interested. Whom do I contact?

definitely interested in helping out in Javascript/React/C#, Web scraping, UI/UX

jackett has helped me out so much - this is certainly the least i could do

commented

Thanks for your interest! There are 3 main ways C# devs can help. First, is fixing any tracker bugs that are C# only. You can find these under the Needs C# label in the issue tracker: https://github.com/Jackett/Jackett/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+C%23%22

Second thing we need help with is updating all the tracker code so that we can better see what features are being used and find other improvements for the project. To help with this, you can go through any trackers you have an account with (all C# indexers are in this folder: https://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Indexers) and clean up their code. This includes things like bringing the older code in line with our new-ish style guidelines, updating the category lists, adding IMDB support if it's not already there (#4859), testing that the results show up correctly, including dead torrents, etc.

Resources to help you get started:

  • Our C# style guide
  • Some already cleaned indexers for reference are: HD-Space, 720pier, PassThePopcorn, TorrentLeech, HDTorrents, cinecalidad, funfile, and pretome

And the third way is by helping us improve code coverage by writing unit tests for core components. This is done using the NUnit3 library, and we'd like you to start with covering the classes in https://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Utils

If you have any questions, the best way to contact me right now is to tag me in an Issue or a PR, as I basically live on GitHub with the lockdown.

For those who want to help with the WebUI, I'll defer to @ngosang on contact and coordination.

Thank you, @cadatoiva!

I'll just add that open issues which require Web UI/UX design & development are under the Web UI label. A list of these issues can be found here:
https://github.com/Jackett/Jackett/issues?q=is%3Aopen+is%3Aissue+label%3A%22Web+UI%22

However, as @cadatoiva mentioned in his OP, we are looking to do a complete overhaul of the Web UI, so coordinating with @ngosang first is key.

Also, a wide variety of open issues is under the Enhancement label. It would be great if you're able to help resolve some of these if it fits your skill set:
https://github.com/Jackett/Jackett/issues?q=is%3Aopen+is%3Aissue+label%3AEnhancement

Thank you once again for taking the initiative to help out @thastoned @integrated-differentiation @chronicrebellion

commented

You can also message me on discord. The Jackett discord is https://discord.gg/NSH5kRK and you can find me on there under the same username.

Hello,
I would love to help test as I am not a coder. I cannot seem to get anything related to TD working with sonarr?
Does anyone have suggestions? Can't get jackett working cant get RSS working.

Hello,
I would love to help test as I am not a coder.

Thank you. If you see an open issue related to a tracker of which you are a member, you can help by checking to see if you're facing the same problem, or test the changes to see if they work.

I cannot seem to get anything related to TD working with sonarr?
Does anyone have suggestions? Can't get jackett working cant get RSS working.

For this you'd need to open a new issue and detail what the exact problem is. Make sure you provide the requested details.

For those interested in the WebUI. The current UI is written in JS / HTML / CSS and it does the job. The problem is that the code is very difficult to maintain for several reasons: The HTML code is mixed with the JS code in the same file. Old technologies like jQuery and Bootstrap 3 are used. It does not have a dependency control system. And it has no tests.

Instead of fixing the open bugs I have decided to make a new UI from scratch. I am using modern architecture, language and frameworks. NPM + Typescript + React + Redux + Ant design. It's really similar to the stack used by Sonarr v3 and Radarr. At the moment I am trying to organize the code well to serve as reference and implementing the current functionality of the Jackett UI.

What is done so far:

  • Technologies, architecture, construction system and code base are defined and working.
  • Global storage (Redux) and routing is configured and working.
  • The calls/interface to the configuration, indexers and search APIs are implemented.
  • Search functionality and settings are working (although incomplete).
  • I have made a small modification in the Jackett server so that it serves the two UIs, the old and the new at the same time, you can choose. By default it is still the old one so that users do not notice anything.

As for now I am alone I have not thought much about the organization and the roadmap, but it could be something like this:

  • Release an initial version with the current code. I have to clean the code a bit because I have been playing with many technologies. This code will be available in a branch but will not be merged to master yet.
  • Add the missing functionality to have the same functionality as the old UI. Add tests, unit tests and integration tests (we already have Selenium integrated in Azure pipelines). We continue working in the development branch until everything works.
  • Change the Azure pipeline to build the front, run unit/integration tests in each PR and release.
  • Merge the changes in master and make the two UIs available. By default it will be the new UI and we will display a message in the old UI to indicate that it is deprecated. By means of a button it will be possible to switch between versions in case any user finds a serious bug.
  • We begin to add new functionalities (open issues) and fix new bugs that users report.
  • In a couple of months after the release, if there are not many issues the old UI is completely removed.
  • We make changes to the APIs to include more features in the front. I have tons of ideas: multi user (with different roles, admin / regular user), stats page (with number of requests, most searched terms ...), more configurations, developer dashboard (like an advanced search to help in developing / testing), show more information about the trackers (user ratio, tokens, active uploads / downloads, invites available ...), groups of indexers, predefined search filters, group search results by infohash, dark theme, internationalization, more responsive UI for mobile ....

I need time to release the initial version (a week or two). If someone is interested I can open a PR with the code in the current state in case you want to take a look. After it is released I will open an issue with a TODOs list for anyone who wants to collaborate and for keeping the current state.

We will also need help with UX / UI. The truth is that we already have a logo and I am using a very nice design library that already includes a lot of components and a dark theme https://ant.design/components/button/. The help is more oriented to the usability and ordering of the components of the layout so that it is pleasant to use Jackett.

I am concerned about the long term. I will not disappear from one day to the next, but honestly I am in many projects and I don't know how much time I will be able to dedicate to Jackett in the future, after this is complete. Jackett has been without a front developer for years and I don't want that to happen again. So I ask for commitment.

image

Hello,
I would love to help test as I am not a coder.

Thank you. If you see an open issue related to a tracker of which you are a member, you can help by checking to see if you're facing the same problem, or test the changes to see if they work.

I cannot seem to get anything related to TD working with sonarr?
Does anyone have suggestions? Can't get jackett working cant get RSS working.

For this you'd need to open a new issue and detail what the exact problem is. Make sure you provide the requested details.

For sure. I have been tinkering some more today to see why jackett cannot add TD an an indexer
From the log file all I can make out is that the website it is trying to access to add the tracker is DDoS protected therefore times out, and jacket cannot do anything about that challenge. I could be wrong though

I have also had no luck attaching TD RSS to Sonar to download as well. Sucks I have to use public trackers when TD is so awesome!

LOG

CloudflareSolverRe.Exceptions.CloudflareClearanceException: Clearance failed after 30 attempt(s).
at CloudflareSolverRe.ClearanceHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts) at Jackett.Common.Utils.Clients.HttpWebClient2NetCore.Run(WebRequest webRequest) in d:\a\1\s\src\Jackett.Common\Utils\Clients\HttpWebClient2NetCore.cs:line 229 at Jackett.Common.Utils.Clients.WebClient.GetString(WebRequest request) in d:\a\1\s\src\Jackett.Common\Utils\Clients\WebClient.cs:line 114 at Jackett.Common.Indexers.BaseWebIndexer.RequestStringWithCookies(String url, String cookieOverride, String referer, Dictionary2 headers) in d:\a\1\s\src\Jackett.Common\Indexers\BaseIndexer.cs:line 438
at Jackett.Common.Indexers.TorrentDay.GetConfigurationForSetup() in d:\a\1\s\src\Jackett.Common\Indexers\TorrentDay.cs:line 123
at Jackett.Server.Controllers.IndexerApiController.Config() in d:\a\1\s\src\Jackett.Server\Controllers\IndexerApiController.cs:line 79
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jackett.Server.Middleware.CustomExceptionHandler.Invoke(HttpContext httpContext) in d:\a\1\s\src\Jackett.Server\Middleware\CustomExceptionHandler.cs:line 26

For this you'd need to open a new issue and detail what the exact problem is. Make sure you provide the requested details.

@bombz88 Once again, for the TD problem, you need to open a new issue. This ticket right here is for the Jackett developer recruitment topic only. I have hidden your comment instead of deleting it so you can copy the text into a new issue.

For this you'd need to open a new issue and detail what the exact problem is. Make sure you provide the requested details.

@bombz88 Once again, for the TD problem, you need to open a new issue. This ticket right here is for the Jackett developer recruitment topic only. I have hidden your comment instead of deleting it so you can copy the text into a new issue.

Oh sorry, thanks.
I thought it may have assisted with the dev concerns and why you cannot add the TD indexer to jackett.
My apologies.

commented

@bombz88 I've moved your problem into issue #8203, please use that for future troubleshooting of this issue.

@RoloSoze, we can create the new issue with "reference in new issue" before hiding the comments to help out those who don't know any better.

I was informed by a site, they will not co-operate with development of Jackett App and will ban members for testing the app on their site.

I was informed by a site, they will not co-operate with development of Jackett App and will ban members for testing the app on their site.

@IzzyDunyet Jackett has actually been around for 5 years, it's not new. Many of us have been using it for years, and not once have I heard of anyone having issues because they used Jackett to search, download torrent files, or integrate with other apps.

It already works with 400+ trackers, and accessing a tracker with Jackett is the same as accessing it via a web browser, There is no added burden or load on the servers in any way,

This post simply aims to find volunteers willing to make Jackett's codebase more efficient, and the user interface more advanced. That's it.

commented

@IzzyDunyet curious. Did they say why? And do you mind sharing which site it was?

@thastoned @integrated-differentiation @chronicrebellion

I hope you guys have had the chance to go over @cadatoiva's remarks about the required backend development #8180 (comment), as well as @ngosang's comments on the Web UI work that needs to be done #8180 (comment)

If you are able/willing to contribute in any way, please let us know. Thank you very much.

Hey, I got experience in C#, Java and SQL among other stuff. I am willing to learn more if needed. Let me know how I can be of help.

@datsunedd Thank you! A good start would be to go over this ticket first, It'll give you an overview of where to start and how you can contribute given your skill set,

@datsunedd The best way to start is fixing one of the open issues. You can filter by label. A good start point is reading this #8180 (comment) , installing a C# IDE (Visual Studio or Rider) and try to add a new tracker you are interested in.

I don't remember what site it was. But it struck me they are cautious of App's that share passkeys, ghostleech or can be used by the pirate hunters to catch torrent sites.

I'm no coder, but I have few regs in private trackers. If anyone needs any testing, I can help.

commented

@scotrod thanks for your interest in helping. Check our open issues for any private trackers you have an account with and leave a comment there letting us know you can test any fixes for that ticket.

I'm trying to create a pull request but getting permission denied. What's the process for submitting one?

@monestri first you fork this repo so you have a copy in your own GitHub account.
then you do your changes and test.
then you raise a PR which will create a review request and we then merge your change once approved into this repo.

I've been working on some modifications to get familiar with the code. I started on this a few months back.

idolpx@7951f18

My motivation was to enhance the way it interacts with the torrent client.
Transmission doesn't automatically process the .magnet files that Jackett saves to the watch folder.

Until my modifications are complete I wrote the following script to hold me over.

https://gist.github.com/idolpx/28acca12a3137355e1e776e473bb8eae

Is it possible somehow to nominate maintainers for specific indexers (torrent sites). If any issue is reported to them they will be notified. With this concept it is ensured, that they have account to it and they know the code. Also if there is some global modification in jackett, they can check these sites.

Tried to see if Cardigann is worth reviving but it seems the number of trackers supported by Cardigann is very low. It didn't feel like it was worth reviving. So tried my hand at running Jackett within VS Code but struggled to set it up for debugging. I'm not a C# coder but have done a little of it, and but I've been doing a lot of other OOP languages professionally. If there's a guide on setting it up on Linux using VS Code, I'd be happy to try and get my hands dirty. I've got a few of my own features I'd love to implement as well.

Having said that, I'd also be able to help with the front-end. It's been a while since I've done serious front-end development but I've tried to keep my senses sharp with the new technology stacks. So, @ngosang, if you could push the source somewhere, I could try and raise PRs when I get a chance.

If there's a guide on setting it up on Linux using VS Code, I'd be happy to try and get my hands dirty.

I'm using Linux too. It's possible to configure VS Code with autocomplete and debugger but the support is not good enough for me. I'm using the paid version of https://www.jetbrains.com/rider/ You can try the evaluation version and send me an email if you have problems. C# is really easy, it's a copy of Java and the IDE will do a lot for you!

Having said that, I'd also be able to help with the front-end. It's been a while since I've done serious front-end development but I've tried to keep my senses sharp with the new technology stacks.

I will upload the front-end source code soon but it's not finished... Help in C# is more necessary right now.

Ah! Great shout! Forgot about Rider. I'm a IntelliJ person anyway so this will make it a whole lot easier.

Hi @ngosang I have some ReactJS experience, would it be possible to have a look at the frontend code for the new UI's preview in your screenshot ?

image

I could help with web scraping.

I am a member of GimmePeers. I could help with testing. And it needs it, because the category definitions are out of date.

I could help with c# development, web scrapping or web UI/UX

If those proficient in C# here could take a look at some of the relevant pending PRs (ignore those on hold), give a yea or nay, and point out any issues, it would be much appreciated - https://github.com/Jackett/Jackett/pulls

@j0nathan33 you can take a look at open issues for C#. Most of them are for adding new trackers. https://github.com/Jackett/Jackett/issues?q=is%3Aissue+is%3Aopen+label%3A%22Needs+C%23%22

New PRs in Jackett are accepted for => https://hacktoberfest.digitalocean.com
If you want to collaborate just pick one open issue and open a PR. We will review it and provide help.

@XYZJR welcome!!! At first I will review your PRs in depth so that you learn how to work on the project. Eventually you will have more freedom.

If any Beyond-HD users want to help develop a new indexer using their API, please see #10898

I am looking to add my tracker to the JACKETT list, can anybody guide me or show me to who can help me?

@nexus382 is the Jackett indexer written in yaml for the Cardigann processor, or is the indexer written in C# ?

I can help with yaml questions, but for C# questions there may be delays, as the resident C# dev is not available ATM and so you will be dependant on any C# volunteers who have experience contributing C# indexers to Jackett.

@ngosang Is new webUI activity is dead? The picture you had is pretty. :)

@dm3ch I still have the code in local but it's not finished and I'm not working on it. Since it's built from scratch using React, npm, etc... it will require changes in the CI/CD and a transition period with both UIs to fix issues. I don't have time at this moment to continue and there aren't other web UI developers ATM.

Would it be worth adding what you have done so far as a separate branch for someone else to work on in the future?

@ngosang This week I maybe would have free time. My level in frontend is junior and I'm mostly familiar only with Vue, but if you have some small not extremely difficult tasks I could try to help with them.

P.S. My motivation get some experience with React and frontend

Ok, I will upload all the code I have into a new branch but it could take several days. I have to clean up several things before pushing the code.

This will have to wait a bit more. The weekend is over. 😢

Just for information, prowlarr has done a UI like *arr using all Jackett indexer codes, not using it so far because it can't use flaresolverr, but maybe merging the 2 project might be a good idea ?
https://github.com/Prowlarr/Prowlarr

Just for information, prowlarr has done a UI like *arr using all Jackett indexer codes, not using it so far because it can't use flaresolverr, but maybe merging the 2 project might be a good idea ? https://github.com/Prowlarr/Prowlarr

As an FYI Prowlarr does support Flaresolverr now.

In regards to the more general question, Prowlarr was started as we felt there was improvement to be had in the indexer space. Jackett and Hydra are both excellent programs each with their place and benefits, but we wanted more. We did make a proposal before we started to join forces to a few members of the Jackett team to build something new and improved, though there was no interest. We of course would still be open to join forces.

Our main goal is to improvement the space and give users options.

Hmm, a comment that's been here since June from @xfouloux is now off topic because a Prowlarr dev responded to it with discussion regarding the dev situation? Seems a bit petty.

Just for information, prowlarr has done a UI like *arr using all Jackett indexer codes, not using it so far because it can't use flaresolverr, but maybe merging the 2 project might be a good idea ? https://github.com/Prowlarr/Prowlarr

As an FYI Prowlarr does support Flaresolverr now.

In regards to the more general question, Prowlarr was started as we felt there was improvement to be had in the indexer space. Jackett and Hydra are both excellent programs each with their place and benefits, but we wanted more. We did make a proposal before we started to join forces to a few members of the Jackett team to build something new and improved, though there was no interest. We of course would still be open to join forces.

Our main goal is to improvement the space and give users options.

Devs why is this marked off topic? Seems retaliatory

Please relax everyone.
Comments are usually marked off-topic only because they do not relate to the purpose of this ticket, the header for which is Jackett is looking for Developers.
Side discussions about other projects, and comments not related to jackett is looking for developers are hidden to keep the ticket on focus.
I for one, contribute freely to prowlerr tickets when I think I have info that can help resolve their tickets, and regularly check their indexer requests to see if any can be added to Jackett, in much the same way that prowlerr uses the source here to add to their indexer support.
This is all perfectly normal and part of the github open source policy. :-)
And as a matter of fact, this comment will be shortly marked off-topic too since it too has nothing to do with jackett is looking for developers ;-D

Apologies that's how it came across. One comment that didn't go anywhere was fine, once it was replied to though I marked them as off topic so that the conversation didn't continue (look how that worked out lol). Much love to Prowlarr, it's just not the topic at hand here.

Thanks for the clarification @garfield69 and @ilike2burnthing. Indeed we hope to continue to work together and thank you guys for the contribution and comments on Prowlarr issues. Without the work of Jackett indeed there is no Prowlarr... Thus it's much appreciated. We'd love to entertain further discussion via discord (or another chat platform) when you guys see fit.

Feel free to mark this as off-topic :D

commented

i have 5 years about net core (c#) with azure pipelines, and some proyects with react.

Contributions are always welcomed. Please see open issues and help where you are able.

For a little more structure, see our projects so you can direct your attention towards you what you feel best suits your skills and interests. Similarly, the labels will help too.

TO ALL POTENTIAL CONTRIBUTORS

Our contributing guide has been updated to work with Visual Studio 2022, as we updated to .NET 6.0 two months ago. It has also been reworked to hopefully be easier for those less familiar with VS to get started.

https://github.com/Jackett/Jackett/blob/master/CONTRIBUTING.md#setting-up-your-environment

All contributions are welcomed, If you need any further help feel free to ask.

Hi. I don't have experience in any of the technologies listed above, but I do have experience in python, macOS/Linux sysadmin and also writing documentation. If any of these can be useful, I'm happy to donate some time.

None of the current maintainers are overly familiar with MacOS, just a few contributors who we occasionally ask for help. There are some older open MacOS issues if you want to cast your eye over them - OS MacOS

Our wiki is open to community edit, so feel free to make any changes you think would be needed there - https://github.com/Jackett/Jackett/wiki

You can submit PRs for edits to our README.md and CONTRIBUTING.md.

commented

Hello, I have a small community for Jackett over on reddit. reddit.com/r/jackett. Some members have asked how to donate to the project. Is there a way to give jackett a github sponsorship or something? Thanks all. Also if any of the team want to come over just PM me so I can give you mod privileges. Moderation is pretty annoying as tons of spam bots come in and post ads for jackets and other apparel -_-

commented

Hello, I have a small community for Jackett over on reddit. reddit.com/r/jackett. Some members have asked how to donate to the project. Is there a way to give jackett a github sponsorship or something? Thanks all. Also if any of the team want to come over just PM me so I can give you mod privileges. Moderation is pretty annoying as tons of spam bots come in and post ads for jackets and other apparel -_-

P.S. I don't know how github sponsorships work at all. I'm from the crypto world so something like this would fit easily into a DAO structure, where funds are stored in a multisig safe and can be distributed with something like n/(n+1) signatures. On chain governance is also a nice feature.

Thanks for the offer, but we don't have any costs beyond our own time and effort, so we don't take donations.

commented

Thanks for the offer, but we don't have any costs beyond our own time and effort, so we don't take donations.

Roger that!

I deal with Azure pipelines for my day job - what kind of help do you need on that front still, if any?

Feel free to take a look at our setup, see if there any improvements which could be made - https://github.com/Jackett/Jackett/blob/master/azure-pipelines.yml

Previously, we had a lot of failed runs due to our musl builds causing collisions (the last ~10 commits from ngosang were all attempts to fix it). The solution was ultimately retrying on failure, which is working for us, but obviously preventing the collisions in the first place would be preferable.

Excited to pitch in with you! Just give me a heads-up on where to get started.

I can arrange private tracker access testing. Lmk

Do you have accounts for any trackers that are marked as Invite Needed in our Readme?

Hi I have experience in .net development about 1 year and half
I love to contribute to improve my experience and my knowledge

Thanks, take a look at #8180 (comment).

Hi, I am proficient in TypeScript, React, Redux about 1.5 year. I love to contribute. whom do I contact?

No one to contact, just read this comment and jump in - #8180 (comment)