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

@@ -63,8 +63,12 @@ namespace Jackett.Server.Controllers
&& downloadBytes[6] == 0x3a // :
)
{
var magneturi = Encoding.UTF8.GetString(downloadBytes);
return Redirect(new Uri(magneturi).ToString());
// some sites provide magnet links with non-ascii characters, the only way to be sure the url
// 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.