mirror of https://github.com/Jackett/Jackett
BrowserUtil, tryparse added
This commit is contained in:
parent
905d522a9b
commit
f2f38605bf
|
@ -0,0 +1,16 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Jackett
|
||||
{
|
||||
public static class BrowserUtil
|
||||
{
|
||||
public static string ChromeUserAgent
|
||||
{
|
||||
get { return "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,78 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Jackett
|
||||
{
|
||||
public class ChromeUnsafePorts
|
||||
{
|
||||
public static int[] RestrictedPorts = new int[] {
|
||||
1, // tcpmux
|
||||
7, // echo
|
||||
9, // discard
|
||||
11, // systat
|
||||
13, // daytime
|
||||
15, // netstat
|
||||
17, // qotd
|
||||
19, // chargen
|
||||
20, // ftp data
|
||||
21, // ftp access
|
||||
22, // ssh
|
||||
23, // telnet
|
||||
25, // smtp
|
||||
37, // time
|
||||
42, // name
|
||||
43, // nicname
|
||||
53, // domain
|
||||
77, // priv-rjs
|
||||
79, // finger
|
||||
87, // ttylink
|
||||
95, // supdup
|
||||
101, // hostriame
|
||||
102, // iso-tsap
|
||||
103, // gppitnp
|
||||
104, // acr-nema
|
||||
109, // pop2
|
||||
110, // pop3
|
||||
111, // sunrpc
|
||||
113, // auth
|
||||
115, // sftp
|
||||
117, // uucp-path
|
||||
119, // nntp
|
||||
123, // NTP
|
||||
135, // loc-srv /epmap
|
||||
139, // netbios
|
||||
143, // imap2
|
||||
179, // BGP
|
||||
389, // ldap
|
||||
465, // smtp+ssl
|
||||
512, // print / exec
|
||||
513, // login
|
||||
514, // shell
|
||||
515, // printer
|
||||
526, // tempo
|
||||
530, // courier
|
||||
531, // chat
|
||||
532, // netnews
|
||||
540, // uucp
|
||||
556, // remotefs
|
||||
563, // nntp+ssl
|
||||
587, // stmp?
|
||||
601, // ??
|
||||
636, // ldap+ssl
|
||||
993, // ldap+ssl
|
||||
995, // pop3+ssl
|
||||
2049, // nfs
|
||||
3659, // apple-sasl / PasswordServer
|
||||
4045, // lockd
|
||||
6000, // X11
|
||||
6665, // Alternate IRC [Apple addition]
|
||||
6666, // Alternate IRC [Apple addition]
|
||||
6667, // Standard IRC [Apple addition]
|
||||
6668, // Alternate IRC [Apple addition]
|
||||
6669, // Alternate IRC [Apple addition]};
|
||||
};
|
||||
}
|
||||
}
|
|
@ -24,5 +24,10 @@ namespace Jackett
|
|||
return await client.GetStringAsync(uri, --retries);
|
||||
throw exception;
|
||||
}
|
||||
|
||||
public static string ChromeUserAgent(this HttpClient client)
|
||||
{
|
||||
return "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ namespace Jackett.Indexers
|
|||
|
||||
static string GuidUrl = BaseUrl + "/torrents.php?torrentid=";
|
||||
|
||||
static string chromeUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
|
||||
|
||||
CookieContainer cookies;
|
||||
HttpClientHandler handler;
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace Jackett.Indexers
|
|||
public event Action<IndexerInterface, string, Exception> OnResultParsingError;
|
||||
public event Action<IndexerInterface, JToken> OnSaveConfigurationRequested;
|
||||
|
||||
static string chromeUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
|
||||
|
||||
public string DisplayName
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace Jackett
|
|||
static string LoginPostUrl = BaseUrl + "/login.php?action=makelogin";
|
||||
static string SearchUrl = BaseUrl + "/browse.php";
|
||||
|
||||
static string chromeUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
|
||||
|
||||
CookieContainer cookies;
|
||||
HttpClientHandler handler;
|
||||
|
|
|
@ -19,8 +19,8 @@ namespace Jackett.Indexers
|
|||
public event Action<IndexerInterface, string, Exception> OnResultParsingError;
|
||||
|
||||
const string DefaultUrl = "https://hd-torrents.org";
|
||||
string BaseUrl;
|
||||
static string ChromeUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
string BaseUrl = DefaultUrl;
|
||||
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
|
||||
private string SearchUrl = "https://hd-torrents.org/torrents.php?search={0}&active=1&options=0&category%5B%5D=59&category%5B%5D=60&category%5B%5D=30&category%5B%5D=38&page={1}";
|
||||
private static string LoginUrl = DefaultUrl + "/login.php";
|
||||
private static string LoginPostUrl = DefaultUrl + "/login.php?returnto=index.php";
|
||||
|
@ -75,7 +75,7 @@ namespace Jackett.Indexers
|
|||
var message = new HttpRequestMessage();
|
||||
message.Method = HttpMethod.Get;
|
||||
message.RequestUri = new Uri(url);
|
||||
message.Headers.UserAgent.ParseAdd(ChromeUserAgent);
|
||||
message.Headers.UserAgent.ParseAdd(chromeUserAgent);
|
||||
return message;
|
||||
}
|
||||
|
||||
|
@ -160,7 +160,6 @@ namespace Jackett.Indexers
|
|||
release = new ReleaseInfo();
|
||||
long imdbid;
|
||||
long? size;
|
||||
int seeders, peers;
|
||||
|
||||
release.Title = qRow.Find("td.mainblockcontent b a").Text();
|
||||
release.Description = release.Title;
|
||||
|
@ -173,23 +172,21 @@ namespace Jackett.Indexers
|
|||
|
||||
release.MagnetUri = new Uri(DefaultUrl + "/" + qRow.Find("td.mainblockcontent").Get(3).FirstChild.GetAttribute("href"));
|
||||
|
||||
if (int.TryParse(qRow.Find("td").Get(9).FirstChild.FirstChild.InnerText, out seeders))
|
||||
release.Seeders = seeders;
|
||||
if (int.TryParse(qRow.Find("td").Get(10).FirstChild.FirstChild.InnerText, out peers))
|
||||
release.Peers = peers;
|
||||
release.Seeders = ParseUtil.TryCoerceInt(qRow.Find("td").Get(9).FirstChild.FirstChild.InnerText);
|
||||
release.Peers = ParseUtil.TryCoerceInt(qRow.Find("td").Get(10).FirstChild.FirstChild.InnerText);
|
||||
|
||||
string fullSize = qRow.Find("td.mainblockcontent").Get(6).InnerText;
|
||||
string[] sizeSplit = fullSize.Split(' ');
|
||||
switch (sizeSplit[1].ToLower())
|
||||
{
|
||||
case "kb":
|
||||
size = ReleaseInfo.BytesFromKB(float.Parse(sizeSplit[0], CultureInfo.InvariantCulture));
|
||||
size = ReleaseInfo.BytesFromKB(ParseUtil.CoerceFloat(sizeSplit[0]));
|
||||
break;
|
||||
case "mb":
|
||||
size = ReleaseInfo.BytesFromMB(float.Parse(sizeSplit[0], CultureInfo.InvariantCulture));
|
||||
size = ReleaseInfo.BytesFromMB(ParseUtil.CoerceFloat(sizeSplit[0]));
|
||||
break;
|
||||
case "gb":
|
||||
size = ReleaseInfo.BytesFromGB(float.Parse(sizeSplit[0], CultureInfo.InvariantCulture));
|
||||
size = ReleaseInfo.BytesFromGB(ParseUtil.CoerceFloat(sizeSplit[0]));
|
||||
break;
|
||||
default:
|
||||
size = null;
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace Jackett.Indexers
|
|||
|
||||
public bool IsConfigured { get; private set; }
|
||||
|
||||
static string chromeUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
|
||||
|
||||
static string BaseUrl = "https://iptorrents.com";
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace Jackett.Indexers
|
|||
const string SearchTVRageUrl = "/pubapi.php?mode=search&search_tvrage={0}&token={1}&format=json&min_seeders=1";
|
||||
const string SearchQueryUrl = "/pubapi.php?mode=search&search_string={0}&token={1}&format=json&min_seeders=1";
|
||||
|
||||
static string chromeUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
|
||||
|
||||
string BaseUrl;
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace Jackett.Indexers
|
|||
const string DefaultUrl = "http://showrss.info";
|
||||
const string searchAllUrl = DefaultUrl + "/feeds/all.rss";
|
||||
string BaseUrl;
|
||||
static string chromeUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
|
||||
|
||||
CookieContainer cookies;
|
||||
HttpClientHandler handler;
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace Jackett.Indexers
|
|||
const string LoginUrl = BaseUrl + "/tak3login.php";
|
||||
const string SearchUrl = BaseUrl + "/browse.php?search={0}&cata=yes&c2=1&c7=1&c14=1&c24=1&c26=1&c31=1&c32=1&c33=1";
|
||||
|
||||
const string chromeUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
|
||||
|
||||
CookieContainer cookies;
|
||||
HttpClientHandler handler;
|
||||
|
|
|
@ -35,7 +35,7 @@ namespace Jackett.Indexers
|
|||
const string DefaultUrl = "https://torrentz.eu";
|
||||
const string SearchUrl = DefaultUrl + "/feed_verifiedP?f={0}";
|
||||
string BaseUrl;
|
||||
static string chromeUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
|
||||
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
|
||||
|
||||
CookieContainer cookies;
|
||||
HttpClientHandler handler;
|
||||
|
|
|
@ -24,5 +24,27 @@ namespace Jackett
|
|||
return long.Parse(str, NumberStyles.Any, CultureInfo.InvariantCulture);
|
||||
}
|
||||
|
||||
|
||||
public static float TryCoerceFloat(string str)
|
||||
{
|
||||
float val;
|
||||
float.TryParse(str, NumberStyles.Any, CultureInfo.InvariantCulture, out val);
|
||||
return val;
|
||||
}
|
||||
|
||||
public static int TryCoerceInt(string str)
|
||||
{
|
||||
int val;
|
||||
int.TryParse(str, NumberStyles.Any, CultureInfo.InvariantCulture, out val);
|
||||
return val;
|
||||
}
|
||||
|
||||
public static long TryCoerceLong(string str)
|
||||
{
|
||||
long val;
|
||||
long.TryParse(str, NumberStyles.Any, CultureInfo.InvariantCulture, out val);
|
||||
return val;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Jackett
|
||||
{
|
||||
public class Security
|
||||
{
|
||||
public static string HashMD5(string value)
|
||||
{
|
||||
MD5 md5 = MD5.Create();
|
||||
byte[] inputBytes = Encoding.ASCII.GetBytes(value);
|
||||
byte[] hash = md5.ComputeHash(inputBytes);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < hash.Length; i++)
|
||||
{
|
||||
sb.Append(hash[i].ToString("X2"));
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
public static string Base64Encode(string plainText)
|
||||
{
|
||||
var plainTextBytes = Encoding.UTF8.GetBytes(plainText);
|
||||
return Convert.ToBase64String(plainTextBytes);
|
||||
}
|
||||
|
||||
public static string Base64Decode(string base64EncodedData)
|
||||
{
|
||||
var base64EncodedBytes = Convert.FromBase64String(base64EncodedData);
|
||||
return Encoding.UTF8.GetString(base64EncodedBytes);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue