Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fs = require('fs');
- var crypto = require('crypto');
- var Steam = require('steam');
- var SteamID = require('steamid');
- var SteamGuard = require('steam-totp');
- var SteamWebLogOn = require('steam-weblogon');
- var getSteamAPIKey = require('steam-web-api-key');
- var sharedSecret = ""; //SHAREDSECRET
- var mySteamID = ""; //STEAMID
- function getSHA1(bytes) {
- var shasum = crypto.createHash('sha1');
- shasum.end(bytes);
- return shasum.read();
- }
- var logOnOptions = {
- account_name: "", //ACCOUNT
- password: "", //PASSWORD
- sha_sentryfile: getSHA1(fs.readFileSync('sentry'))
- };
- if(fs.existsSync('servers')) {
- Steam.servers = JSON.parse(fs.readFileSync('servers'));
- }
- var steamClient = new Steam.SteamClient();
- var steamUser = new Steam.SteamUser(steamClient);
- var steamFriends = new Steam.SteamFriends(steamClient);
- var steamWebLogOn = new SteamWebLogOn(steamClient, steamUser);
- var SteamConnect = false;
- function steamTwoFactor(callback) {
- SteamGuard.getTimeOffset(function(err, offset, latency) {
- if(!err) {
- var two_factor = SteamGuard.generateAuthCode(sharedSecret, offset);
- callback(null, two_factor)
- } else {
- callback(new Error("getTimeOffset"))
- }
- });
- }
- function steamConnect(type) {
- steamTwoFactor(function(err, two_factor) {
- if(!err) {
- logOnOptions.two_factor_code = two_factor;
- if(type) {
- steamClient.connect();
- }
- } else {
- steamConnect(type);
- }
- });
- }
- steamConnect(true);
- steamClient.on('connected', function() {
- steamUser.logOn(logOnOptions);
- });
- steamClient.on('debug', function(response) {
- console.log(response)
- });
- steamClient.on('error', function(response) {
- steamConnect(true);
- console.log(response)
- });
- steamClient.on('logOnResponse', function(logonResp) {
- if(logonResp.eresult === Steam.EResult.OK) {
- console.log('Logged in!');
- steamFriends.setPersonaState(Steam.EPersonaState.Online);
- steamWebLogOn.webLogOn(function(sessionID, newCookie) {
- var loadSteamApiKey = function() {
- getSteamAPIKey({
- sessionID: sessionID,
- webCookie: newCookie
- }, function(err, APIKey) {
- if(!err) {
- SteamConnect = true;
- steamUser.gamesPlayed({
- 'games_played':
- [{
- 'game_id': 730,
- }]
- });
- } else {
- setTimeout(function() {
- loadSteamApiKey();
- }, 2000);
- }
- });
- }
- loadSteamApiKey();
- });
- } else if(logonResp.eresult === Steam.EResult.AccountLoginDeniedNeedTwoFactor) {
- steamConnect(false);
- } else if(logonResp.eresult === Steam.EResult.TwoFactorActivationCodeMismatch) {
- steamConnect(false);
- }
- });
- steamClient.on('servers', function(servers) {
- fs.writeFile('servers', JSON.stringify(servers));
- });
- steamUser.on('updateMachineAuth', function(sentry, callback) {
- fs.writeFileSync('sentry', sentry.bytes);
- callback({ sha_file: getSHA1(sentry.bytes) });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement