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

1337x 404 Error #11865

Closed
ionred opened this issue Jun 5, 2021 · 11 comments · Fixed by #11907
Closed

1337x 404 Error #11865

ionred opened this issue Jun 5, 2021 · 11 comments · Fixed by #11907
Assignees
Labels
Enhancement Needs C# PR Welcome! We would welcome a volunteer to prepare a PR to solve this problem!

Comments

@ionred
Copy link

ionred commented Jun 5, 2021

Environment

OS:
Docker/Linux (linuxserver/jackett)

.Net Runtime: [.Net-Core/.Net-Framework/Mono]
Whatever comes inside docker
.Net Version:
Whatever comes inside docker
Jackett Version:
0.18.231
Last Working Jackett Version:
Unknown
Are you using a proxy or VPN? [yes/no]
no

Description

Downloading torrents from 1337 resulting in 404 even directly from cached screen in jackett.

Should a magnet link be downloaded if the torrent fails?

Logged Error Messages

2021-06-05 00:13:46 Error Error downloading. indexer: 1337x path: https://1337x.to/torrent/4881714/Jeopardy-2021-06-01-720p-HDTV-H-264-NTb/ System.Exception: BencodeParser failed ---> BencodeNET.Exceptions.InvalidBencodeException`1[BencodeNET.Objects.IBObject]: Failed to parse IBObject. Invalid beginning character of object. Found '<' at position 0. Valid characters are: 0-9, 'i', 'l' and 'd' at BencodeNET.Parsing.BencodeParser.Parse(BencodeReader reader) at BencodeNET.Parsing.BencodeParserExtensions.Parse(IBencodeParser parser, Stream stream) at BencodeNET.Parsing.BencodeParserExtensions.Parse(IBencodeParser parser, Byte[] bytes) at Jackett.Server.Controllers.DownloadController.Download(String indexerID, String path, String jackett_apikey, String file) in /home/vsts/work/1/s/src/Jackett.Server/Controllers/DownloadController.cs:line 78 --- End of inner exception stack trace --- at Jackett.Server.Controllers.DownloadController.Download(String indexerID, String path, String jackett_apikey, String file) in /home/vsts/work/1/s/src/Jackett.Server/Controllers/DownloadController.cs:line 85

Screenshots

[Place any screenshots of the issue here if needed]

@garfield69
Copy link
Contributor

The 1337x web site does not have its own .torrent cache, relying instead on 3rd party providers, such as iTorrents.org for instance. Which is why .torrents from this site are not always available when the link is followed to initiate a download.

Switching a failed .torrent download to magnet is not as simple as it first appears.
The download processor expects the given link to yield a valid .torrent file, and when it is in control is not aware that an indexer might be able to provide an alternate magnet link if the .torrent download fails.

The Jackett core processor could be amended so that it could optionally accept two download links, and so in theory the download processor could try the alternate link if the first fails.
But this will require a C# dev to provide the supporting logic, as well as amend the cardigann processor to accept two links in the download block.
Maybe someone will volunteer a PR.

@garfield69 garfield69 added Enhancement Needs C# PR Welcome! We would welcome a volunteer to prepare a PR to solve this problem! labels Jun 5, 2021
garfield69 added a commit that referenced this issue Jun 14, 2021
also add back in torrage and btcache .torrent selectors
add an info block to explain about fallback.
@garfield69
Copy link
Contributor

Note: to make the fallback DL option available/functional, users will need to use their Jackett dashboard and edit the 1337x config and save.
Otherwise the existing config with the single DL option will continue to be active.
It is currently not possible to automate updating configs during auto-updates or over the top full installs.

@ionred
Copy link
Author

ionred commented Jun 14, 2021

It is currently not possible to automate updating configs during auto-updates or over the top full installs.

Thanks! Will this be part of fresh installs going forward, though? I saw in the PR there were several config updated.

@garfield69
Copy link
Contributor

Will this be part of fresh installs going forward, though? I saw in the PR there were several config updated.

Each indexer will be updated individually to include a fallback if available, as each corresponding web site needs to be checked to determine if an alternate download is available.

For now, the upcoming Jackett release (in about 20 minutes) will include the ability to support fallback downloads, but only the 1337x indexer actually makes use of this feature.
More indexers to come as they are updated.

@garfield69
Copy link
Contributor

v0.18.317

@ilike2burnthing
Copy link
Contributor

arenabg, badasstorrents, limetorrents, and torrentdownloads will have this setting in the next release

@garfield69
Copy link
Contributor

v0.18.329 for arenabg, badasstorrents, limetorrents, and torrentdownloads

@garfield69
Copy link
Contributor

see #12295 (comment)

@garfield69 garfield69 reopened this Sep 13, 2021
@mikeoscar2006 mikeoscar2006 self-assigned this Sep 14, 2021
@mikeoscar2006
Copy link
Collaborator

I'm able to think of three options for now:

  1. Create an option testlinktorrent just like followredirect which defaults to true but, if false, prevents the double GETs which only selective trackers dislike.
  2. We only check the torrent link if multiple download selectors are present.
  3. We try to download the link in first attempt and add error handling.

Personally, I think 1st option is the best since it allows for more control over the behaviour of indexers through yml itself.

@garfield69
Copy link
Contributor

v0.18.761

@garfield69
Copy link
Contributor

v0.18.781

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Needs C# PR Welcome! We would welcome a volunteer to prepare a PR to solve this problem!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants