Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Find Unique Titles/config/userscript.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export const UserScriptConfig: IWebpackUserScript = {
"https://btarg.com.ar/tracker/browse.php*",
"https://js.chddiy.xyz/torrents.php*",
"https://ptchdbits.co/torrents.php*",
"https://discfan.net/torrents.php*",
"https://cinemageddon.net/browse.php*",
"https://www.cinematik.net/browse.php*",
"https://cinemaz.to/movies*",
Expand Down
175 changes: 109 additions & 66 deletions Find Unique Titles/dist/find.unique.titles.user.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
// @match https://btarg.com.ar/tracker/browse.php*
// @match https://js.chddiy.xyz/torrents.php*
// @match https://ptchdbits.co/torrents.php*
// @match https://discfan.net/torrents.php*
// @match https://cinemageddon.net/browse.php*
// @match https://www.cinematik.net/browse.php*
// @match https://cinemaz.to/movies*
Expand Down Expand Up @@ -863,6 +864,64 @@
}
}
},
"./src/trackers/DiscFan.ts": (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.d(__webpack_exports__, {
default: () => DiscFan
});
var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/utils/utils.ts");
var _tracker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/trackers/tracker.ts");
var common_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../common/dist/dom/index.mjs");
var common_http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../common/dist/http/index.mjs");
class DiscFan extends _tracker__WEBPACK_IMPORTED_MODULE_0__.AbstractTracker {
canBeUsedAsSource() {
return true;
}
canBeUsedAsTarget() {
return false;
}
canRun(url) {
return url.includes("https://discfan.net");
}
async* getSearchRequest() {
let elements = Array.from(document.querySelectorAll(".torrents")[0].children[0].children).filter((element => element.querySelector(".torrentname")));
yield {
total: elements.length
};
for (const element of elements) {
const link = element.querySelector('a[href*="details.php?id"]');
if (!link) continue;
let response = await (0, common_http__WEBPACK_IMPORTED_MODULE_1__.fetchAndParseHtml)(link.href);
const imdbId = (0, _utils_utils__WEBPACK_IMPORTED_MODULE_2__.parseImdbIdFromLink)(response);
const size = (0, _utils_utils__WEBPACK_IMPORTED_MODULE_2__.parseSize)(element.children[4]?.textContent);
const fullTitle = element.querySelector(".torrentname a")?.textContent;
const {title, year} = (0, _utils_utils__WEBPACK_IMPORTED_MODULE_2__.parseYearAndTitle)(fullTitle);
const request = {
torrents: [ {
size,
tags: (0, _utils_utils__WEBPACK_IMPORTED_MODULE_2__.parseTags)(fullTitle),
resolution: (0, _utils_utils__WEBPACK_IMPORTED_MODULE_2__.parseResolution)(fullTitle),
dom: element
} ],
dom: [ element ],
imdbId,
title,
year
};
yield request;
}
}
name() {
return "DiscFan";
}
async search(request) {
return _tracker__WEBPACK_IMPORTED_MODULE_0__.SearchResult.NOT_CHECKED;
}
insertTrackersSelect(select) {
const element = document.querySelector(".searchbox")?.children[2].querySelector("td td.rowfollow tr");
if (element) (0, common_dom__WEBPACK_IMPORTED_MODULE_3__.addChild)(element, select);
}
}
},
"./src/trackers/FL.ts": (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.d(__webpack_exports__, {
default: () => FL
Expand Down Expand Up @@ -2699,28 +2758,29 @@
CHD: () => _CHD__WEBPACK_IMPORTED_MODULE_6__.default,
CLANSUD: () => _CLAN_SUD__WEBPACK_IMPORTED_MODULE_7__.default,
CinemaZ: () => _CinemaZ__WEBPACK_IMPORTED_MODULE_8__.default,
FL: () => _FL__WEBPACK_IMPORTED_MODULE_9__.default,
GPW: () => _GPW__WEBPACK_IMPORTED_MODULE_10__.default,
HDB: () => _HDB__WEBPACK_IMPORTED_MODULE_11__.default,
HDSky: () => _HDSky__WEBPACK_IMPORTED_MODULE_12__.default,
HDT: () => _HDT__WEBPACK_IMPORTED_MODULE_13__.default,
IPT: () => _IPT__WEBPACK_IMPORTED_MODULE_14__.default,
JPTV: () => _JPTV__WEBPACK_IMPORTED_MODULE_15__.default,
JPop: () => _JPop__WEBPACK_IMPORTED_MODULE_16__.default,
KG: () => _KG__WEBPACK_IMPORTED_MODULE_17__.default,
LatTeam: () => _LatTeam__WEBPACK_IMPORTED_MODULE_18__.default,
MTV: () => _MTV__WEBPACK_IMPORTED_MODULE_19__.default,
MTeam: () => _MTeam__WEBPACK_IMPORTED_MODULE_20__.default,
NewInsane: () => _NewInsane__WEBPACK_IMPORTED_MODULE_22__.default,
PTP: () => _PTP__WEBPACK_IMPORTED_MODULE_24__.default,
Pter: () => _Pter__WEBPACK_IMPORTED_MODULE_23__.default,
RED: () => _RED__WEBPACK_IMPORTED_MODULE_25__.default,
SC: () => _SC__WEBPACK_IMPORTED_MODULE_26__.default,
TL: () => _TL__WEBPACK_IMPORTED_MODULE_28__.default,
TNT: () => _TNT__WEBPACK_IMPORTED_MODULE_29__.default,
TSeeds: () => _TSeeds__WEBPACK_IMPORTED_MODULE_30__.default,
TiK: () => _TiK__WEBPACK_IMPORTED_MODULE_27__.default,
nCore: () => _nCore__WEBPACK_IMPORTED_MODULE_21__.default
DiscFan: () => _DiscFan__WEBPACK_IMPORTED_MODULE_9__.default,
FL: () => _FL__WEBPACK_IMPORTED_MODULE_10__.default,
GPW: () => _GPW__WEBPACK_IMPORTED_MODULE_11__.default,
HDB: () => _HDB__WEBPACK_IMPORTED_MODULE_12__.default,
HDSky: () => _HDSky__WEBPACK_IMPORTED_MODULE_13__.default,
HDT: () => _HDT__WEBPACK_IMPORTED_MODULE_14__.default,
IPT: () => _IPT__WEBPACK_IMPORTED_MODULE_15__.default,
JPTV: () => _JPTV__WEBPACK_IMPORTED_MODULE_16__.default,
JPop: () => _JPop__WEBPACK_IMPORTED_MODULE_17__.default,
KG: () => _KG__WEBPACK_IMPORTED_MODULE_18__.default,
LatTeam: () => _LatTeam__WEBPACK_IMPORTED_MODULE_19__.default,
MTV: () => _MTV__WEBPACK_IMPORTED_MODULE_20__.default,
MTeam: () => _MTeam__WEBPACK_IMPORTED_MODULE_21__.default,
NewInsane: () => _NewInsane__WEBPACK_IMPORTED_MODULE_23__.default,
PTP: () => _PTP__WEBPACK_IMPORTED_MODULE_25__.default,
Pter: () => _Pter__WEBPACK_IMPORTED_MODULE_24__.default,
RED: () => _RED__WEBPACK_IMPORTED_MODULE_26__.default,
SC: () => _SC__WEBPACK_IMPORTED_MODULE_27__.default,
TL: () => _TL__WEBPACK_IMPORTED_MODULE_29__.default,
TNT: () => _TNT__WEBPACK_IMPORTED_MODULE_30__.default,
TSeeds: () => _TSeeds__WEBPACK_IMPORTED_MODULE_31__.default,
TiK: () => _TiK__WEBPACK_IMPORTED_MODULE_28__.default,
nCore: () => _nCore__WEBPACK_IMPORTED_MODULE_22__.default
});
var _Aither__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/trackers/Aither.ts");
var _AvistaZ__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/trackers/AvistaZ.ts");
Expand All @@ -2731,30 +2791,31 @@
var _CHD__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("./src/trackers/CHD.ts");
var _CLAN_SUD__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("./src/trackers/CLAN-SUD.ts");
var _CinemaZ__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("./src/trackers/CinemaZ.ts");
var _FL__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("./src/trackers/FL.ts");
var _GPW__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("./src/trackers/GPW.ts");
var _HDB__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("./src/trackers/HDB.ts");
var _HDSky__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("./src/trackers/HDSky.ts");
var _HDT__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("./src/trackers/HDT.ts");
var _IPT__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("./src/trackers/IPT.ts");
var _JPTV__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("./src/trackers/JPTV.ts");
var _JPop__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("./src/trackers/JPop.ts");
var _KG__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("./src/trackers/KG.ts");
var _LatTeam__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__("./src/trackers/LatTeam.ts");
var _MTV__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("./src/trackers/MTV.ts");
var _MTeam__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("./src/trackers/MTeam.ts");
var _NewInsane__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__("./src/trackers/NewInsane.ts");
var _PTP__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__("./src/trackers/PTP.ts");
var _Pter__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__("./src/trackers/Pter.ts");
var _RED__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__("./src/trackers/RED.ts");
var _SC__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__("./src/trackers/SC.ts");
var _TL__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__("./src/trackers/TL.ts");
var _TNT__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__("./src/trackers/TNT.ts");
var _TSeeds__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__("./src/trackers/TSeeds.ts");
var _TiK__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__("./src/trackers/TiK.ts");
var _nCore__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__("./src/trackers/nCore.ts");
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([ _PTP__WEBPACK_IMPORTED_MODULE_24__ ]);
_PTP__WEBPACK_IMPORTED_MODULE_24__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
var _DiscFan__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("./src/trackers/DiscFan.ts");
var _FL__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("./src/trackers/FL.ts");
var _GPW__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("./src/trackers/GPW.ts");
var _HDB__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("./src/trackers/HDB.ts");
var _HDSky__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("./src/trackers/HDSky.ts");
var _HDT__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("./src/trackers/HDT.ts");
var _IPT__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("./src/trackers/IPT.ts");
var _JPTV__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("./src/trackers/JPTV.ts");
var _JPop__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("./src/trackers/JPop.ts");
var _KG__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__("./src/trackers/KG.ts");
var _LatTeam__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("./src/trackers/LatTeam.ts");
var _MTV__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("./src/trackers/MTV.ts");
var _MTeam__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__("./src/trackers/MTeam.ts");
var _NewInsane__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__("./src/trackers/NewInsane.ts");
var _PTP__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__("./src/trackers/PTP.ts");
var _Pter__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__("./src/trackers/Pter.ts");
var _RED__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__("./src/trackers/RED.ts");
var _SC__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__("./src/trackers/SC.ts");
var _TL__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__("./src/trackers/TL.ts");
var _TNT__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__("./src/trackers/TNT.ts");
var _TSeeds__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__("./src/trackers/TSeeds.ts");
var _TiK__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__("./src/trackers/TiK.ts");
var _nCore__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__("./src/trackers/nCore.ts");
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([ _PTP__WEBPACK_IMPORTED_MODULE_25__ ]);
_PTP__WEBPACK_IMPORTED_MODULE_25__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
__webpack_async_result__();
} catch (e) {
__webpack_async_result__(e);
Expand Down Expand Up @@ -3195,7 +3256,6 @@
LEVEL: () => LEVEL,
logger: () => logger
});
var _trim21_gm_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../node_modules/@trim21/gm-fetch/dist/index.mjs");
var LEVEL;
!function(LEVEL) {
LEVEL[LEVEL.DEBUG = 0] = "DEBUG";
Expand All @@ -3211,18 +3271,10 @@
logger.prefix = prefix;
},
info: (message, ...args) => {
if (logger.level <= LEVEL.INFO) {
let formattedMessage = formatMessage(LEVEL.INFO, message, args);
console.log(formattedMessage);
postMessage(formattedMessage);
}
if (logger.level <= LEVEL.INFO) console.log(formatMessage(LEVEL.INFO, message, args));
},
debug: (message, ...args) => {
if (logger.level <= LEVEL.DEBUG) {
let formattedMessage = formatMessage(LEVEL.DEBUG, message, args);
console.log(formattedMessage);
postMessage(formattedMessage);
}
if (logger.level <= LEVEL.DEBUG) console.log(formatMessage(LEVEL.DEBUG, message, args));
}
};
const formatMessage = (level, message, args) => {
Expand All @@ -3246,15 +3298,6 @@
}
return JSON.stringify(obj, replacer);
};
const postMessage = message => {
(0, _trim21_gm_fetch__WEBPACK_IMPORTED_MODULE_0__.default)("http://localhost:9898", {
method: "POST",
body: JSON.stringify(message),
headers: {
"content-type": "application/json"
}
}).then((() => {}));
};
},
"../common/dist/searcher/index.mjs": (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.d(__webpack_exports__, {
Expand Down
83 changes: 83 additions & 0 deletions Find Unique Titles/src/trackers/DiscFan.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
import {
parseImdbIdFromLink,
parseResolution,
parseSize,
parseTags,
parseYearAndTitle,
} from "../utils/utils";
import {
MetaData,
Request,
SearchResult,
AbstractTracker,
} from "./tracker";
import { addChild } from "common/dom";
import { fetchAndParseHtml } from "common/http";
export default class DiscFan extends AbstractTracker {
canBeUsedAsSource(): boolean {
return true;
}

canBeUsedAsTarget(): boolean {
return false;
}

canRun(url: string): boolean {
return url.includes("https://discfan.net");
}

async *getSearchRequest(): AsyncGenerator<MetaData | Request, void, void> {
let elements = Array.from(
document.querySelectorAll(".torrents")[0].children[0].children
).filter((element) =>
element.querySelector(".torrentname")
) as Array<HTMLElement>;
yield {
total: elements.length,
};
for (const element of elements) {
const link: HTMLAnchorElement | null = element.querySelector(
'a[href*="details.php?id"]'
);
if (!link) {
continue;
}
let response = await fetchAndParseHtml((link as HTMLAnchorElement).href);
const imdbId = parseImdbIdFromLink(response as HTMLElement);

const size = parseSize(element.children[4]?.textContent as string);
const fullTitle = element.querySelector(".torrentname a")?.textContent;
const { title, year } = parseYearAndTitle(fullTitle);
const request: Request = {
torrents: [
{
size,
tags: parseTags(fullTitle),
resolution: parseResolution(fullTitle),
dom: element,
},
],
dom: [element],
imdbId,
title,
year,
};
yield request;
}
}

name(): string {
return "DiscFan";
}

async search(request: Request): Promise<SearchResult> {
return SearchResult.NOT_CHECKED;
}

insertTrackersSelect(select: HTMLElement): void {
const element = document
.querySelector(".searchbox")
?.children[2].querySelector("td td.rowfollow tr");
if (element) addChild(element as HTMLElement, select);
}
}
2 changes: 2 additions & 0 deletions Find Unique Titles/src/trackers/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import CG from "./CG";
import CHD from "./CHD";
import CLANSUD from "./CLAN-SUD";
import CinemaZ from "./CinemaZ";
import DiscFan from "./DiscFan";
import FL from "./FL";
import GPW from "./GPW";
import HDB from "./HDB";
Expand Down Expand Up @@ -40,6 +41,7 @@ export {
CHD,
CLANSUD,
CinemaZ,
DiscFan,
FL,
GPW,
HDB,
Expand Down
Loading