- Дней с нами
- 3.875
- Розыгрыши
- 0
- Сообщения
- 186
- Репутация
- 38
- Реакции
- 157
Расширение:
Ссылка на тему с описанием расширения:
Запускать с popup окна расширения в консоли (F12)
которое откроется после клика на логотип в окне расширения
Скрипт для получения карточек и стикеров:
Steam User Manager - Chrome Web Store
Steam User Manager is an extension that works as an auxiliary tool for Steam. Its functionality includes the ability to quickly…
chrome.google.com
Ссылка на тему с описанием расширения:
Steam User Manager (расширение для браузера) - Mipped
Steam User Manager - это расширение которое работает как вспомогательный инструмент для Steam. В его функционал входит возможность быстрого переключения между аккаунтами, работы с несколькими аккаунтами одновременно. Возможность получать 2фа код и подтверждать офферы прямо с браузера...
mipped.com
Запускать с popup окна расширения в консоли (F12)
которое откроется после клика на логотип в окне расширения
Скрипт для получения карточек и стикеров:
Код:
let sha1 = (login, cb) => window.crypto.subtle.digest({name: "SHA-1"}, new Uint8Array(login.match(/.{1}/g).map(s => s.charCodeAt()))).then(result => cb([...new Uint8Array(result)].map(n => n.toString(16)).join(''))),
chrome_id = `${chrome.runtime.id}_id`;
chrome.runtime.sendMessage('getAccs', accs => {
let explore = (ids, cb) => {
if(ids.length){
let id = ids.shift(),
acc = accs.find(acc => acc.id == id);
console.log(acc.login);
console.log(`${accs.length - ids.length} of ${accs.length}`);
req('get', 'https://store.steampowered.com/explore/', null, {[chrome_id]: id}).done(data => {
let rgApps = {n: -1},
access_token = data.match(/webapi_token":"([a-f\d]{32})/)?.[1],
sessionid = data.match(/var g_sessionID = "([a-f0-9]{24})";/)?.[1];
if(sessionid && access_token){
let clear_queue = queue => {
if(queue){
rgApps.queue.push(queue);
}else{
rgApps.n++;
}
while(rgApps.queue.length){
let queue = rgApps.queue.shift();
req('post', 'https://store.steampowered.com/app/10', {
sessionid, appid_to_clear_from_queue: queue
}, {[chrome_id]: id}).done(() => {
clear_queue();
}).fail(() => {
setTimeout(() => clear_queue(queue), Math.floor(Math.random() * 5000));
});
}
if(rgApps.n == rgApps.m){
req('post', `https://api.steampowered.com/ISaleItemRewardsService/ClaimItem/v1?access_token=${access_token}`, {input_json: '{"language":"english"}'}, {[chrome_id]: id}).always(() => {
setTimeout(() => explore(ids, cb), Math.floor(Math.random() * 3000));
});
}
};
req('post', 'https://store.steampowered.com/explore/generatenewdiscoveryqueue', {sessionid}, {[chrome_id]: id}).done(data => {
if(data && Array.isArray(data.queue)){
rgApps.queue = data.queue;
rgApps.m = rgApps.queue.length;
clear_queue();
}else{
if(acc.err++ < 5){
setTimeout(() => explore(ids.concat(id), cb), Math.floor(Math.random() * 5000));
}else{
setTimeout(() => explore(ids, cb), Math.floor(Math.random() * 5000));
}
}
}).fail(() => {
if(acc.err++ < 5){
setTimeout(() => explore(ids.concat(id), cb), Math.floor(Math.random() * 5000));
}else{
setTimeout(() => explore(ids, cb), Math.floor(Math.random() * 5000));
}
});
}else{
console.log('not authorized');
if(acc.err++ < 3){
ajaxrefresh(id, 'https://store.steampowered.com/explore/', success => {
console.log('refresh token:', success);
if(success){
setTimeout(() => explore([id, ...ids], cb), Math.floor(Math.random() * 5000));
}else{
if(acc.secret.shared){
chrome.runtime.sendMessage({type: 're_auth', id: acc.AccountID});
chrome.extension.onMessage.addListener(function re_auth(message){
if(message.type == 'auth'){
console.log('re_auth:', message.data.success);
chrome.extension.onMessage.removeListener(re_auth);
if(message.data.success){
setTimeout(() => explore([id, ...ids], cb), Math.floor(Math.random() * 5000));
}else{
setTimeout(() => explore(ids, cb), Math.floor(Math.random() * 3000));
}
}
});
}else{
setTimeout(() => explore(ids, cb), Math.floor(Math.random() * 3000));
}
}
});
}else{
setTimeout(() => explore(ids, cb), Math.floor(Math.random() * 5000));
}
}
}).fail(() => {
if(acc.err++ < 5){
setTimeout(() => explore(ids.concat(id), cb), Math.floor(Math.random() * 5000));
}else{
setTimeout(() => explore(ids, cb), Math.floor(Math.random() * 5000));
}
});
}else{
cb();
}
};
let ids = [];
for(let acc of accs){
sha1(acc.login, id => {
ids.push(id);
acc.AccountID = acc.id;
acc.id = id;
acc.err = 0;
if(accs.length == ids.length){
explore(ids, () => console.log(true));
}
})
}
});
function settoken(id, url, params, cb){
req('post', url, params , {[`${chrome.runtime.id}_id`]: id}).always(data => {
cb(data?.result == 1);
});
};
function ajaxrefresh(id, redir, cb) {
req('post', 'https://login.steampowered.com/jwt/ajaxrefresh', {
redir
}, {[`${chrome.runtime.id}_id`]: id}).always(data => {
if(data?.success){
settoken(id, data.login_url, {auth: data.auth, nonce: data.nonce, steamID: data.steamID}, cb);
}else{
cb(false);
}
});
};
Последнее редактирование: