Created
December 8, 2019 19:23
-
-
Save heape/8c7ee2b3fa69c9c3c8d793bd420bd7d2 to your computer and use it in GitHub Desktop.
Hentai Pooky for Supreme TEST #001
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const util = require('./util.js'); // Download: https://gist.github.com/heape/f1327199405ad2f847ace1c3b07113ce | |
const url = require('url'); | |
const path = require('path'); | |
const puppeteer = require('puppeteer-extra'); | |
const stealth = require('puppeteer-extra-plugin-stealth'); | |
const sleep = ms => new Promise((r, j) => setTimeout(r, ms)); | |
(async() => { | |
const userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'; | |
let browser, page; | |
const log = function (...args) { | |
const d = new Date(); | |
const hh = d.getHours(); | |
const mm = d.getMinutes(); | |
const ss = d.getSeconds(); | |
const dd = d.getMilliseconds(); | |
const fmtd = ('00' + hh).slice(-2) + ':' + ('00' + mm).slice(-2) + ':' + ('00' + ss).slice(-2) + ':' + ('000' + dd).slice(-3); | |
args.push(fmtd); | |
console.log.apply(this, args); | |
}; | |
const getPookyState = async() => { | |
let url, ck, cookie, getHeaders, postHeaders, params, postData, res, $ = null, host; | |
ck = util.createCookieStore(); | |
cookie = ''; | |
getHeaders = { | |
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36', | |
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', | |
'Accept-Encoding': 'gzip, deflate', | |
'Accept-Language': 'ja,en-US;q=0.9,en;q=0.8', | |
'Cookie': cookie, | |
}; | |
url = 'https://www.supremenewyork.com/index'; | |
getHeaders['Cookie'] = cookie; | |
res = await util.request({ | |
method: 'GET', | |
url: url, | |
headers: getHeaders, | |
data: '', | |
}); | |
if(res.body.includes('pooky')) { | |
return { enabled: true }; | |
} | |
return { enabled: false }; | |
}; | |
const monitorItem = async(data) => { | |
var keyWord = data.keyword; //'+Spitfire,+Wheels'; // +box,+logo,-bear | |
var categories = ['Jackets', 'Coats', 'Shirts', 'Tops/Sweaters', 'Sweatshirts', 'Pants', 'Shorts', 'T-Shirts', 'Hats', 'Bags', 'Accessories', 'Shoes', 'Skate']; | |
// 0 -> 'Jackets', 1 -> 'Coats', 2-> 'Shirts', 3 -> 'Tops/Sweaters', 4 ->'Sweatshirts', 5->'Pants', 6->'Shorts', 7->'T-Shirts', | |
// 8-> 'Hats', 9->'Bags', 10->'Accessories', 11->'Shoes', 12->'Skate' | |
var category = categories[data.category_id]; //categories[10]; | |
var preferredSize = data.size //'+53mm'; | |
var preferredStyle = data.style //'+white'; | |
var startTime = data.startTime; | |
var mb_category_url = 'https://www.supremenewyork.com/mobile/#categories/'; | |
var mb_product_url = 'https://www.supremenewyork.com/mobile/#products/'; | |
var pc_category_url = 'https://www.supremenewyork.com/shop/all/'; | |
var mobile_stock_url = 'https://www.supremenewyork.com/mobile_stock.json'; | |
var mobile_shop_url = 'https://www.supremenewyork.com/shop/'; | |
function matchKeyWord(itemName, keyWords) { | |
let name = itemName.toLowerCase().trim(); | |
let keyWordsList = keyWords.toLowerCase().split(','); | |
for (let i = 0; i < keyWordsList.length; i ++) { | |
let word = keyWordsList[i].trim(); | |
if ((word.includes('+') && !name.includes(word.substr(1))) || | |
(word.includes('-') && name.includes(word.substr(1)))) { | |
return false; | |
} | |
} | |
return true; | |
}; | |
while (true) { | |
if ((startTime - new Date().getTime()) <= 0) | |
break; | |
await sleep(10); | |
} | |
let matched = null; | |
while (true) { | |
let headers = { | |
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko', | |
'Accept': 'application/json', | |
'X-Requested-With': 'XMLHttpRequest', | |
'Accept-Encoding': 'gzip, deflate', | |
'Accept-Language': 'ja;q=1, en-US;q=0.9', | |
'Cookie': '', | |
'Connection': 'close', | |
}; | |
let r = await util.request({ | |
method: 'GET', | |
headers: headers, | |
url: mobile_stock_url, | |
data: '' | |
}); | |
let json = JSON.parse(r.body); | |
let jcate = json['products_and_categories'][category]; | |
jcate.some((ele) => { | |
if (matchKeyWord(ele.name, keyWord)) { | |
matched = ele; | |
return true; | |
} | |
}); | |
if (matched !== null) | |
break; | |
await sleep(data.delay); // you can set the sleep time as a option | |
} | |
if (matched !== null) { | |
product_name = matched['name']; | |
let mb_url = mb_product_url + matched['id']; var pc_url = ''; | |
mb_item_url = mb_url; | |
//console.log('mobile_url: ' + mb_product_url + matched['id']); | |
let img_url = matched['image_url_hi']; | |
let pos, pos2; | |
pos = img_url.lastIndexOf('/') + 1; | |
img_url = img_url.substr(pos); | |
pos2 = img_url.indexOf('.'); | |
img_url = img_url.substr(0, pos2); | |
let snippet = img_url; | |
console.log('finished finding: '); | |
} | |
{ | |
let item_id = mb_item_url.substr(mb_item_url.lastIndexOf('/') + 1); | |
let item_url = mobile_shop_url + item_id + '.json'; | |
let item_add_url = mobile_shop_url + item_id + '/add.json'; | |
var pc_item_add_url = mobile_shop_url + item_id + '/add' | |
let headers = { | |
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko', | |
'Accept': 'application/json', | |
'X-Requested-With': 'XMLHttpRequest', | |
'Accept-Encoding': 'gzip, deflate', | |
'Accept-Language': 'ja;q=1, en-US;q=0.9', | |
'Cookie': '', | |
'Connection': 'close', | |
}; | |
let r = await util.request({ | |
method: 'GET', | |
url: item_url, | |
headers: headers, | |
data: '', | |
}); | |
let j = JSON.parse(r.body); | |
var matched_style = null; | |
var matched_size = null; | |
let styles = j['styles']; | |
styles.forEach((ele) => { | |
if (matchKeyWord(ele.name, preferredStyle)) { | |
if (matched_style != null) | |
return; | |
matched_style = ele; | |
matched_style['sizes'].forEach((ele2) => { | |
if (matched_size != null) | |
return; | |
if (matchKeyWord(ele2.name, preferredSize)) { | |
matched_size = ele2; | |
return; | |
} | |
}); | |
} | |
}); | |
if (matched_style == null || matched_size == null) | |
return; | |
} | |
return { matched_style: matched_style, matched_size: matched_size, pc_item_add_url: pc_item_add_url }; | |
}; | |
const addToCart = async(data) => { | |
let url, ck, cookie, getHeaders, postHeaders, params, postData, res, $ = null, host; | |
ck = util.createCookieStore(); | |
cookie = data.cookie; | |
postHeaders = { | |
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36', | |
'Content-Length': '', | |
'Content-Type': 'application/x-www-form-urlencoded', | |
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', | |
'Accept-Encoding': 'gzip, deflate', | |
'Accept-Language': 'ja,en-US;q=0.9,en;q=0.8', | |
'Origin': 'https://www.supremenewyork.com', | |
'X-CSRF-Token': 'd7miaiWJT35FoG0f7DJMUHhWxvETn65zLm8HOpUXzwYP4swjNgPcMeBTRXPeOIMYWkX/LzKQRAvpj3FHvgtr3Q==', | |
'X-Requested-With': 'XMLHttpRequest', | |
'Cookie': cookie, | |
}; | |
postData = 'utf8=%E2%9C%93&style=_style&size=_size&commit=%E3%82%AB%E3%83%BC%E3%83%88%E3%81%AB%E5%85%A5%E3%82%8C%E3%82%8B'; | |
postData = postData.replace('_style', data.matched_style.id); | |
postData = postData.replace('_size', data.matched_size.id); | |
url = data.pc_item_add_url; | |
postHeaders['Cookie'] = cookie; | |
postHeaders['Content-Length'] = postData.length; | |
res = await util.request({ | |
method: 'POST', | |
url: url, | |
headers: postHeaders, | |
data: postData, | |
}); | |
ck = util.updateCookieStore(ck, cookie, res); | |
cookie = ck.getAll(); | |
return { body: res.body, cookie: cookie }; | |
}; | |
const cop = async(data) => { | |
let url, ck, cookie, getHeaders, postHeaders, params, postData, res, $ = null, host; | |
let resultData; | |
resultData = await monitorItem({ | |
keyword: data.item.keyword, | |
category_id: data.item.category_id, | |
size: data.item.size, | |
style: data.item.style, | |
startTime: new Date().getTime(), | |
delay: 500 | |
}); | |
resultData['cookie'] = data.pookyCookies; | |
resultData = await addToCart(resultData); | |
cookie = resultData['cookie']; | |
// send a checkout request. チェックアウトのリクエストを送信 | |
ck = util.createCookieStore(); | |
postHeaders = { | |
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36', | |
'Content-Length': '', | |
'Content-Type': 'application/x-www-form-urlencoded', | |
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', | |
'Accept-Encoding': 'gzip, deflate', | |
'Accept-Language': 'ja,en-US;q=0.9,en;q=0.8', | |
'Origin': 'https://www.supremenewyork.com', | |
'X-CSRF-Token': 'd7miaiWJT35FoG0f7DJMUHhWxvETn65zLm8HOpUXzwYP4swjNgPcMeBTRXPeOIMYWkX/LzKQRAvpj3FHvgtr3Q==', | |
'X-Requested-With': 'XMLHttpRequest', | |
'Cookie': cookie, | |
}; | |
const checkoutOptions = { | |
'g-recaptcha-response': data.checkout['g-recaptcha-response'], | |
'authenticity_token': 'd7miaiWJT35FoG0f7DJMUHhWxvETn65zLm8HOpUXzwYP4swjNgPcMeBTRXPeOIMYWkX%2FLzKQRAvpj3FHvgtr3Q%3D%3D', | |
'order[billing_name]': 'flyin3g AAAAAAAAAAAAAAA', | |
'order[email]': 'catman3323@chromium.org', | |
'order[tel]': '07014444110', | |
'order[billing_zip]': '1000000', | |
'order[billing_state]': '東京都', | |
'order[billing_city]': '千代田区', | |
'order[billing_address]': 'epic address', | |
'same_as_billing_address': '1', | |
'credit_card[type]': 'cod', | |
'credit_card[cnb]': '', | |
'credit_card[month]': '12', | |
'credit_card[year]': '2019', | |
'credit_card[vval]': '', | |
'order[terms]': '1', | |
}; | |
// 購入に必要な情報を入れる | |
params = new URLSearchParams('utf8=%E2%9C%93&authenticity_token=d7miaiWJT35FoG0f7DJMUHhWxvETn65zLm8HOpUXzwYP4swjNgPcMeBTRXPeOIMYWkX%2FLzKQRAvpj3FHvgtr3Q%3D%3D&order%5Bbilling_name%5D=flyf+aaafffn&order%5Bemail%5D=abcdeffffa3faf%40gmail.com&order%5Btel%5D=06084831831&order%5Bbilling_zip%5D=1000000&order%5Bbilling_state%5D=+%E6%9D%B1%E4%BA%AC%E9%83%BD&order%5Bbilling_city%5D=%E5%8D%83%E4%BB%A3%E7%94%B0%E5%8C%BA&order%5Bbilling_address%5D=feffefaf%2C+3242&same_as_billing_address=1&credit_card%5Btype%5D=cod&credit_card%5Bcnb%5D=&credit_card%5Bmonth%5D=12&credit_card%5Byear%5D=2019&credit_card%5Bvval%5D=&order%5Bterms%5D=0&order%5Bterms%5D=1&g-recaptcha-response=03AOLTBLTGT3jmzRFAJcy9IxEBjqQtZ3vCSw2283f08I5TZeMJ_MHeYX69jp2o7H8F5ArXjFzohzwoDLintLhbCtPIobIB8QfjshHBjNgPTIFvErd0QFBkSV8kKJIoDLqXyo5K7KBBN8TkmwKKiwev0yIsZRn8TQRlkhJWhJIks2h5rmyAuxgOZwUBAwJHMgwlL5HkV3V1cUA5R8dmn1wL5q3wTy2B3zjCevwIixtw38xkwAIDRT8dx_K-q7UE05x201_b3OeBH9cIUhhzxM-MSJY6zHV9039opeZi4at7s8z8OQJY7u_2WwKfoMu3ei9jDB_UD_MRgPl6wRkg2OS6BHTQgORcOuOD0SGa74Rtse8bB_kIc6oyim4tvkB-KXpBM1jzxI3laFT7ECtM1ToR-DOvtC94SjezDmS0SzlUxriAeianu0vXBKRFpVg5oK9VcxfXFozFMqa31gjMHBijGAAD33aGcYop3TOe8HGm8dZsHYy_bs3v5lhjE5GANvjHua5MEYnayftic7sVrJb4Y75F4ZVannu-aoIH-wm0xiDfmayBrm_Nq0UilGXsEKWsMtKMCkWWgpMf&hpcvv=%E3%81%B8%E3%81%8A%E3%81%82'); | |
for(let k in checkoutOptions) { | |
params.set(k, checkoutOptions[k]); | |
} | |
postData = params.toString(); | |
url = 'https://www.supremenewyork.com/checkout.json'; | |
postHeaders['Cookie'] = cookie; | |
postHeaders['Content-Length'] = postData.length; | |
res = await util.request({ | |
method: 'POST', | |
url: url, | |
headers: postHeaders, | |
data: postData, | |
}); | |
ck = util.updateCookieStore(ck, cookie, res); | |
cookie = ck.getAll(); | |
console.log(res.body); | |
return { res }; | |
}; | |
const recaptchaTokens = []; | |
const pookyDataContainer = []; | |
const pookyCollector = async(options = { latest: false, }) => { | |
let result; | |
if(options['latest']) { | |
let pookyCookies; | |
await page.goto('https://www.supremenewyork.com/index', {waitUntil: 'domcontentloaded'}); | |
result = await page.evaluate(() => { | |
return (async() => { | |
/* | |
https://www.supremenewyork.com/shop/skate/gqevjgf8b/n9k0gcp5e | |
Pookyのクッキーを取得するためにカートに在庫ありの商品を入れる | |
*/ | |
const addCart = async (matched_size, matched_style) => { | |
return new Promise((resolve) => { | |
var hostUrl = 'https://www.supremenewyork.com/shop/6350/add'; | |
var utf8 = '%E2%9C%93'; | |
var style = '24509'; | |
var size = '70768'; | |
var commit = '%E3%82%AB%E3%83%BC%E3%83%88%E3%81%AB%E5%85%A5%E3%82%8C%E3%82%8B'; | |
$.ajax({ | |
url: hostUrl, | |
type: 'POST', | |
dataType: 'json', | |
data: { utf8: decodeURI(utf8), style: style, size: size, commit: decodeURI(commit) }, | |
timeout: 3000, | |
}).done((data) => { | |
resolve({ body: data }); | |
}).fail((XMLHttpRequest, textStatus, errorThrown) => { | |
resolve('error'); | |
}); | |
}); | |
}; | |
let result = (await addCart()); | |
return result; | |
})(); | |
}); | |
// extract pooky cookies | |
for(let i = 0; i < 1; i++) { | |
await page.goto('https://www.supremenewyork.com/checkout', { waitUntil: 'domcontentloaded' }); | |
log('checkout page loaded'); | |
result = await page.evaluate(() => { | |
window.pookyCallback(); | |
return document.cookie; | |
}); | |
} | |
await browser.close(); | |
pookyCookies = result; | |
pookyDataContainer.push(pookyCookies); | |
console.log(pookyCookies); | |
} else { | |
// use old pooky for testing. | |
let pookyCookies; | |
await page.goto('https://www.supremenewyork.com/index', {waitUntil: 'domcontentloaded'}); | |
result = await page.evaluate(() => { | |
return (async() => { | |
/* | |
https://www.supremenewyork.com/shop/skate/gqevjgf8b/n9k0gcp5e | |
Pookyのクッキーを取得するためにカートに在庫ありの商品を入れる | |
*/ | |
const addCart = async (matched_size, matched_style) => { | |
return new Promise((resolve) => { | |
var hostUrl = 'https://www.supremenewyork.com/shop/6350/add'; | |
var utf8 = '%E2%9C%93'; | |
var style = '24509'; | |
var size = '70768'; | |
var commit = '%E3%82%AB%E3%83%BC%E3%83%88%E3%81%AB%E5%85%A5%E3%82%8C%E3%82%8B'; | |
$.ajax({ | |
url: hostUrl, | |
type: 'POST', | |
dataType: 'json', | |
data: { utf8: decodeURI(utf8), style: style, size: size, commit: decodeURI(commit) }, | |
timeout: 3000, | |
}).done((data) => { | |
resolve({ body: data }); | |
}).fail((XMLHttpRequest, textStatus, errorThrown) => { | |
resolve('error'); | |
}); | |
}); | |
}; | |
// enable pooky | |
// pookyの有効にするのはチェックアウトページだけいいので、必要ない ※※!!! やっぱり、多分必要! | |
const sleep = ms => new Promise((r, j) => setTimeout(r, ms)); | |
Date.now = function() { return 1572055192000; }; | |
window.supremetohru = '1507343a92d163ea011ef7228b1f644de41dc0ec143b41cabc3b0aa2b7105283a9845e93268c6f6d5b9de156dcdf732bdce8516e295b0d8fb28933fa3348a273'; | |
const script = document.createElement('script'); | |
script.src = 'https://assets.supremenewyork.com/assets/pooky.min.de852e3e64fac9b6393d.js'; | |
document.body.appendChild(script); | |
let pookyLoaded = false; | |
for(let i = 0; i < 3 * 10; i++){ | |
if(window.pookyCallback) { | |
pookyLoaded = true; | |
break; | |
} | |
await sleep(100); | |
} | |
if(!pookyLoaded) { | |
return 'pooky is not loaded.'; | |
} | |
let result = (await addCart()); | |
return result; | |
})(); | |
}); | |
// extract pooky cookies | |
for(let i = 0; i < 1; i++) { | |
await page.goto('https://www.supremenewyork.com/checkout', { waitUntil: 'domcontentloaded' }); | |
log('checkout page loaded'); | |
result = await page.evaluate(() => { | |
return (async() => { | |
// enable pooky | |
const sleep = ms => new Promise((r, j) => setTimeout(r, ms)); | |
Date.now = function() { return 1572055192000; }; | |
window.supremetohru = '1507343a92d163ea011ef7228b1f644de41dc0ec143b41cabc3b0aa2b7105283a9845e93268c6f6d5b9de156dcdf732bdce8516e295b0d8fb28933fa3348a273'; | |
const script = document.createElement('script'); | |
script.src = 'https://assets.supremenewyork.com/assets/pooky.min.de852e3e64fac9b6393d.js'; | |
document.body.appendChild(script); | |
let pookyLoaded = false; | |
for(let i = 0; i < 3 * 10; i++){ | |
if(window.pookyCallback) { | |
pookyLoaded = true; | |
break; | |
} | |
await sleep(100); | |
} | |
if(!pookyLoaded) { | |
return 'pooky is not loaded.'; | |
} | |
window.pookyCallback(); | |
return document.cookie; | |
})(); | |
}); | |
} | |
await browser.close(); | |
pookyCookies = result; | |
pookyDataContainer.push(pookyCookies); | |
console.log(pookyCookies); | |
//cookies = result + _supreme_sess; // this is eg. please code your logic | |
// send a purchasing request | |
/* | |
request(...) | |
*/ | |
} | |
}; | |
const main = async() => { | |
puppeteer.use(stealth()); | |
const pookyOptions = { latest: false }; | |
if(pookyOptions.latest) { | |
while(true) { | |
const pookyState = await getPookyState(); | |
if(pookyState.enabled) { | |
log('pooky found.'); | |
break; | |
} | |
await sleep(1000); | |
} | |
} | |
// store pooky cookies to pookyDataContainer | |
for(let i = 0; i < 1; i++) { | |
browser = await puppeteer.launch({headless: false}); | |
page = await browser.newPage(); | |
await page.setUserAgent(userAgent); | |
await page.setViewport({ | |
width: 1920, | |
height: 1080, | |
deviceScaleFactor: 1, | |
}); | |
// なるべくロードを早くさせる | |
await page.setRequestInterception(true); | |
page.on('request', interceptedRequest => { | |
const reqUrl = url.parse(interceptedRequest.url()) | |
const reqExt = path.extname(reqUrl.pathname) | |
const reqHost = reqUrl.hostname | |
// Resources from 3rd party domains | |
if (reqHost === 'ignoreMe') { | |
interceptedRequest.abort(); | |
// Exclude unnecessary resources | |
} else if (reqExt === '.png' || reqExt === '.gif' || reqExt === '.css') { | |
interceptedRequest.abort(); | |
} else { | |
interceptedRequest.continue(); | |
} | |
}); | |
// なるべくロードを早くさせる | |
await page.evaluateOnNewDocument(() => { | |
const sleep = ms => new Promise((r, j) => setTimeout(r, ms)); | |
window.setInterval = () => {}; | |
(async() => { | |
while(true) { | |
if(document.documentElement !== null) { | |
document.documentElement.setAttribute('style', 'display: none'); | |
break; | |
} | |
await sleep(1); | |
} | |
while(true) { | |
if(document.body !== null) { | |
break; | |
} | |
await sleep(1); | |
} | |
})(); | |
}); | |
await pookyCollector(pookyOptions); | |
} | |
// add a recaptcha token. | |
recaptchaTokens.push('03AOLTBLQnMCCWXhiy82AAQ1ohP68mrYfThrJS0IYftbVPxtkke2F7P_YWUlL5HcnFMdpeDL3qHzsqvKIBLSUoEnj3eY-NG5_LQ9N-QIDYkFgoalPKcixbEqaOIhDOVEUWHJfKbVRUyLQXLYWGiEjRS4UHlPjY_oTlKMCia5snP71Zl5tIJZ0v8MvnpaqYY5hO2_g_xuFn8-ZQei2VZS1YQhtXFYMgIySMT1YNe1FIn5G8765d6d_evR6s5OEEdSyR10vRk1lWT2pkqZkx-ACZX3Ho56lAx5bbpkVsWIFLZP-Xr95JbkxRtBKDkWMy1I_VsFMPGTTGtm-ndX6YpJUNev1ECe9JuVxbrgIldgyIFPoqlEBFvsrJBem3xckPpNhc9FOOVdY9kt-BfbjgGAOKN63Pb7d0Fj1ocNxGkRegu9lMtNUXKQATcBXkAenVYqDP6Aim0_pwrEPpfXq_PdonB4Mity-xj__nQ6Nm1NV2vv-sWjPpz0C_rSW99N6an5e826Vwep4K9Nw-OcjqtK9Sl_0H_eHsDfQdq9JAQ3FNkYWJvFYO68tdnCqcJajK2cu8plNhB25jdXvh'); | |
// 購入作業開始 | |
for(let i = 0; i < pookyDataContainer.length; i++) { | |
const v = pookyDataContainer[i]; | |
const categories = { | |
'Jackets': 0, 'Coats': 1, 'Shirts': 2, 'Tops/Sweaters': 3, 'Sweatshirts': 4, 'Pants': 5, 'Shorts': 6, | |
'T-Shirts': 7, 'Hats': 8, 'Bags': 9, 'Accessories': 10, 'Shoes': 11, 'Skate': 12, | |
}; | |
await cop({ | |
item: { | |
keyword: '+Half,+Zip,+Hooded,+Sweatshirt', | |
category_id: categories['Sweatshirts'], | |
size: '+medium', | |
style: '+Black', | |
}, | |
checkout: { | |
'g-recaptcha-response': recaptchaTokens[i], | |
}, | |
pookyCookies: v | |
}); | |
} | |
}; | |
await main(); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment