diff --git a/common/scripts/PrivateSitesGenerator.ts b/common/scripts/PrivateSitesGenerator.ts index 5d79bf9..1a45937 100644 --- a/common/scripts/PrivateSitesGenerator.ts +++ b/common/scripts/PrivateSitesGenerator.ts @@ -24,6 +24,12 @@ let code: string = await new Promise((resolve, reject) => { const ast = esprima.parseScript(code, { tolerant: true }); let privateSitesConfig: PrivateSiteConfig[] = []; +const sites = [ + "private_sites", + "chinese_sites", + "french_sites", + "german_sites", +]; estraverse.traverse(ast, { enter: function (node) { @@ -36,10 +42,10 @@ estraverse.traverse(ast, { continue; } if ( - declaration.id.name === "private_sites" && + sites.includes(declaration.id.name) && declaration.init.type === "ArrayExpression" ) { - privateSitesConfig = declaration.init.elements.map((element: any) => { + const sitesConfig = declaration.init.elements.map((element: any) => { if (element.type === "Literal") { return element.value; } else if (element.type === "ObjectExpression") { @@ -64,6 +70,7 @@ estraverse.traverse(ast, { return obj; } }); + privateSitesConfig = privateSitesConfig.concat(sitesConfig); return; } } @@ -83,6 +90,12 @@ if (privateSitesConfig) { [key: string]: boolean | string | RegExp | undefined | number; };\n\n`; + privateSitesConfig.sort((a, b) => { + if (a.name < b.name) return -1; + if (a.name > b.name) return 1; + return 0; + }); + for (const item of privateSitesConfig) { const itemName = item.name; let itemProps = ""; diff --git a/common/src/trackers/index.ts b/common/src/trackers/index.ts index bf19eab..7b5cccd 100644 --- a/common/src/trackers/index.ts +++ b/common/src/trackers/index.ts @@ -33,27 +33,39 @@ export const AB: PrivateTracker = { both: true, }; -export const Acervos: PrivateTracker = { - name: 'Acervos', - searchUrl: 'https://acervos.cc/torrents?imdbId=%nott%', - loggedOutRegex: /Cloudflare|Ray ID|Esqueceu sua senha|Service Unavailable/, - matchRegex: /torrent-listings-name/, - positiveMatch: true, - both: true, +export const ABN: PrivateTracker = { + name: 'ABN', + searchUrl: 'https://abn.lol/Torrent?UserId=&SelectedCats=2&SelectedCats=3&SelectedCats=4&YearOperator=≥&Year=&RatingOperator=≥&Rating=&SortOn=Created&SortOrder=desc&Search=%search_string_orig%+%year%', + loggedOutRegex: /Cloudflare|Ray ID|Mot de passe oublié/, + matchRegex: /Aucune donnée trouvée/, +}; + +export const ABN_TV: PrivateTracker = { + name: 'ABN', + searchUrl: 'https://abn.lol/Torrent?UserId=&SelectedCats=1&SelectedCats=3&SelectedCats=4&SelectedCats=9&YearOperator=≥&Year=&RatingOperator=≥&Rating=&SortOn=Created&SortOrder=desc&Search=%search_string_orig%', + loggedOutRegex: /Cloudflare|Ray ID|Mot de passe oublié/, + matchRegex: /Aucune donnée trouvée/, + TV: true, }; -export const Acervos_Req: PrivateTracker = { - name: 'Acervos-Req', - searchUrl: 'https://acervos.cc/requests?unfilled=1&tmdbId=%tmdbid%', - loggedOutRegex: /Cloudflare|Ray ID|Esqueceu sua senha|Service Unavailable/, - matchRegex: /fa-circle text-red/, - positiveMatch: true, - both: true, +export const ABN_Req: PrivateTracker = { + name: 'ABN-Req', + searchUrl: 'https://abn.lol/Request?SelectedCats=2&SelectedCats=3&SelectedCats=4&Filter=all&SortOn=Created&SortOrder=desc&Unfilled=true&Search=%search_string_orig%+%year%', + loggedOutRegex: /Cloudflare|Ray ID|Mot de passe oublié/, + matchRegex: /Aucune donnée trouvée/, +}; + +export const ABN_Req_TV: PrivateTracker = { + name: 'ABN-Req', + searchUrl: 'https://abn.lol/Request?SelectedCats=1&SelectedCats=3&SelectedCats=4&SelectedCats=9&Filter=all&SortOn=Created&SortOrder=desc&Unfilled=true&Search=%search_string_orig%', + loggedOutRegex: /Cloudflare|Ray ID|Mot de passe oublié/, + matchRegex: /Aucune donnée trouvée/, + TV: true, }; export const ACM: PrivateTracker = { name: 'ACM', - searchUrl: 'https://asiancinema.me/torrents/filter?imdb=%tt%', + searchUrl: 'https://eiga.moi/torrents/filter?imdb=%tt%', loggedOutRegex: /Forgot your password|Ray ID/, matchRegex: /
\s*<\/tbody>/, both: true, @@ -61,7 +73,7 @@ export const ACM: PrivateTracker = { export const ACM_Req: PrivateTracker = { name: 'ACM-Req', - searchUrl: 'https://asiancinema.me/requests?unfilled=1&tmdbId=%tmdbid%', + searchUrl: 'https://eiga.moi/requests?unfilled=1&tmdbId=%tmdbid%', loggedOutRegex: /Forgot your password|Ray ID/, matchRegex: /label-danger/, positiveMatch: true, @@ -71,7 +83,7 @@ export const ACM_Req: PrivateTracker = { export const ADC2: PrivateTracker = { name: 'ADC2', searchUrl: 'https://asiandvdclub.org/torrents/?searchbox=%tt%&search=Search', - loggedOutRegex: /Cloudflare|Ray ID|Forgot password/, + loggedOutRegex: /Cloudflare|Ray ID|Forgot password|title>Welcome/, matchRegex: /No torrents found/, both: true, }; @@ -84,24 +96,6 @@ export const AE: PrivateTracker = { both: true, }; -export const Aither: PrivateTracker = { - name: 'Aither', - searchUrl: 'https://aither.cc/torrents?imdbId=%nott%', - loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password/, - matchRegex: /torrent-search--list__overview/, - positiveMatch: true, - both: true, -}; - -export const Aither_Req: PrivateTracker = { - name: 'Aither-Req', - searchUrl: 'https://aither.cc/requests?unfilled=1&tmdbId=%tmdbid%', - loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password/, - matchRegex: /fa-circle text-red/, - positiveMatch: true, - both: true, -}; - export const ANT: PrivateTracker = { name: 'ANT', searchUrl: 'https://anthelion.me/torrents.php?searchstr=%tt%', @@ -139,23 +133,6 @@ export const AR_Req: PrivateTracker = { both: true, }; -export const ArabScene: PrivateTracker = { - name: 'ArabScene', - searchUrl: 'http://arabscene.me/browse.php?do=search&keywords=%search_string_orig%+%year%&search_type=t_name&category=0&include_dead_torrents=no', - loggedOutRegex: /Cloudflare|Ray ID/, - positiveMatch: true, - matchRegex: /\/dl.png/, -}; - -export const ArabScene_TV: PrivateTracker = { - name: 'ArabScene', - searchUrl: 'http://arabscene.me/browse.php?do=search&keywords=%search_string_orig%&search_type=t_name&category=0&include_dead_torrents=no', - loggedOutRegex: /Cloudflare|Ray ID/, - matchRegex: /\/dl.png/, - positiveMatch: true, - TV: true, -}; - export const ASC: PrivateTracker = { name: 'ASC', searchUrl: 'https://cliente.amigos-share.club/busca-filmes.php?search=&imdb=%tt%', @@ -197,71 +174,90 @@ export const AT_Req: PrivateTracker = { both: true, }; -export const AveTor: PrivateTracker = { - name: 'AveTor', - searchUrl: 'https://avetorrents.com/catalogue.php?cat=movies&tname=%search_string_orig%&year=%year%', - loggedOutRegex: /Cloudflare|Ray ID|Забравили сте си паролата/, - matchRegex: /Няма нищо намерено/, +export const Aither: PrivateTracker = { + name: 'Aither', + searchUrl: 'https://aither.cc/torrents?imdbId=%nott%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password/, + matchRegex: /torrent-search--list__overview/, + positiveMatch: true, both: true, }; -export const AySTor: PrivateTracker = { - name: 'AySTor', - searchUrl: 'http://aystorrent.ro/browse.php?search=%search_string_orig%+%year%&blah=0&cat=0&incldead=1', - loggedOutRegex: /Cloudflare|Ray ID|Recover Password/, - matchRegex: /Nothing found/, +export const Aither_Req: PrivateTracker = { + name: 'Aither-Req', + searchUrl: 'https://aither.cc/requests?unfilled=1&tmdbId=%tmdbid%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password/, + matchRegex: /fa-circle text-red/, + positiveMatch: true, + both: true, }; -export const Back_Ups: PrivateTracker = { - name: 'Back-Ups', - searchUrl: 'https://back-ups.me/browse.php', - loggedOutRegex: /Cloudflare|Ray ID|An error has occured/, - mPOST: 'do=search&keywords=%tt%&search_type=t_both&category=0&include_dead_torrents=yes', - matchRegex: /dl.png/, +export const AnimeWorld: PrivateTracker = { + name: 'AnimeWorld', + searchUrl: 'https://animeworld.cx/torrents?tmdbId=%tmdbid%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password|Passwort vergessen|Service Unavailable/, + matchRegex: /"Download">/, positiveMatch: true, both: true, }; -export const BB_HD: PrivateTracker = { - name: 'BB-HD', - searchUrl: 'https://bluebird-hd.org/browse.php?search=&incldead=0&cat=0&dsearch=%tt%&stype=or', - loggedOutRegex: /Восстановление пароля|Bad Gateway/, - matchRegex: /Nothing found|Ничего не найдено/, +export const AnimeWorld_Req: PrivateTracker = { + name: 'AnimeWorld-Req', + searchUrl: 'https://animeworld.cx/requests?unfilled=1&tmdbId=%tmdbid%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password|Passwort vergessen|Service Unavailable/, + matchRegex: /label-danger/, + positiveMatch: true, both: true, }; -export const BDC: PrivateTracker = { - name: 'BDC', - searchUrl: 'https://broadcity.in/browse.php?do=search&search_type=t_genre&keywords=%tt%', - loggedOutRegex: /Recover Password|Şifre Sıfırlama|BunnyGuard|CloudBunny|>Fatal Error, - matchRegex: /dl.png/, +export const ArabP2P: PrivateTracker = { + name: 'ArabP2P', + searchUrl: 'https://www.arabp2p.net/index.php?page=torrents&search=%tmdb_orig_title%&category=0&active=0&search_type=exact', + loggedOutRegex: /Cloudflare|Ray ID|signup/, + matchRegex: /torFilename/, positiveMatch: true, both: true, }; -export const BDC_Req: PrivateTracker = { - name: 'BDC-Req', - searchUrl: 'https://broadcity.in/viewrequests.php?do=search_request', - mPOST: 'do=search_request&keywords=%tt%', - loggedOutRegex: /Recover Password|Şifre Sıfırlama|BunnyGuard|CloudBunny|>Fatal Error, - matchRegex: /report2.gif/, +export const ArabScene: PrivateTracker = { + name: 'ArabScene', + searchUrl: 'http://arabscene.me/browse.php?do=search&keywords=%search_string_orig%+%year%&search_type=t_name&category=0&include_dead_torrents=no', + loggedOutRegex: /Cloudflare|Ray ID/, + positiveMatch: true, + matchRegex: /\/dl.png/, +}; + +export const ArabScene_TV: PrivateTracker = { + name: 'ArabScene', + searchUrl: 'http://arabscene.me/browse.php?do=search&keywords=%search_string_orig%&search_type=t_name&category=0&include_dead_torrents=no', + loggedOutRegex: /Cloudflare|Ray ID/, + matchRegex: /\/dl.png/, positiveMatch: true, + TV: true, +}; + +export const Audiences: PrivateTracker = { + name: 'Audiences', + searchUrl: 'https://audiences.me/torrents.php?incldead=0&spstate=0&inclbookmarked=0&search=%tt%&search_area=4&search_mode=0', + loggedOutRegex: /Cloudflare|Ray ID|SSL \(HTTPS\)/, + matchRegex: /Nothing found|没有种子|沒有種子/, both: true, }; -export const BestCore: PrivateTracker = { - name: 'BestCore', - searchUrl: 'https://best-core.info/browse.php?search=%search_string_orig%+%year%&c73=1&c70=1&c80=1&c81=1&c83=1&c77=1&c86=1&c76=1&c75=1&c74=1&c25=1&c24=1&c85=1&c21=1&c53=1&c20=1&c34=1&c90=1&c89=1&c82=1&incldead=1', - loggedOutRegex: /Cloudflare|Ray ID|Probléma esetén írj nekünk/, - matchRegex: /Nem találtam semmit|cat_music_eng.png/, +export const AveTor: PrivateTracker = { + name: 'AveTor', + searchUrl: 'https://avetorrents.com/catalogue.php?cat=movies&tname=%search_string_orig%&year=%year%', + loggedOutRegex: /Cloudflare|Ray ID|Забравили сте си паролата/, + matchRegex: /Няма нищо намерено/, + both: true, }; -export const BestCore_TV: PrivateTracker = { - name: 'BestCore', - searchUrl: 'https://best-core.info/browse.php?search=%search_string_orig%&c54=1&c55=1&c58=1&c7=1&incldead=0', - loggedOutRegex: /Cloudflare|Ray ID|Probléma esetén írj nekünk/, - matchRegex: /Nem találtam semmit|cat_music_eng.png/, - TV: true, +export const BB_HD: PrivateTracker = { + name: 'BB-HD', + searchUrl: 'https://bluebird-hd.org/browse.php?search=&incldead=0&cat=0&dsearch=%tt%&stype=or', + loggedOutRegex: /Восстановление пароля|Bad Gateway/, + matchRegex: /Nothing found|Ничего не найдено/, + both: true, }; export const BHD: PrivateTracker = { @@ -282,44 +278,6 @@ export const BHD_Req: PrivateTracker = { both: true, }; -export const BigBBS: PrivateTracker = { - name: 'BigBBS', - searchUrl: 'http://bigbbs.eu/?p=torrents&pid=10&keywords=%search_string_orig%&search_type=name', - loggedOutRegex: /Cloudflare|Ray ID|Odzyskaj hasło|zmienić hasło|change your password/, - matchRegex: /download.png/, - positiveMatch: true, -}; - -export const BitHD: PrivateTracker = { - name: 'BitHD', - searchUrl: 'https://www.bit-hdtv.com/torrents.php?search=%tt%&options=4', - loggedOutRegex: /Forgot your password/, - matchRegex: /No match!/, -}; - -export const Bithorlo: PrivateTracker = { - name: 'Bithorlo', - searchUrl: 'https://www.bithorlo.info/browse.php?c51=1&c50=1&c2=1&c1=1&c42=1&c41=1&c29=1&c28=1&c4=1&c3=1&search=%search_string_orig%+%year%&incldead=1', - loggedOutRegex: /Cloudflare|Ray ID|>Bejelentkezés, - matchRegex: /Nem található semmi/, -}; - -export const Bithorlo_TV: PrivateTracker = { - name: 'Bithorlo', - searchUrl: 'https://www.bithorlo.info/browse.php?c33=1&c52=1&c5=1&c53=1&search=%search_string_orig%&incldead=1', - loggedOutRegex: /Cloudflare|Ray ID|>Bejelentkezés, - matchRegex: /Nem található semmi/, - TV: true, -}; - -export const BitHUmen: PrivateTracker = { - name: 'BitHUmen', - searchUrl: 'https://bithumen.be/browse.php?genre=0&search=%tt%', - loggedOutRegex: /Cloudflare|Ray ID|Nem vagy bejelentkezve/, - matchRegex: /Nincs aktív torrent|Nincs találat/, - both: true, -}; - export const BJS: PrivateTracker = { name: 'BJS', searchUrl: 'https://bj-share.info/torrents.php?searchstr=%tt%', @@ -328,33 +286,6 @@ export const BJS: PrivateTracker = { both: true, }; -export const Blu: PrivateTracker = { - name: 'Blu', - searchUrl: 'https://blutopia.cc/torrents?imdbId=%nott%', - loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password|Service Unavailable/, - matchRegex: /torrent-search--list__overview/, - positiveMatch: true, - both: true, -}; - -export const Blu_TMDb: PrivateTracker = { - name: 'Blu-TMDb', - searchUrl: 'https://blutopia.cc/torrents?tmdbId=%tmdbid%', - loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password|Service Unavailable/, - matchRegex: /torrent-search--list__overview/, - positiveMatch: true, - both: true, -}; - -export const Blu_Req: PrivateTracker = { - name: 'Blu-Req', - searchUrl: 'https://blutopia.cc/requests?unfilled=1&tmdbId=%tmdbid%', - loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password|Service Unavailable/, - matchRegex: /fa-circle text-red/, - positiveMatch: true, - both: true, -}; - export const BRT: PrivateTracker = { name: 'BRT', searchUrl: 'https://brasiltracker.org/torrents.php?searchstr=%tt%', @@ -371,6 +302,25 @@ export const BRT_Req: PrivateTracker = { both: true, }; +export const BT4G: PrivateTracker = { + name: 'BT4G', + searchUrl: 'https://bt4g.org/search/%search_string_orig% %year%', + loggedOutRegex: /Cloudflare|Ray ID/, + ignore404: true, + spaceEncode: ' ', + matchRegex: /did not match any/, +}; + +export const BT4G_TV: PrivateTracker = { + name: 'BT4G', + searchUrl: 'https://bt4g.org/search/%search_string_orig%', + loggedOutRegex: /Cloudflare|Ray ID/, + ignore404: true, + spaceEncode: ' ', + matchRegex: /did not match any/, + TV: true, +}; + export const BTArg: PrivateTracker = { name: 'BTArg', searchUrl: 'https://www.btarg.com.ar/tracker/browse.php?list=1&type=2&incldead=1&inclfree=0&cat=0102030405060b&keywords=%tt%&page=0', @@ -380,6 +330,14 @@ export const BTArg: PrivateTracker = { both: true, }; +export const BTF: PrivateTracker = { + name: 'BTF', + searchUrl: 'https://bittorrentfiles.me/browse.php?search=%tt%&search_where=4', + loggedOutRegex: /Cloudflare|Ray ID|Server nicht zur Verfügung/, + matchRegex: /keine Torrents/, + both: true, +}; + export const BTN_TV: PrivateTracker = { name: 'BTN', searchUrl: 'https://broadcasthe.net/torrents.php?imdb=%tt%', @@ -389,11 +347,19 @@ export const BTN_TV: PrivateTracker = { TV: true, }; -export const BTN_Title_TV: PrivateTracker = { - name: 'BTN-Title', - searchUrl: 'https://broadcasthe.net/torrents.php?action=basic&searchstr=%search_string_orig%', +export const BTN_IMDb_Req_TV: PrivateTracker = { + name: 'BTN-IMDb-Req', + searchUrl: 'https://broadcasthe.net/torrents.php?imdb=%tt%', loggedOutRegex: /Lost your password\?/, - matchRegex: /No search results/, + matchRegex: /Error 404|Nothing found/, + TV: true, +}; + +export const BTN_Req_TV: PrivateTracker = { + name: 'BTN-Req', + searchUrl: 'https://broadcasthe.net/requests.php?search=%search_string%', + loggedOutRegex: /Lost your password\?/, + matchRegex: /Nothing found/, TV: true, }; @@ -406,19 +372,11 @@ export const BTN_TVDb_TV: PrivateTracker = { TV: true, }; -export const BTN_Req_TV: PrivateTracker = { - name: 'BTN-Req', - searchUrl: 'https://broadcasthe.net/requests.php?search=%search_string%', - loggedOutRegex: /Lost your password\?/, - matchRegex: /Nothing found/, - TV: true, -}; - -export const BTN_IMDb_Req_TV: PrivateTracker = { - name: 'BTN-IMDb-Req', - searchUrl: 'https://broadcasthe.net/torrents.php?imdb=%tt%', +export const BTN_Title_TV: PrivateTracker = { + name: 'BTN-Title', + searchUrl: 'https://broadcasthe.net/torrents.php?action=basic&searchstr=%search_string_orig%', loggedOutRegex: /Lost your password\?/, - matchRegex: /Error 404|Nothing found/, + matchRegex: /No search results/, TV: true, }; @@ -439,29 +397,102 @@ export const BWT_Req: PrivateTracker = { both: true, }; -export const CaCh: PrivateTracker = { - name: 'CaCh', - searchUrl: 'http://www.cartoonchaos.org/index.php?page=torrents&search=%search_string%&category=0&options=0&active=0', - loggedOutRegex: /not authorized to view the Torrents/, - matchRegex: />Av.<\/td>\s*<\/tr>\s*<\/table>/, - both: true, -}; - -export const CCT: PrivateTracker = { - name: 'CCT', - searchUrl: 'https://concertos.live/torrents?imdb=%nott%', - loggedOutRegex: /Forgot Your Password/, - matchRegex: /ago/, +export const Back_Ups: PrivateTracker = { + name: 'Back-Ups', + searchUrl: 'https://back-ups.me/browse.php', + loggedOutRegex: /Cloudflare|Ray ID|An error has occured/, + mPOST: 'do=search&keywords=%tt%&search_type=t_both&category=0&include_dead_torrents=yes', + matchRegex: /dl.png/, positiveMatch: true, both: true, }; -export const CBT: PrivateTracker = { - name: 'CBT', - searchUrl: 'https://chilebt.com/filterTorrents?imdb=%nott%', - loggedOutRegex: /Cloudflare|Ray ID|Olvidaste tu contraseña/, - matchRegex: /\s*<\/tbody>/, - both: true, +export const BestCore: PrivateTracker = { + name: 'BestCore', + searchUrl: 'https://best-core.info/browse.php?search=%search_string_orig%+%year%&c73=1&c70=1&c80=1&c81=1&c83=1&c77=1&c86=1&c76=1&c75=1&c74=1&c25=1&c24=1&c85=1&c21=1&c53=1&c20=1&c34=1&c90=1&c89=1&c82=1&incldead=1', + loggedOutRegex: /Cloudflare|Ray ID|Probléma esetén írj nekünk/, + matchRegex: /Nem találtam semmit|cat_music_eng.png/, +}; + +export const BestCore_TV: PrivateTracker = { + name: 'BestCore', + searchUrl: 'https://best-core.info/browse.php?search=%search_string_orig%&c54=1&c55=1&c58=1&c7=1&incldead=0', + loggedOutRegex: /Cloudflare|Ray ID|Probléma esetén írj nekünk/, + matchRegex: /Nem találtam semmit|cat_music_eng.png/, + TV: true, +}; + +export const BigBBS: PrivateTracker = { + name: 'BigBBS', + searchUrl: 'http://bigbbs.eu/?p=torrents&pid=10&keywords=%search_string_orig%&search_type=name', + loggedOutRegex: /Cloudflare|Ray ID|Odzyskaj hasło|zmienić hasło|change your password/, + matchRegex: /download.png/, + positiveMatch: true, +}; + +export const BitHD: PrivateTracker = { + name: 'BitHD', + searchUrl: 'https://www.bit-hdtv.com/torrents.php?search=%tt%&options=4', + loggedOutRegex: /Forgot your password/, + matchRegex: /No match!/, +}; + +export const BitHUmen: PrivateTracker = { + name: 'BitHUmen', + searchUrl: 'https://bithumen.be/browse.php?genre=0&search=%tt%', + loggedOutRegex: /Cloudflare|Ray ID|Nem vagy bejelentkezve/, + matchRegex: /Nincs aktív torrent|Nincs találat/, + both: true, +}; + +export const Bithorlo: PrivateTracker = { + name: 'Bithorlo', + searchUrl: 'https://www.bithorlo.info/browse.php?c51=1&c50=1&c2=1&c1=1&c42=1&c41=1&c29=1&c28=1&c4=1&c3=1&search=%search_string_orig%+%year%&incldead=1', + loggedOutRegex: /Cloudflare|Ray ID|>Bejelentkezés, + matchRegex: /Nem található semmi/, +}; + +export const Bithorlo_TV: PrivateTracker = { + name: 'Bithorlo', + searchUrl: 'https://www.bithorlo.info/browse.php?c33=1&c52=1&c5=1&c53=1&search=%search_string_orig%&incldead=1', + loggedOutRegex: /Cloudflare|Ray ID|>Bejelentkezés, + matchRegex: /Nem található semmi/, + TV: true, +}; + +export const Blu: PrivateTracker = { + name: 'Blu', + searchUrl: 'https://blutopia.cc/torrents?imdbId=%nott%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password|Service Unavailable/, + matchRegex: /torrent-search--list__overview/, + positiveMatch: true, + both: true, +}; + +export const Blu_Req: PrivateTracker = { + name: 'Blu-Req', + searchUrl: 'https://blutopia.cc/requests?unfilled=1&tmdbId=%tmdbid%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password|Service Unavailable/, + matchRegex: /fa-circle text-red/, + positiveMatch: true, + both: true, +}; + +export const Blu_TMDb: PrivateTracker = { + name: 'Blu-TMDb', + searchUrl: 'https://blutopia.cc/torrents?tmdbId=%tmdbid%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password|Service Unavailable/, + matchRegex: /torrent-search--list__overview/, + positiveMatch: true, + both: true, +}; + +export const CBT: PrivateTracker = { + name: 'CBT', + searchUrl: 'https://chilebt.com/filterTorrents?imdb=%nott%', + loggedOutRegex: /Cloudflare|Ray ID|Olvidaste tu contraseña/, + matchRegex: /\s*<\/tbody>/, + both: true, }; export const CBT_Req: PrivateTracker = { @@ -472,6 +503,15 @@ export const CBT_Req: PrivateTracker = { both: true, }; +export const CCT: PrivateTracker = { + name: 'CCT', + searchUrl: 'https://concertos.live/torrents?imdb=%nott%', + loggedOutRegex: /Forgot Your Password/, + matchRegex: /ago/, + positiveMatch: true, + both: true, +}; + export const CG: PrivateTracker = { name: 'CG', searchUrl: 'https://cinemageddon.net/browse.php?search=%tt%', @@ -479,6 +519,13 @@ export const CG: PrivateTracker = { matchRegex: /Nothing found!/, }; +export const CG_Req: PrivateTracker = { + name: 'CG-Req', + searchUrl: 'https://cinemageddon.net/viewrequests.php?filled=no&searchwhat=imdb&search=%tt%', + loggedOutRegex: /Ray ID|Not logged in!|Requests are offline/, + matchRegex: /Nothing found./, +}; + export const CG_c: PrivateTracker = { name: 'CG-c', searchUrl: 'https://cinemageddon.net/cocks/endoscope.php?what=imdb&q=%tt%', @@ -486,11 +533,89 @@ export const CG_c: PrivateTracker = { matchRegex: /Nothing found!/, }; -export const CG_Req: PrivateTracker = { - name: 'CG-Req', - searchUrl: 'https://cinemageddon.net/viewrequests.php?filled=no&searchwhat=imdb&search=%tt%', - loggedOutRegex: /Ray ID|Not logged in!|Requests are offline/, - matchRegex: /Nothing found./, +export const CHD: PrivateTracker = { + name: 'CHD', + searchUrl: 'https://chdbits.co/torrents.php?incldead=0&spstate=0&inclbookmarked=0&search_area=4&search_mode=0&search=%tt%', + loggedOutRegex: /Cloudflare|Ray ID|SSL \(HTTPS\)/, + matchRegex: /Nothing found|没有种子|沒有種子/, +}; + +export const CMS: PrivateTracker = { + name: 'CMS', + searchUrl: 'https://cinemamovies.pl/browse.php?incldead=1&blah=1&gatunek=0&quality=none&search=%tt%', + loggedOutRegex: /Cloudflare|Ray ID|Zapomniałeś hasła/, + matchRegex: /was not found|nie został odnaleziony/, + both: true, +}; + +export const CRT: PrivateTracker = { + name: 'CRT', + searchUrl: 'https://www.cathode-ray.tube/torrents.php?searchtext=%tt%', + loggedOutRegex: /Cloudflare|Ray ID|insufficient privileges|forgotten password/, + matchRegex: /did not match anything/, + both: true, +}; + +export const CRT_Req: PrivateTracker = { + name: 'CRT-Req', + searchUrl: 'https://www.cathode-ray.tube/requests.php?search=%search_string%+%year%', + loggedOutRegex: /Cloudflare|Ray ID|insufficient privileges|forgotten password/, + matchRegex: /No requests/, + both: true, +}; + +export const CZ: PrivateTracker = { + name: 'CZ', + searchUrl: 'https://cinemaz.to/movies?search=&imdb=%tt%', + configName: 'ET', + loggedOutRegex: /Forgot Your Password/, + matchRegex: /class="overlay-container"|class="movie-poster/, + positiveMatch: true, +}; + +export const CZ_TV: PrivateTracker = { + name: 'CZ', + searchUrl: 'https://cinemaz.to/tv-shows?search=&imdb=%tt%', + configName: 'ET', + loggedOutRegex: /Forgot Your Password/, + matchRegex: /class="overlay-container"|class="movie-poster/, + positiveMatch: true, + TV: true, +}; + +export const CZ_Req: PrivateTracker = { + name: 'CZ-Req', + searchUrl: 'https://cinemaz.to/requests?search=%search_string_orig%&condition=new', + loggedOutRegex: /Forgot Your Password/, + matchRegex: /Request Not Fulfilled/, + positiveMatch: true, + both: true, +}; + +export const CapybaraBR: PrivateTracker = { + name: 'CapybaraBR', + searchUrl: 'https://capybarabr.com/torrents?imdbId=%nott%', + loggedOutRegex: /Cloudflare|Ray ID|Esqueceu sua senha|Service Unavailable/, + matchRegex: /torrent-search--list__overview/, + positiveMatch: true, + both: true, +}; + +export const CapybaraBR_Req: PrivateTracker = { + name: 'CapybaraBR-Req', + searchUrl: 'https://capybarabr.com/requests?unfilled=1&tmdbId=%tmdbid%', + loggedOutRegex: /Cloudflare|Ray ID|Esqueceu sua senha|Service Unavailable/, + matchRegex: /fa-circle text-red/, + positiveMatch: true, + both: true, +}; + +export const CarPT: PrivateTracker = { + name: 'CarPT', + searchUrl: 'https://carpt.net/torrents.php?incldead=0&spstate=0&inclbookmarked=0&search=%tt%&search_area=4&search_mode=0', + loggedOutRegex: /Cloudflare|Ray ID|SSL \(HTTPS\)/, + matchRegex: /Nothing found|没有种子|沒有種子/, + both: true, }; export const Classix: PrivateTracker = { @@ -517,12 +642,21 @@ export const Classix_Req: PrivateTracker = { both: true, }; -export const CMS: PrivateTracker = { - name: 'CMS', - searchUrl: 'https://cinemamovies.pl/browse.php?incldead=1&blah=1&gatunek=0&quality=none&search=%tt%', - loggedOutRegex: /Cloudflare|Ray ID|Zapomniałeś hasła/, - matchRegex: /was not found|nie został odnaleziony/, - both: true, +export const Cpasbien: PrivateTracker = { + name: 'Cpasbien', + searchUrl: 'https://cpasbien.tw/search_torrent/films/%search_string_orig%.html', + loggedOutRegex: /Cloudflare|Ray ID/, + matchRegex: />0 torrents/, + spaceEncode: ' ', +}; + +export const Cpasbien_TV: PrivateTracker = { + name: 'Cpasbien', + searchUrl: 'https://cpasbien.tw/search_torrent/series/%search_string_orig%.html', + loggedOutRegex: /Cloudflare|Ray ID/, + matchRegex: />0 torrents/, + spaceEncode: ' ', + TV: true, }; export const CrazyHD: PrivateTracker = { @@ -568,90 +702,6 @@ export const Crna_Berza_Req: PrivateTracker = { both: true, }; -export const CRT: PrivateTracker = { - name: 'CRT', - searchUrl: 'https://www.cathode-ray.tube/torrents.php?searchtext=%tt%', - loggedOutRegex: /Cloudflare|Ray ID|insufficient privileges|forgotten password/, - matchRegex: /did not match anything/, - both: true, -}; - -export const CRT_Req: PrivateTracker = { - name: 'CRT-Req', - searchUrl: 'https://www.cathode-ray.tube/requests.php?search=%search_string%+%year%', - loggedOutRegex: /Cloudflare|Ray ID|insufficient privileges|forgotten password/, - matchRegex: /No requests/, - both: true, -}; - -export const CT: PrivateTracker = { - name: 'CT', - searchUrl: 'https://central-torrent.eu/browse.php?search=%search_string_orig%+%year%', - loggedOutRegex: /Cloudflare|Ray ID|inputlogowanie/, - matchRegex: /Nic tutaj nie ma/, -}; - -export const CZ: PrivateTracker = { - name: 'CZ', - searchUrl: 'https://cinemaz.to/movies?search=&imdb=%tt%', - configName: 'ET', - loggedOutRegex: /Forgot Your Password/, - matchRegex: /class="overlay-container"|class="movie-poster/, - positiveMatch: true, -}; - -export const CZ_TV: PrivateTracker = { - name: 'CZ', - searchUrl: 'https://cinemaz.to/tv-shows?search=&imdb=%tt%', - configName: 'ET', - loggedOutRegex: /Forgot Your Password/, - matchRegex: /class="overlay-container"|class="movie-poster/, - positiveMatch: true, - TV: true, -}; - -export const CZ_Req: PrivateTracker = { - name: 'CZ-Req', - searchUrl: 'https://cinemaz.to/requests?search=%search_string_orig%&condition=new', - loggedOutRegex: /Forgot Your Password/, - matchRegex: /Request Not Fulfilled/, - positiveMatch: true, - both: true, -}; - -export const Darius: PrivateTracker = { - name: 'Darius', - searchUrl: 'https://dariustracker.hu/browse.php?viewMode=&c86=1&c85=1&c19=1&c17=1&c62=1&c82=1&c83=1&c48=1&c34=1&c16=1&c15=1&c64=1&c70=1&c68=1&c69=1&search=%search_string_orig%+%year%&incldead=0', - loggedOutRegex: /Cloudflare|Ray ID|Elfelejtetted a jelszavad/, - matchRegex: /feltételekkel nincs találat/, -}; - -export const Darius_TV: PrivateTracker = { - name: 'Darius', - searchUrl: 'https://dariustracker.hu/browse.php?viewMode=&c58=1&c22=1&search=%search_string_orig%&incldead=0', - loggedOutRegex: /Cloudflare|Ray ID|Elfelejtetted a jelszavad/, - matchRegex: /feltételekkel nincs találat/, - TV: true, -}; - -export const DataScene: PrivateTracker = { - name: 'DataScene', - searchUrl: 'https://datascene.xyz/torrents?imdbId=%nott%', - loggedOutRegex: /Cloudflare|Ray ID|Remember Me/, - matchRegex: /torrent-listings-name/, - positiveMatch: true, - both: true, -}; - -export const DataScene_Req: PrivateTracker = { - name: 'DataScene-Req', - searchUrl: 'https://datascene.xyz/requests?unfilled=1&imdbId=%nott%', - loggedOutRegex: /Cloudflare|Ray ID|Remember Me/, - matchRegex: /fa-circle text-red/, - positiveMatch: true, - both: true, -}; - export const DBy: PrivateTracker = { name: 'DBy', searchUrl: 'https://danishbytes.club/torrents/filter?imdb=%tt%', @@ -691,10 +741,43 @@ export const DC_TV: PrivateTracker = { TV: true, }; +export const DDLW: PrivateTracker = { + name: 'DDLW', + searchUrl: 'https://ddl-warez.cc/?s=%tt%', + loggedOutRegex: /Cloudflare|Ray ID/, + matchRegex: /Keine Treffer/, + both: true, +}; + +export const DVDSeed: PrivateTracker = { + name: 'DVDSeed', + searchUrl: 'https://www.dvdseed.eu/browse2.php?search=%tt%&wheresearch=2&incldead=1&polish=0&nuke=0&rodzaj=0', + loggedOutRegex: /Nie masz konta|Nie zalogowany!/, + matchRegex: /Nic tutaj nie ma!/, +}; + +export const DataScene: PrivateTracker = { + name: 'DataScene', + searchUrl: 'https://datascene.xyz/torrents?imdbId=%nott%', + loggedOutRegex: /Cloudflare|Ray ID|Remember Me/, + matchRegex: /torrent-search--list__overview/, + positiveMatch: true, + both: true, +}; + +export const DataScene_Req: PrivateTracker = { + name: 'DataScene-Req', + searchUrl: 'https://datascene.xyz/requests?unfilled=1&imdbId=%nott%', + loggedOutRegex: /Cloudflare|Ray ID|Remember Me/, + matchRegex: /fa-circle text-red/, + positiveMatch: true, + both: true, +}; + export const DesiTor: PrivateTracker = { name: 'DesiTor', - searchUrl: 'https://desitorrents.rocks/torrents?imdbId=%nott%', - loggedOutRegex: /Cloudflare|Ray ID|Remember Me/, + searchUrl: 'https://torrent.desi/torrents?imdbId=%nott%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your|Remember Me/, matchRegex: /torrent-listings-name/, positiveMatch: true, both: true, @@ -702,8 +785,8 @@ export const DesiTor: PrivateTracker = { export const DesiTor_Req: PrivateTracker = { name: 'DesiTor-Req', - searchUrl: 'https://desitorrents.rocks/requests?unfilled=1&imdbId=%nott%', - loggedOutRegex: /Cloudflare|Ray ID|Remember Me/, + searchUrl: 'https://torrent.desi/requests?unfilled=1&imdbId=%nott%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your|Remember Me/, matchRegex: /fa-circle text-red/, positiveMatch: true, both: true, @@ -717,11 +800,12 @@ export const DiabloTor: PrivateTracker = { both: true, }; -export const DVDSeed: PrivateTracker = { - name: 'DVDSeed', - searchUrl: 'https://www.dvdseed.eu/browse2.php?search=%tt%&wheresearch=2&incldead=1&polish=0&nuke=0&rodzaj=0', - loggedOutRegex: /Nie masz konta|Nie zalogowany!/, - matchRegex: /Nic tutaj nie ma!/, +export const DokuJunkies: PrivateTracker = { + name: 'DokuJunkies', + searchUrl: 'https://dokujunkies.org/serie/search?q=%search_string_orig%', + loggedOutRegex: /Seite nicht gefunden/, + matchRegex: / <\/td>/, -}; - export const FZ: PrivateTracker = { name: 'FZ', searchUrl: 'https://www.fuzer.me/browse.php?ref_=basic&query=%tt%', @@ -863,11 +930,63 @@ export const FZN: PrivateTracker = { both: true, }; -export const GayTor: PrivateTracker = { - name: 'GayTor', - searchUrl: 'https://gay-torrents.org/torrents_beta.php?search=%search_string_orig%', - loggedOutRegex: /Cloudflare|Ray ID|not authorized/, - matchRegex: /No torrents here/, +export const FearNoPeer: PrivateTracker = { + name: 'FearNoPeer', + searchUrl: 'https://fearnopeer.com/torrents?imdbId=%nott%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password/, + matchRegex: /torrent-search--list__overview/, + positiveMatch: true, + both: true, +}; + +export const FearNoPeer_Req: PrivateTracker = { + name: 'FearNoPeer-Req', + searchUrl: 'https://fearnopeer.com/requests?unfilled=1&tmdbId=%tmdbid%', + loggedOutRegex: /Cloudflare|Ray ID|Forgot Your Password/, + matchRegex: /fa-circle text-red/, + positiveMatch: true, + both: true, +}; + +export const FilmFans: PrivateTracker = { + name: 'FilmFans', + searchUrl: 'https://filmfans.org/api/v2/search?q=%tt%', + goToUrl: 'https://filmfans.org/', + loggedOutRegex: /Cannot GET/, + matchRegex: /"result":\[\]/, +}; + +export const FinVip: PrivateTracker = { + name: 'FinVip', + searchUrl: 'https://finvip.org/index.php?page=torrents&search=%tt%&options=1', + loggedOutRegex: /Sinulla ei ole oikeuksia sivulle/, + matchRegex: /