Removed some obsolete client components. Added ASG Max with affiliates.

This commit is contained in:
DebaucheryLibrarian
2026-01-30 05:25:35 +01:00
parent 5042f8fb40
commit 91771c9ef4
155 changed files with 982 additions and 22880 deletions

View File

@@ -154,11 +154,11 @@ async function fetchLatest(channel, page, options) {
const res = await unprint.get(options.parameters?.latest
? `${options.parameters.latest}?page=${page}&view=grid`
: `${channel.url}/watch-newest-clips-and-scenes.html?page=${page}&view=grid`, {
selectAll: '.item-grid-scene .grid-item',
headers: {
Cookie: 'ageConfirmed=true;',
},
});
selectAll: '.item-grid-scene .grid-item',
headers: {
Cookie: 'ageConfirmed=true;',
},
});
if (res.ok) {
return scrapeAll(res.context, channel, options);

View File

@@ -42,7 +42,7 @@ function getAvatarFallback(url) {
`${origin}${pathname}`,
url,
];
} catch (error) {
} catch (_error) {
return null;
}
}
@@ -122,11 +122,11 @@ async function scrapeScene({ query }, { url, entity }) {
release.poster = data?.thumbnailUrl || query.attribute('meta[property="og:image"]', 'content');
release.teaser = (sourcesData && [
sourcesData.mp4_large,
sourcesData.webm_large,
sourcesData.mp4,
sourcesData.webm,
])
sourcesData.mp4_large,
sourcesData.webm_large,
sourcesData.mp4,
sourcesData.webm,
])
|| data?.contentUrl
|| query.attribute('meta[property="og:video"]')
|| query.video('video[data-videocontainer-target] source');

View File

@@ -238,7 +238,7 @@ async function scrapeApiReleases(json, site, options) {
release.title = curateTitle(scene.title, site);
release.path = `/${scene.url_title}/${release.entryId}`;
if (options.parameters?.scene) {
if (typeof options.parameters?.scene === 'string') {
release.url = `${options.parameters.scene}${release.path}`;
} else if (site.url && options.parameters?.scene !== false) {
release.url = `${site.url}/en/video${release.path}`;

View File

@@ -82,7 +82,7 @@ async function fetchLatestContent(url, parameters) {
bypass: {
evaluate: async () => {
// images lazy loaded by JS, gradually scroll through page
return Array.from(document.querySelectorAll('.content-item ')).reduce(async (chain, el) => {
return Array.from(this.document.querySelectorAll('.content-item ')).reduce(async (chain, el) => {
await chain;
return new Promise((resolve) => {

View File

@@ -19,7 +19,7 @@ function scrapeAll(scenes) {
? query.all('.video-card__actors a').map((actorEl) => ({
name: unprint.query.content(actorEl),
url: unprint.query.url(actorEl, null),
}))
}))
: query.content('.video-card__actors')?.split(',').map((actor) => actor.trim());
release.poster = query.img('.image-container img');