core: fix magnet link encoding. resolves #5372 #4761 (#6824)

This commit is contained in:
Diego Heras 2020-01-05 07:31:32 +01:00 committed by garfield69
parent 9060d8acca
commit 7e93a86ae0
5 changed files with 6 additions and 12 deletions

View File

@ -139,9 +139,6 @@
download: download:
# the .torrent url is on the on the details page # the .torrent url is on the on the details page
selector: ul li a[href^="{{ .Config.downloadlink }}"] selector: ul li a[href^="{{ .Config.downloadlink }}"]
filters:
- name: replace # temp fix for #5372
args: ["%E2%AD%90", ""]
search: search:
paths: paths:

View File

@ -957,9 +957,6 @@
download: download:
selector: td a[href^="magnet:?xt="] selector: td a[href^="magnet:?xt="]
attribute: href attribute: href
filters:
- name: replace # temp fix for #5372
args: ["%E2%AD%90", ""]
date: date:
selector: td:nth-last-of-type(5) selector: td:nth-last-of-type(5)
filters: filters:

View File

@ -55,8 +55,6 @@
filters: filters:
- name: querystring - name: querystring
args: url args: url
- name: replace # temp fix for #5372
args: ["%E2%AD%90", ""]
search: search:
paths: paths:
- path: torrents - path: torrents

View File

@ -74,8 +74,6 @@
filters: filters:
- name: querystring - name: querystring
args: url args: url
- name: replace # temp fix for #5372
args: ["%E2%AD%90", ""]
size: size:
selector: td:nth-child(2) selector: td:nth-child(2)
filters: filters:

View File

@ -63,8 +63,12 @@ namespace Jackett.Server.Controllers
&& downloadBytes[6] == 0x3a // : && downloadBytes[6] == 0x3a // :
) )
{ {
var magneturi = Encoding.UTF8.GetString(downloadBytes); // some sites provide magnet links with non-ascii characters, the only way to be sure the url
return Redirect(new Uri(magneturi).ToString()); // is well encoded is to unscape and escape again
// https://github.com/Jackett/Jackett/issues/5372
// https://github.com/Jackett/Jackett/issues/4761
var magneturi = Uri.EscapeUriString(Uri.UnescapeDataString(Encoding.UTF8.GetString(downloadBytes)));
return Redirect(magneturi);
} }
// This will fix torrents where the keys are not sorted, and thereby not supported by Sonarr. // This will fix torrents where the keys are not sorted, and thereby not supported by Sonarr.