Compare commits

...

2 Commits

Author SHA1 Message Date
DebaucheryLibrarian
9750ca4b79 1.250.22 2026-03-02 05:52:48 +01:00
DebaucheryLibrarian
0500f7eda8 Added Burning Angel affiliate. Fixed Gamma banner tool breaking on invalid URL. 2026-03-02 05:52:46 +01:00
4 changed files with 27 additions and 11 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.250.21", "version": "1.250.22",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "traxxx", "name": "traxxx",
"version": "1.250.21", "version": "1.250.22",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@aws-sdk/client-s3": "^3.458.0", "@aws-sdk/client-s3": "^3.458.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.250.21", "version": "1.250.22",
"description": "All the latest porn releases in one place", "description": "All the latest porn releases in one place",
"main": "src/app.js", "main": "src/app.js",
"scripts": { "scripts": {

View File

@@ -545,6 +545,12 @@ const affiliates = [
url: 'https://www.g2fame.com/biphoria/go.php?pr=8&su=2&si=418&ad=277470&pa=index&ar=&buffer=', url: 'https://www.g2fame.com/biphoria/go.php?pr=8&su=2&si=418&ad=277470&pa=index&ar=&buffer=',
comment: 'per signup', comment: 'per signup',
}, },
// gamma > burningangel
{
channel: 'burningangel',
url: 'https://www.g2fame.com/burningangel/go.php?pr=8&su=2&si=174&ad=277470&pa=index&ar=&buffer=',
comment: 'per signup',
},
// kelly madison / 8k // kelly madison / 8k
{ {
network: 'kellymadison', network: 'kellymadison',

View File

@@ -75,7 +75,13 @@ async function init() {
await chain; await chain;
const channel = slugify(banner.SiteTag, ''); const channel = slugify(banner.SiteTag, '');
const url = `https://cdn.banhq.com${banner.MediaLocation}`; const url = unprint.prefixUrl(banner.MediaLocation || banner.CreativeURL, 'https://cdn.banhq.com');
if (!url) {
console.log('No URL found');
console.log(banner);
return;
}
const tags = await matchTags([ const tags = await matchTags([
...banner.Tags?.map((tag) => tag.Value) || [], ...banner.Tags?.map((tag) => tag.Value) || [],
@@ -100,16 +106,20 @@ async function init() {
await fs.promises.mkdir(`/tmp/gamma/${channel}`, { recursive: true }); await fs.promises.mkdir(`/tmp/gamma/${channel}`, { recursive: true });
const res = await fetch(url); try {
const res = await fetch(url);
if (res.ok && res.body) { if (res.ok && res.body) {
const writer = fs.createWriteStream(filepath); const writer = fs.createWriteStream(filepath);
await pipeline(Readable.fromWeb(res.body), writer); await pipeline(Readable.fromWeb(res.body), writer);
console.log(`Saved ${url} to ${filepath}`); console.log(`Saved ${url} to ${filepath}`);
} else { } else {
console.log(`Failed to fetch ${url}`); console.log(`Failed to fetch ${url} (${res.status})`);
}
} catch (error) {
console.log(`Failed to fetch ${url}: ${error.message}`);
} }
}, Promise.resolve()); }, Promise.resolve());