diff --git a/config.ini b/config.ini index 421687f..a4a6db6 100755 --- a/config.ini +++ b/config.ini @@ -59,7 +59,7 @@ database.forceclean=true interval.poll.tracker=10 interval.poll.finished=5 -interval.poll.new=300 +interval.poll.new=86400 #Will send a webhook for every episode added #webhook.episode.added[]=https://test.com/your.hook?extra @@ -74,6 +74,8 @@ tracker.animebytes.auth.username= tracker.animebytes.auth.passkeyFile=keys/AnimeBytes.key tracker.animebytes.goldlist.trusted=true tracker.animebytes.trusted[HorribleSubs]=true +tracker.animebytes.trusted[SubsPlease]=true +tracker.animebytes.trusted[Erai-raws]=true #NyaaTorrents (OLD, DISABLED) tracker.nyaa.enable=false @@ -108,6 +110,10 @@ tracker.nyaasi.trusted[Chihiro]=true tracker.nyaasi.trusted[Tsundere]=true tracker.nyaasi.trusted[HorribleSubs]=true tracker.nyaasi.trusted[SallySubs]=true +tracker.nyaasi.trusted[Erai-raws]=true +tracker.nyaasi.trusted[SubsPlease]=true +tracker.nyaasi.unknown.source[Erai-raws]=WEB +tracker.nyaasi.unknown.source[SubsPlease]=WEB #AniDex.info tracker.anidex.enable=true @@ -127,6 +133,10 @@ tracker.anidex.trusted[Tsundere]=true tracker.anidex.trusted[HorribleSubs]=true tracker.anidex.trusted[SallySubs]=true tracker.anidex.unknown.source[HorribleSubs]=WEB +tracker.anidex.unknown.source[Erai-Raws]=WEB +tracker.anidex.unknown.source[SubsPlease]=WEB +tracker.anidex.trusted[Erai-raws]=true +tracker.anidex.trusted[SubsPlease]=true tracker.anidex.goldlist.trusted=true #HorribleSubs RSS feed with magnet links diff --git a/config/feeds/SubsPlease.ini b/config/feeds/SubsPlease.ini new file mode 100644 index 0000000..976af0a --- /dev/null +++ b/config/feeds/SubsPlease.ini @@ -0,0 +1,7 @@ +tracker.webfeed[SubsPlease]=https://subsplease.org/rss/?r=1080 +tracker.webfeed.SubsPlease.pagination=false +tracker.webfeed.SubsPlease.unknown.group=SubsPlease +tracker.webfeed.SubsPlease.trusted[SubsPlease]=true +tracker.webfeed.SubsPlease.unknown.source.default=WEB +tracker.webfeed.SubsPlease.unknown.quality.default=1080 +tracker.webfeed.SubsPlease.unknown.videoCodec.default=H264 diff --git a/config/groupsGoldlist.ini b/config/groupsGoldlist.ini index a9dc1ef..66c4868 100644 --- a/config/groupsGoldlist.ini +++ b/config/groupsGoldlist.ini @@ -75,3 +75,4 @@ filter.groups.goldlist[]=Kaitou filter.groups.goldlist[]=:v filter.groups.goldlist[]=ACSS filter.groups.goldlist[]=SCP-2223 +filter.groups.goldlist[]=SubsPlease diff --git a/config/webfeeds.ini b/config/webfeeds.ini index 0de3d85..a2a263e 100644 --- a/config/webfeeds.ini +++ b/config/webfeeds.ini @@ -1,4 +1,5 @@ +#include config/feeds/SubsPlease.ini #include config/feeds/GoodJobMedia.ini #include config/feeds/Commie.ini #include config/feeds/Asenshi.ini diff --git a/src/Animarr/Extractor/SceneExtractor.php b/src/Animarr/Extractor/SceneExtractor.php old mode 100755 new mode 100644 index ddcca68..d5f2917 --- a/src/Animarr/Extractor/SceneExtractor.php +++ b/src/Animarr/Extractor/SceneExtractor.php @@ -66,19 +66,20 @@ class SceneExtractor implements Extractor{ ]; $special_match = [ - "/^(?P.*)[{$split}][{$space}]*(?P<type>NC$specials)[{$space}]*[{$split}]?[{$space}]*(?P<number>[{$episode}]*)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", - "/^(?P<title>.*)[{$split}]?[{$space}]?(?P<type>NC$specials)[{$space}]*[{$split}]?[{$space}]*(?P<number>[{$episode}]*)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", - "/^(?P<title>.*)[{$split}][{$space}]*(?P<type>$specials)[{$space}]*[{$split}]?[{$space}]*(?P<number>[{$episode}]*)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", - "/^(?P<title>.*)[{$split}]?[{$space}]?(?P<type>$specials)[{$space}]*[{$split}]?[{$space}]*(?P<number>[{$episode}]*)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", - "/^(?P<title>.*)[{$split}][{$space}]*(?P<type>S)(?P<number>[{$episode}]+)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", + "/^(?P<title>.*)[{$split}]+[{$space}]*(?P<type>NC$specials)[{$space}]*[{$split}]?[{$space}]*(?P<number>[{$episode}]*)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", + "/^(?P<title>.*)([{$split}]+|[{$space}]+)(?P<type>NC$specials)[{$space}]*[{$split}]?[{$space}]*(?P<number>[{$episode}]*)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", + "/^(?P<title>.*)[{$split}]+[{$space}]*(?P<type>$specials)[{$space}]*[{$split}]?[{$space}]*(?P<number>[{$episode}]*)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", + "/^(?P<title>.*)([{$split}]+|[{$space}]+)(?P<type>$specials)[{$space}]*[{$split}]?[{$space}]*(?P<number>[{$episode}]*)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", + "/^(?P<title>.*)[{$split}]+[{$space}]*(?P<type>S)(?P<number>[{$episode}]+)[A-Za-z]?(?P<version>([v\\. ][0-9]|))$/u", ]; $name_match = ""; $tag_match = "/[{$id_start}](?P<tag>[{$tag}]+)[{$id_end}]/u"; - $base_match = [ + $base_match = [ + "/^[{$id_start}](?P<group>[{$tag}]+)[{$id_end}][{$split}]?(?P<name>[{$name}]+ (?P<name2>\\([{$name}]+\\))[{$name}]*)(?P<extra>.*)(?P<ext>(\\.[a-z0-9]{2,7}|))$/u", "/^[{$id_start}](?P<group>[{$tag}]+)[{$id_end}][{$split}]?(?P<name>[{$name}]+(\\(([0-9]{4}|Season [0-9]+|S[0-9]+|TV)\\)[{$name}]*|))(?P<extra>.*)(?P<ext>(\\.[a-z0-9]{2,7}|))$/u", - ]; + ]; if($deepMatch){ $episode_match[] = "/^(?P<title>.*)[{$space}]+(?P<number>[{$episode}]+)(?P<version>([v\\. ][0-9]|))(?P<ename>(([{$space}]+[{$split}][{$space}]+|[{$space}]+).*|))$/u"; @@ -99,7 +100,15 @@ class SceneExtractor implements Extractor{ foreach($base_match as $bmatch){ if(preg_match($bmatch, $releaseTitle, $matches) > 0){ $group = $matches["group"]; - $rname = trim(str_replace(str_split("$space"), " ", $matches["name"])); + if(isset($matches["name2"])){ + if(preg_match("#^\\(([0-9]{4}|Season [0-9]+|S[0-9]+|TV)\\)#", $matches["name2"])> 0){ + continue; + } + $rname = trim(str_replace(str_split("$space"), " ", str_replace($matches["name2"], "", $matches["name"]))); + }else{ + $rname = trim(str_replace(str_split("$space"), " ", $matches["name"])); + } + $tags = []; $ext = @ltrim(strtolower($matches["ext"]), "."); diff --git a/src/Animarr/Request.php b/src/Animarr/Request.php index 1c55b84..d9b658d 100644 --- a/src/Animarr/Request.php +++ b/src/Animarr/Request.php @@ -4,7 +4,7 @@ namespace Animarr; class Request{ - private static $USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"; + private static $USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"; private static $ch = []; private static $cookie = []; diff --git a/src/Animarr/Source/NyaaSi.php b/src/Animarr/Source/NyaaSi.php index 544412e..90348d9 100644 --- a/src/Animarr/Source/NyaaSi.php +++ b/src/Animarr/Source/NyaaSi.php @@ -70,6 +70,7 @@ class NyaaSi implements Source{ do{ $lastCount = count($results); + Request::setSocks5Proxy(Request::getHandleId($url), "127.0.0.1:9050"); $feed = Request::getURL($url/* . "&offset={$offset}"*/); //TODO: add offset later if($feed == ""){ break;