steamutils 1.3.94 → 1.3.96

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/index.js +60 -44
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { randomBytes, createHmac } from "crypto";
1
+ import { createHmac, randomBytes } from "crypto";
2
2
  import sha256 from "crypto-js/sha256.js";
3
3
  import _ from "lodash";
4
4
  import moment from "moment";
@@ -26,6 +26,7 @@ import SteamCommunity from "steamcommunity";
26
26
  import SteamTotp from "steam-totp";
27
27
  import { protoDecode, protoEncode } from "./helpers/util.js";
28
28
  import helpers, { loadProfos } from "./helpers/protos.js";
29
+
29
30
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
30
31
 
31
32
  let requestTimestamp = 0;
@@ -5915,45 +5916,50 @@ export default class SteamUser {
5915
5916
  }
5916
5917
 
5917
5918
  async deauthorizeAllDevices() {
5918
- const cookieManager = this._cookies[0];
5919
- let result = null;
5920
- let error = null;
5921
- try {
5922
- result = await axios.request({
5923
- method: "post",
5924
- maxBodyLength: Infinity,
5925
- url: "https://store.steampowered.com/twofactor/manage_action",
5926
- headers: {
5927
- "Content-Type": "application/x-www-form-urlencoded",
5928
- Cookie: cookieManager.toString(),
5929
- Origin: "https://store.steampowered.com",
5930
- Referer: "https://store.steampowered.com/twofactor/manage",
5931
- },
5932
- data: qs.stringify({
5933
- action: "deauthorize",
5934
- sessionid: cookieManager.getCookie("sessionid"),
5935
- }),
5936
- });
5937
- } catch (e) {
5938
- error = e;
5939
- }
5919
+ let response = false;
5940
5920
 
5941
- if (error?.errno === -4077) {
5942
- return "ECONNRESET";
5943
- }
5921
+ for (const cookieManager of this._cookies) {
5922
+ let result = null;
5923
+ let error = null;
5944
5924
 
5945
- console.log(result);
5946
- console.log(error);
5925
+ try {
5926
+ result = await axios.request({
5927
+ method: "post",
5928
+ maxBodyLength: Infinity,
5929
+ url: "https://store.steampowered.com/twofactor/manage_action",
5930
+ headers: {
5931
+ "Content-Type": "application/x-www-form-urlencoded",
5932
+ Cookie: cookieManager.toString(),
5933
+ Origin: "https://store.steampowered.com",
5934
+ Referer: "https://store.steampowered.com/twofactor/manage",
5935
+ },
5936
+ data: qs.stringify({
5937
+ action: "deauthorize",
5938
+ sessionid: cookieManager.getCookie("sessionid"),
5939
+ }),
5940
+ });
5941
+ } catch (e) {
5942
+ error = e;
5943
+ }
5947
5944
 
5948
- if (!result) {
5949
- return;
5945
+ if (error?.errno === -4077) {
5946
+ response = new ResponseError({
5947
+ message: "ECONNRESET",
5948
+ steamId: this.getSteamIdUser(),
5949
+ });
5950
+ } else if (!result) {
5951
+ response = new ResponseError({
5952
+ message: "Failed",
5953
+ steamId: this.getSteamIdUser(),
5954
+ });
5955
+ } else if (result instanceof ResponseError) {
5956
+ response = result;
5957
+ } else if (result.request?.res?.responseUrl?.startsWith("https://store.steampowered.com/login/")) {
5958
+ return true;
5959
+ }
5950
5960
  }
5951
5961
 
5952
- if (result instanceof ResponseError) {
5953
- return result;
5954
- }
5955
- console.log(result?.data);
5956
- const example = {};
5962
+ return response;
5957
5963
  }
5958
5964
 
5959
5965
  async getMarketUnavailable() {
@@ -7233,9 +7239,9 @@ export default class SteamUser {
7233
7239
  });
7234
7240
  return revokeRefreshTokenResult?.data;
7235
7241
  }
7236
- async revokeAccessToken(accessToken, tokenId, sharedSecret) {
7242
+ async revokeAccessToken(accessToken, tokenId, sharedSecret, clientId) {
7237
7243
  const version = 1;
7238
- const clientId = tokenId;
7244
+ // const clientId = tokenId;
7239
7245
  let signatureData = Buffer.alloc(2 + 8 + 8);
7240
7246
  signatureData.writeUInt16LE(version, 0);
7241
7247
  signatureData.writeBigUInt64LE(BigInt(clientId), 2);
@@ -7256,12 +7262,28 @@ export default class SteamUser {
7256
7262
 
7257
7263
  const signature = createHmac("sha256", secretAsBuffer(sharedSecret)).update(signatureData).digest();
7258
7264
 
7265
+ /*const approver = new LoginApprover(accessToken, sharedSecret, {});
7266
+ const sessionInfo = await approver._handler.sendRequest({
7267
+ apiInterface: "Authentication",
7268
+ apiMethod: "RevokeRefreshToken",
7269
+ apiVersion: 1,
7270
+ data: {
7271
+ token_id: tokenId,
7272
+ steamid: this._steamIdUser,
7273
+ revoke_action: 1,
7274
+ signature: signature.toString(),
7275
+ },
7276
+ accessToken: accessToken,
7277
+ });
7278
+ console.log("sessionInfo", sessionInfo);*/
7279
+
7259
7280
  const Protos = helpers([
7260
7281
  {
7261
7282
  name: "csgo",
7262
7283
  protos: loadProfos(`${__dirname}/protos/webui`),
7263
7284
  },
7264
7285
  ]);
7286
+
7265
7287
  const params = {
7266
7288
  access_token: accessToken,
7267
7289
  spoof_steamid: "",
@@ -7287,13 +7309,7 @@ export default class SteamUser {
7287
7309
  url: `https://api.steampowered.com/IAuthenticationService/RevokeRefreshToken/v1?${qs.stringify(params)}`,
7288
7310
  // responseType: "arraybuffer",
7289
7311
  method: "POST",
7290
- data: {
7291
- access_token: accessToken,
7292
- token_id: tokenId,
7293
- steamid: this._steamIdUser,
7294
- revoke_action: 1,
7295
- signature: signature,
7296
- },
7312
+ data: params,
7297
7313
  headers: {
7298
7314
  "Content-Type": "multipart/form-data",
7299
7315
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "steamutils",
3
- "version": "1.3.94",
3
+ "version": "1.3.96",
4
4
  "main": "index.js",
5
5
  "dependencies": {
6
6
  "alpha-common-utils": "^1.0.6",