Advertisement
Guest User

Untitled

a guest
Oct 12th, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. var fs = require('fs');
  2. var crypto = require('crypto');
  3. var Steam = require('steam');
  4. var SteamID = require('steamid');
  5. var SteamGuard = require('steam-totp');
  6. var SteamWebLogOn = require('steam-weblogon');
  7. var getSteamAPIKey = require('steam-web-api-key');
  8. var sharedSecret = ""; //SHAREDSECRET
  9. var mySteamID = ""; //STEAMID
  10.  
  11. function getSHA1(bytes) {
  12. var shasum = crypto.createHash('sha1');
  13. shasum.end(bytes);
  14. return shasum.read();
  15. }
  16.  
  17. var logOnOptions = {
  18. account_name: "", //ACCOUNT
  19. password: "", //PASSWORD
  20. sha_sentryfile: getSHA1(fs.readFileSync('sentry'))
  21. };
  22.  
  23. if(fs.existsSync('servers')) {
  24. Steam.servers = JSON.parse(fs.readFileSync('servers'));
  25. }
  26.  
  27. var steamClient = new Steam.SteamClient();
  28. var steamUser = new Steam.SteamUser(steamClient);
  29. var steamFriends = new Steam.SteamFriends(steamClient);
  30. var steamWebLogOn = new SteamWebLogOn(steamClient, steamUser);
  31.  
  32. var SteamConnect = false;
  33.  
  34. function steamTwoFactor(callback) {
  35. SteamGuard.getTimeOffset(function(err, offset, latency) {
  36. if(!err) {
  37. var two_factor = SteamGuard.generateAuthCode(sharedSecret, offset);
  38. callback(null, two_factor)
  39. } else {
  40. callback(new Error("getTimeOffset"))
  41. }
  42. });
  43. }
  44.  
  45. function steamConnect(type) {
  46. steamTwoFactor(function(err, two_factor) {
  47. if(!err) {
  48. logOnOptions.two_factor_code = two_factor;
  49. if(type) {
  50. steamClient.connect();
  51. }
  52. } else {
  53. steamConnect(type);
  54. }
  55. });
  56. }
  57.  
  58. steamConnect(true);
  59. steamClient.on('connected', function() {
  60. steamUser.logOn(logOnOptions);
  61. });
  62.  
  63. steamClient.on('debug', function(response) {
  64. console.log(response)
  65. });
  66.  
  67. steamClient.on('error', function(response) {
  68. steamConnect(true);
  69. console.log(response)
  70. });
  71.  
  72. steamClient.on('logOnResponse', function(logonResp) {
  73. if(logonResp.eresult === Steam.EResult.OK) {
  74. console.log('Logged in!');
  75. steamFriends.setPersonaState(Steam.EPersonaState.Online);
  76. steamWebLogOn.webLogOn(function(sessionID, newCookie) {
  77. var loadSteamApiKey = function() {
  78. getSteamAPIKey({
  79. sessionID: sessionID,
  80. webCookie: newCookie
  81. }, function(err, APIKey) {
  82. if(!err) {
  83. SteamConnect = true;
  84. steamUser.gamesPlayed({
  85. 'games_played':
  86. [{
  87. 'game_id': 730,
  88. }]
  89. });
  90. } else {
  91. setTimeout(function() {
  92. loadSteamApiKey();
  93. }, 2000);
  94. }
  95. });
  96. }
  97. loadSteamApiKey();
  98. });
  99. } else if(logonResp.eresult === Steam.EResult.AccountLoginDeniedNeedTwoFactor) {
  100. steamConnect(false);
  101. } else if(logonResp.eresult === Steam.EResult.TwoFactorActivationCodeMismatch) {
  102. steamConnect(false);
  103. }
  104. });
  105.  
  106. steamClient.on('servers', function(servers) {
  107. fs.writeFile('servers', JSON.stringify(servers));
  108. });
  109.  
  110. steamUser.on('updateMachineAuth', function(sentry, callback) {
  111. fs.writeFileSync('sentry', sentry.bytes);
  112. callback({ sha_file: getSHA1(sentry.bytes) });
  113. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement