- Дней с нами
- 3.875
- Розыгрыши
- 0
- Сообщения
- 186
- Репутация
- 38
- Реакции
- 157
Расширение:
актуальная версия 0.0.5
Ссылка на тему с описанием расширения:
Запускать с popup окна расширения в консоли (F12)
Ссылка на страницу popup
или кликнуть на логотип в меню расширения
Для тех кто пользовался расширением и у кого битые аватарки (скрипт чистит базу аватарок):
Для автоматической переавторизации в расширении:
Скрипт для ивента (поиск игр и получение игрового профиля):
Скрипт для прохождения списка рекомендаций:
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)
Ссылка на страницу popup
или кликнуть на логотип в меню расширения
Для тех кто пользовался расширением и у кого битые аватарки (скрипт чистит базу аватарок):
JavaScript:
open();
chrome.storage.local.get(null, result => {
for(let id in result.accounts){
result.accounts[id].avatar = undefined;
result.accounts[id].video = undefined;
result.accounts[id].frame = undefined;
result.accounts[id].name = undefined;
result.accounts[id].level = undefined;
}
chrome.storage.local.set(result, () => chrome.runtime.reload());
});
Для автоматической переавторизации в расширении:
JavaScript:
let n = 0;
chrome.runtime.sendMessage({type: 're_auth', id: document.querySelectorAll('.users>.user')[n++].dataset.id});
chrome.runtime.onMessage.addListener(message => {
if(message.type == "auth" && message.data.success){
if(document.querySelectorAll('.users>.user')[n]){
document.querySelectorAll('.users>.user')[n - 1].scrollIntoView();
setTimeout(() => chrome.runtime.sendMessage({type: 're_auth', id: document.querySelectorAll('.users>.user')[n++].dataset.id}), 3500);
}else{
console.log(true);
}
}
});
Скрипт для ивента (поиск игр и получение игрового профиля):
JavaScript:
let store = 'https://store.steampowered.com',
ajaxopendoor = [
{
link: '/category/arcade_rhythm/?snr=1_614_615_clorthaxquest_1601',
door_index: 1
},
{
link: '/category/strategy_cities_settlements/?snr=1_614_615_clorthaxquest_1601',
door_index: 2
},
{
link: '/category/sports/?snr=1_614_615_clorthaxquest_1601',
door_index: 3
},
{
link: '/category/simulation/?snr=1_614_615_clorthaxquest_1601',
door_index: 4
},
{
link: '/category/multiplayer_coop/?snr=1_614_615_clorthaxquest_1601',
door_index: 5
},
{
link: '/category/casual/?snr=1_614_615_clorthaxquest_1601',
door_index: 6
},
{
link: '/category/rpg/?snr=1_614_615_clorthaxquest_1601',
door_index: 7
},
{
link: '/category/horror/?snr=1_614_615_clorthaxquest_1601',
door_index: 8
},
{
link: '/vr/?snr=1_614_615_clorthaxquest_1601',
door_index: 9
},
{
link: '/category/strategy/?snr=1_614_615_clorthaxquest_1601',
door_index: 10
}
];
chrome.runtime.sendMessage('getAccs', accs => {
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`,
save = (accs, cb) => {
if(accs.length){
let acc = accs.shift();
req('get', `${store}/sale/clorthax_quest`, null, {[chrome_id]: acc.id}).done(data => {
let firstdoor = () => {
req('post', `${store}/saleaction/ajaxopendoor`, {
sessionid,
authwgtoken: config.userinfo.authwgtoken,
door_index: 0,
clan_accountid: 41316928
}, {[chrome_id]: acc.id}).done(data => {
opendoor(acc, ajaxopendoor.filter(door => !config.doorinfo[door.door_index].opened).map(door => door.link));
}).fail(() => setTimeout(firstdoor, 5000));
},
lastdoor = () => {
req('get', `${store}/sale/clorthax_quest`, null, {[chrome_id]: acc.id}).done(data => {
let clorthax_quest = document.createElement('html');
clorthax_quest.innerHTML = data;
let authwgtoken = JSON.parse(clorthax_quest.querySelector('#application_config').dataset.userinfo).authwgtoken;
req('post', `${store}/saleaction/ajaxopendoor`, {
sessionid,
authwgtoken,
door_index: 11,
clan_accountid: 39049601
}, {[chrome_id]: acc.id}).done(data => {
setTimeout(() => save(accs, cb), 5000);
}).fail(() => {
setTimeout(lastdoor, 5000);
});
}).fail(() => {
setTimeout(lastdoor, 5000);
});
},
opendoor = (acc, links) => {
if(links.length){
let link = links.shift();
req('get', `${store}${link}`, null, {[chrome_id]: acc.id}).done(data => {
let clorthax_quest = document.createElement('html');
clorthax_quest.innerHTML = data;
let config = JSON.parse(JSON.stringify(clorthax_quest.querySelector('#application_config').dataset));
for(let key in config){
config[key] = JSON.parse(config[key]);
}
if(!config.capsuleinsert){
return opendoor(acc, links);
}
req('post', `${store}/saleaction/ajaxopendoor`, {
sessionid,
authwgtoken: config.userinfo.authwgtoken,
door_index: config.capsuleinsert.payload,
clan_accountid: 41316928,
datarecord: config.capsuleinsert.datarecord
}, {[chrome_id]: acc.id}).done(data => {
acc.err = 0;
opendoor(acc, links);
}).fail(() => {
if(acc.err++ < 3){
links.unshift(link);
}
setTimeout(() => opendoor(acc, links), 5000);
});
}).fail(() => {
if(acc.err++ < 3){
links.unshift(link);
}
setTimeout(() => opendoor(acc, links), 5000);
});
}else{
if(!config.doorinfo[11].opened){
lastdoor();
}else{
setTimeout(() => save(accs, cb), 5000);
}
}
};
let sessionid = data.match(/var g_sessionID = "([\da-f]{24})";/);
sessionid = sessionid && sessionid[1];
let clorthax_quest = document.createElement('html');
clorthax_quest.innerHTML = data;
let config = JSON.parse(JSON.stringify(clorthax_quest.querySelector('#application_config').dataset));
for(let key in config){
config[key] = JSON.parse(config[key]);
}
console.log(`login: ${acc.login}; logged_in:`, config.userinfo.logged_in);
if(config.userinfo.logged_in && sessionid){
if(!config.doorinfo[0].opened){
firstdoor();
}else{
opendoor(acc, ajaxopendoor.filter(door => !config.doorinfo[door.door_index].opened).map(door => door.link));
}
}
}).fail(() => {
if(acc.err++ < 3){
accs.unshift(acc);
}
setTimeout(() => save(accs, cb), 5000);
});
}else{
cb();
}
};
let ids = 0;
for(let acc of accs){
sha1(acc.login, id => {
ids++;
acc.id = id;
acc.err = 0;
if(accs.length == ids){
save(accs, () => console.log(true));
}
});
}
});
Скрипт для прохождения списка рекомендаций:
Вложения
Последнее редактирование: