steamutils 1.4.23 → 1.4.25
Sign up to get free protection for your applications and to get access to all the features.
- package/.idea/codeStyles/Project.xml +0 -1
- package/.idea/git_toolbox_blame.xml +6 -0
- package/.idea/git_toolbox_prj.xml +15 -0
- package/.prettierrc.json +3 -3
- package/SteamClient.js +2658 -2658
- package/bufferHelpers.js +115 -115
- package/cheerio.js +103 -103
- package/const.js +336 -336
- package/create_remote_file.js +66 -66
- package/index.js +125 -64
- package/package.json +1 -1
- package/protos/csgo/base_gcmessages.proto +553 -553
- package/protos/csgo/base_gcmessages_csgo.proto +547 -547
- package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
- package/protos/csgo/clientmessages.proto +48 -48
- package/protos/csgo/connectionless_netmessages.proto +17 -17
- package/protos/csgo/cs_gameevents.proto +35 -35
- package/protos/csgo/cs_usercmd.proto +34 -34
- package/protos/csgo/cstrike15_gcmessages.proto +1431 -1431
- package/protos/csgo/cstrike15_usermessages.proto +592 -592
- package/protos/csgo/demo.proto +165 -165
- package/protos/csgo/econ_gcmessages.proto +219 -219
- package/protos/csgo/engine_gcmessages.proto +14 -14
- package/protos/csgo/enums_clientserver.proto +1529 -1529
- package/protos/csgo/fatdemo.proto +125 -125
- package/protos/csgo/gameevents.proto +120 -120
- package/protos/csgo/gcsdk_gcmessages.proto +323 -323
- package/protos/csgo/gcsystemmsgs.proto +243 -243
- package/protos/csgo/netmessages.proto +618 -618
- package/protos/csgo/network_connection.proto +126 -126
- package/protos/csgo/networkbasetypes.proto +246 -246
- package/protos/csgo/networksystem_protomessages.proto +17 -17
- package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
- package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
- package/protos/csgo/steammessages.proto +620 -620
- package/protos/csgo/steammessages_base.proto +301 -301
- package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
- package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
- package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
- package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
- package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
- package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
- package/protos/csgo/steammessages_unified_base.steamworkssdk.proto +30 -30
- package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
- package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
- package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
- package/protos/csgo/te.proto +259 -259
- package/protos/csgo/uifontfile_format.proto +13 -13
- package/protos/csgo/usercmd.proto +39 -39
- package/protos/csgo/usermessages.proto +752 -752
- package/protos/csgo/valveextensions.proto +17 -17
- package/protos/google/protobuf/descriptor.proto +281 -281
- package/protos/steam/clientmetrics.proto +45 -45
- package/protos/steam/content_manifest.proto +62 -62
- package/protos/steam/contenthubs.proto +41 -41
- package/protos/steam/encrypted_app_ticket.proto +10 -10
- package/protos/steam/enums.proto +501 -501
- package/protos/steam/enums_clientserver.proto +1508 -1508
- package/protos/steam/enums_productinfo.proto +14 -14
- package/protos/steam/htmlmessages.proto +1039 -1039
- package/protos/steam/offline_ticket.proto +8 -8
- package/protos/steam/steamdatagram_messages_auth.proto +65 -65
- package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
- package/protos/steam/steammessages_accounthardware.steamclient.proto +167 -167
- package/protos/steam/steammessages_appoverview.proto +204 -204
- package/protos/steam/steammessages_auth.steamclient.proto +375 -375
- package/protos/steam/steammessages_base.proto +335 -335
- package/protos/steam/steammessages_broadcast.steamclient.proto +618 -618
- package/protos/steam/steammessages_chat.steamclient.proto +1070 -1070
- package/protos/steam/steammessages_client_objects.proto +649 -649
- package/protos/steam/steammessages_clientlanp2p.proto +43 -43
- package/protos/steam/steammessages_clientmetrics.steamclient.proto +192 -192
- package/protos/steam/steammessages_clientnotificationtypes.proto +250 -250
- package/protos/steam/steammessages_clientserver.proto +392 -392
- package/protos/steam/steammessages_clientserver_2.proto +771 -771
- package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
- package/protos/steam/steammessages_clientserver_friends.proto +260 -260
- package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
- package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
- package/protos/steam/steammessages_clientserver_login.proto +167 -167
- package/protos/steam/steammessages_clientserver_mms.proto +233 -233
- package/protos/steam/steammessages_clientserver_ucm.proto +207 -207
- package/protos/steam/steammessages_clientserver_uds.proto +125 -125
- package/protos/steam/steammessages_clientserver_ufs.proto +45 -45
- package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
- package/protos/steam/steammessages_clientsettings.proto +208 -208
- package/protos/steam/steammessages_cloud.steamclient.proto +422 -422
- package/protos/steam/steammessages_contentsystem.steamclient.proto +123 -123
- package/protos/steam/steammessages_credentials.steamclient.proto +96 -96
- package/protos/steam/steammessages_datapublisher.steamclient.proto +102 -102
- package/protos/steam/steammessages_depotbuilder.steamclient.proto +99 -99
- package/protos/steam/steammessages_deviceauth.steamclient.proto +169 -169
- package/protos/steam/steammessages_econ.steamclient.proto +137 -137
- package/protos/steam/steammessages_familygroups.steamclient.proto +441 -441
- package/protos/steam/steammessages_friendmessages.steamclient.proto +141 -141
- package/protos/steam/steammessages_gamenetworking.steamclient.proto +25 -25
- package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
- package/protos/steam/steammessages_gamenotifications.steamclient.proto +131 -131
- package/protos/steam/steammessages_gameservers.steamclient.proto +136 -136
- package/protos/steam/steammessages_hiddevices.proto +157 -157
- package/protos/steam/steammessages_inventory.steamclient.proto +172 -172
- package/protos/steam/steammessages_linkfilter.steamclient.proto +39 -39
- package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +29 -29
- package/protos/steam/steammessages_market.steamclient.proto +22 -22
- package/protos/steam/steammessages_marketingmessages.steamclient.proto +273 -273
- package/protos/steam/steammessages_offline.steamclient.proto +33 -33
- package/protos/steam/steammessages_parental.steamclient.proto +262 -262
- package/protos/steam/steammessages_parties.steamclient.proto +75 -75
- package/protos/steam/steammessages_partnerapps.steamclient.proto +106 -106
- package/protos/steam/steammessages_player.steamclient.proto +915 -915
- package/protos/steam/steammessages_publishedfile.steamclient.proto +737 -737
- package/protos/steam/steammessages_qms.steamclient.proto +111 -111
- package/protos/steam/steammessages_remoteclient.proto +100 -100
- package/protos/steam/steammessages_remoteclient_discovery.proto +244 -244
- package/protos/steam/steammessages_remoteclient_service.steamclient.proto +31 -31
- package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
- package/protos/steam/steammessages_remoteplay.proto +975 -975
- package/protos/steam/steammessages_secrets.steamclient.proto +35 -35
- package/protos/steam/steammessages_shader.steamclient.proto +89 -89
- package/protos/steam/steammessages_site_license.steamclient.proto +103 -103
- package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
- package/protos/steam/steammessages_siteserverui.proto +130 -130
- package/protos/steam/steammessages_steamtv.steamclient.proto +533 -533
- package/protos/steam/steammessages_store.steamclient.proto +404 -404
- package/protos/steam/steammessages_storebrowse.steamclient.proto +457 -457
- package/protos/steam/steammessages_timedtrial.steamclient.proto +40 -40
- package/protos/steam/steammessages_twofactor.steamclient.proto +157 -157
- package/protos/steam/steammessages_unified_base.steamclient.proto +45 -45
- package/protos/steam/steammessages_unified_test.steamclient.proto +51 -51
- package/protos/steam/steammessages_useraccount.steamclient.proto +211 -211
- package/protos/steam/steammessages_vac.steamclient.proto +37 -37
- package/protos/steam/steammessages_video.steamclient.proto +68 -68
- package/protos/steam/steammessages_virtualcontroller.proto +138 -138
- package/protos/steam/steammessages_workshop.steamclient.proto +19 -19
- package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
- package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
- package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
- package/protos/steam/webuimessages_achievements.proto +29 -29
- package/protos/steam/webuimessages_base.proto +24 -24
- package/protos/steam/webuimessages_gamenotes.proto +21 -21
- package/protos/steam/webuimessages_gamescope.proto +57 -57
- package/protos/steam/webuimessages_steamengine.proto +41 -41
- package/protos/steam/webuimessages_steamos.proto +114 -114
- package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
- package/protos/steam/webuimessages_systemmanager.proto +17 -17
- package/protos/steam/webuimessages_transport.proto +22 -22
- package/protos/steam/webuimessages_transportvalidation.proto +111 -111
- package/protos/webui/common.proto +4024 -4024
- package/protos/webui/common_base.proto +27 -27
- package/protos/webui/service_accountcart.proto +153 -153
- package/protos/webui/service_accountlinking.proto +27 -27
- package/protos/webui/service_accountprivacy.proto +42 -42
- package/protos/webui/service_accountprivateapps.proto +34 -34
- package/protos/webui/service_auction.proto +97 -97
- package/protos/webui/service_authentication.proto +222 -222
- package/protos/webui/service_authenticationsupport.proto +74 -74
- package/protos/webui/service_broadcast.proto +562 -562
- package/protos/webui/service_chat.proto +11 -11
- package/protos/webui/service_chatroom.proto +810 -810
- package/protos/webui/service_chatusability.proto +107 -107
- package/protos/webui/service_checkout.proto +84 -84
- package/protos/webui/service_clan.proto +41 -41
- package/protos/webui/service_clanchatrooms.proto +25 -25
- package/protos/webui/service_clanfaqs.proto +202 -202
- package/protos/webui/service_clientcomm.proto +151 -151
- package/protos/webui/service_clientmetrics.proto +22 -22
- package/protos/webui/service_cloud.proto +222 -222
- package/protos/webui/service_cloudconfigstore.proto +51 -51
- package/protos/webui/service_cloudgaming.proto +30 -30
- package/protos/webui/service_community.proto +365 -365
- package/protos/webui/service_dailydeal.proto +89 -89
- package/protos/webui/service_econ.proto +134 -134
- package/protos/webui/service_embedded.proto +24 -24
- package/protos/webui/service_experimentservice.proto +6 -6
- package/protos/webui/service_familygroups.proto +355 -355
- package/protos/webui/service_fovasvideo.proto +15 -15
- package/protos/webui/service_friendmessages.proto +133 -133
- package/protos/webui/service_friendslist.proto +70 -70
- package/protos/webui/service_gamenotes.proto +15 -15
- package/protos/webui/service_gamerecording.proto +265 -265
- package/protos/webui/service_gamerecordingclip.proto +85 -85
- package/protos/webui/service_gamerecordingdebug.proto +52 -52
- package/protos/webui/service_helprequestlogs.proto +16 -16
- package/protos/webui/service_loyaltyrewards.proto +252 -252
- package/protos/webui/service_marketingmessages.proto +215 -215
- package/protos/webui/service_mobileapp.proto +18 -18
- package/protos/webui/service_mobileauth.proto +24 -24
- package/protos/webui/service_mobiledevice.proto +26 -26
- package/protos/webui/service_mobileperaccount.proto +31 -31
- package/protos/webui/service_news.proto +110 -110
- package/protos/webui/service_parental.proto +258 -258
- package/protos/webui/service_partnermembershipinvite.proto +34 -34
- package/protos/webui/service_partnerstorebrowse.proto +28 -28
- package/protos/webui/service_phone.proto +51 -51
- package/protos/webui/service_physicalgoods.proto +15 -15
- package/protos/webui/service_player.proto +918 -918
- package/protos/webui/service_promotioneventinvites.proto +109 -109
- package/protos/webui/service_promotionplanning.proto +186 -186
- package/protos/webui/service_promotionstats.proto +23 -23
- package/protos/webui/service_publishedfile.proto +714 -714
- package/protos/webui/service_publishing.proto +200 -200
- package/protos/webui/service_quest.proto +127 -127
- package/protos/webui/service_salefeature.proto +373 -373
- package/protos/webui/service_saleitemrewards.proto +54 -54
- package/protos/webui/service_shoppingcart.proto +152 -152
- package/protos/webui/service_steamawards.proto +76 -76
- package/protos/webui/service_steamcharts.proto +75 -75
- package/protos/webui/service_steamengine.proto +36 -36
- package/protos/webui/service_steamlearn.proto +876 -876
- package/protos/webui/service_steamnotification.proto +73 -73
- package/protos/webui/service_steamtv.proto +495 -495
- package/protos/webui/service_steamvrvoicechat.proto +67 -67
- package/protos/webui/service_steamvrwebrtc.proto +48 -48
- package/protos/webui/service_storagedevicemanager.proto +104 -104
- package/protos/webui/service_store.proto +359 -359
- package/protos/webui/service_storeappsimilarity.proto +76 -76
- package/protos/webui/service_storebrowse.proto +103 -103
- package/protos/webui/service_storemarketing.proto +44 -44
- package/protos/webui/service_storequery.proto +103 -103
- package/protos/webui/service_storesales.proto +87 -87
- package/protos/webui/service_storetopsellers.proto +44 -44
- package/protos/webui/service_systemmanager.proto +11 -11
- package/protos/webui/service_test_transporterror.proto +6 -6
- package/protos/webui/service_transportauth.proto +17 -17
- package/protos/webui/service_transportvalidation.proto +69 -69
- package/protos/webui/service_twofactor.proto +170 -170
- package/protos/webui/service_useraccount.proto +142 -142
- package/protos/webui/service_usergameactivity.proto +34 -34
- package/protos/webui/service_usergamenotes.proto +70 -70
- package/protos/webui/service_usernews.proto +68 -68
- package/protos/webui/service_userreviews.proto +97 -97
- package/protos/webui/service_video.proto +50 -50
- package/protos/webui/service_videoclip.proto +62 -62
- package/protos/webui/service_voicechat.proto +139 -139
- package/protos/webui/service_webrtc.proto +52 -52
- package/remote.js +6784 -6784
- package/utils.js +168 -168
- package/.idea/deployment.xml +0 -14
package/create_remote_file.js
CHANGED
@@ -1,66 +1,66 @@
|
|
1
|
-
import SteamUser from "./index.js";
|
2
|
-
import _ from "lodash";
|
3
|
-
|
4
|
-
(async function () {
|
5
|
-
const xx = SteamUser;
|
6
|
-
|
7
|
-
let json = "";
|
8
|
-
|
9
|
-
function doWrite(user, is_static) {
|
10
|
-
for (const methodName of Object.getOwnPropertyNames(user)) {
|
11
|
-
if (methodName === "constructor" || methodName === "length" || methodName === "name" || methodName === "prototype" || methodName === "RequestXML_TooManyRequests" || methodName === "MAX_RETRY") {
|
12
|
-
continue;
|
13
|
-
}
|
14
|
-
const fnString = user[methodName].toString().trim();
|
15
|
-
const async = "async";
|
16
|
-
// const async = fnString.startsWith("async") ? "async" : "";
|
17
|
-
let params = fnString.split("(")[1].split(")")[0];
|
18
|
-
const paramsList = params.split(",");
|
19
|
-
for (let i = 0; i < paramsList.length; i++) {
|
20
|
-
if (paramsList[i].includes("=")) {
|
21
|
-
paramsList[i] = paramsList[i].split("=")[0].trim();
|
22
|
-
}
|
23
|
-
}
|
24
|
-
params = paramsList.join(", ").trim();
|
25
|
-
if (params.startsWith("{") && !params.endsWith("}")) {
|
26
|
-
params = `${params}}`;
|
27
|
-
}
|
28
|
-
|
29
|
-
json += `${`
|
30
|
-
${is_static ? "static " : ""} ${async} ${methodName}(${params}){
|
31
|
-
const __params = [${params}];
|
32
|
-
if(__params.length === 1 && __params[0] === undefined){
|
33
|
-
__params.length = 0
|
34
|
-
}
|
35
|
-
let __cookies = this._cookies;
|
36
|
-
if (__cookies) {
|
37
|
-
if (!Array.isArray(__cookies)) {
|
38
|
-
__cookies = [__cookies];
|
39
|
-
}
|
40
|
-
__cookies = __cookies.map(function (cookie) {
|
41
|
-
return cookie.toString();
|
42
|
-
});
|
43
|
-
}
|
44
|
-
|
45
|
-
try {
|
46
|
-
const result = (
|
47
|
-
await axios.post(getAppURL(), {
|
48
|
-
method: "${methodName}",
|
49
|
-
params: __params,
|
50
|
-
cookies: __cookies,
|
51
|
-
is_static: ${!!is_static}
|
52
|
-
})
|
53
|
-
).data?.result;
|
54
|
-
return result
|
55
|
-
} catch (e) {
|
56
|
-
/* empty */
|
57
|
-
}
|
58
|
-
}`.trim()}\n`;
|
59
|
-
}
|
60
|
-
}
|
61
|
-
|
62
|
-
doWrite(SteamUser.prototype, false);
|
63
|
-
doWrite(SteamUser, true);
|
64
|
-
|
65
|
-
console.log("");
|
66
|
-
})();
|
1
|
+
import SteamUser from "./index.js";
|
2
|
+
import _ from "lodash";
|
3
|
+
|
4
|
+
(async function () {
|
5
|
+
const xx = SteamUser;
|
6
|
+
|
7
|
+
let json = "";
|
8
|
+
|
9
|
+
function doWrite(user, is_static) {
|
10
|
+
for (const methodName of Object.getOwnPropertyNames(user)) {
|
11
|
+
if (methodName === "constructor" || methodName === "length" || methodName === "name" || methodName === "prototype" || methodName === "RequestXML_TooManyRequests" || methodName === "MAX_RETRY") {
|
12
|
+
continue;
|
13
|
+
}
|
14
|
+
const fnString = user[methodName].toString().trim();
|
15
|
+
const async = "async";
|
16
|
+
// const async = fnString.startsWith("async") ? "async" : "";
|
17
|
+
let params = fnString.split("(")[1].split(")")[0];
|
18
|
+
const paramsList = params.split(",");
|
19
|
+
for (let i = 0; i < paramsList.length; i++) {
|
20
|
+
if (paramsList[i].includes("=")) {
|
21
|
+
paramsList[i] = paramsList[i].split("=")[0].trim();
|
22
|
+
}
|
23
|
+
}
|
24
|
+
params = paramsList.join(", ").trim();
|
25
|
+
if (params.startsWith("{") && !params.endsWith("}")) {
|
26
|
+
params = `${params}}`;
|
27
|
+
}
|
28
|
+
|
29
|
+
json += `${`
|
30
|
+
${is_static ? "static " : ""} ${async} ${methodName}(${params}){
|
31
|
+
const __params = [${params}];
|
32
|
+
if(__params.length === 1 && __params[0] === undefined){
|
33
|
+
__params.length = 0
|
34
|
+
}
|
35
|
+
let __cookies = this._cookies;
|
36
|
+
if (__cookies) {
|
37
|
+
if (!Array.isArray(__cookies)) {
|
38
|
+
__cookies = [__cookies];
|
39
|
+
}
|
40
|
+
__cookies = __cookies.map(function (cookie) {
|
41
|
+
return cookie.toString();
|
42
|
+
});
|
43
|
+
}
|
44
|
+
|
45
|
+
try {
|
46
|
+
const result = (
|
47
|
+
await axios.post(getAppURL(), {
|
48
|
+
method: "${methodName}",
|
49
|
+
params: __params,
|
50
|
+
cookies: __cookies,
|
51
|
+
is_static: ${!!is_static}
|
52
|
+
})
|
53
|
+
).data?.result;
|
54
|
+
return result
|
55
|
+
} catch (e) {
|
56
|
+
/* empty */
|
57
|
+
}
|
58
|
+
}`.trim()}\n`;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
doWrite(SteamUser.prototype, false);
|
63
|
+
doWrite(SteamUser, true);
|
64
|
+
|
65
|
+
console.log("");
|
66
|
+
})();
|
package/index.js
CHANGED
@@ -1140,6 +1140,9 @@ export default class SteamUser {
|
|
1140
1140
|
if (value === undefined || value === null) {
|
1141
1141
|
value = "";
|
1142
1142
|
}
|
1143
|
+
if (typeof value === "boolean" || typeof value === "number") {
|
1144
|
+
value = value.toString();
|
1145
|
+
}
|
1143
1146
|
try {
|
1144
1147
|
form.append(name, value);
|
1145
1148
|
} catch (e) {
|
@@ -4911,55 +4914,104 @@ export default class SteamUser {
|
|
4911
4914
|
}
|
4912
4915
|
|
4913
4916
|
async removePhoneNumber() {
|
4914
|
-
const
|
4915
|
-
|
4917
|
+
const getHelpLink = async () => {
|
4918
|
+
const response = await this._httpRequest("https://help.steampowered.com/en/wizard/HelpRemovePhoneNumber?redir=store/account");
|
4919
|
+
const html = response.data;
|
4920
|
+
const $ = cheerio.load(html);
|
4921
|
+
const buttons = $("a.help_wizard_button");
|
4922
|
+
const buttonsMapping = [...buttons].map(function (el) {
|
4923
|
+
el = $(el);
|
4924
|
+
const text = el.text().trim();
|
4925
|
+
const link = el.attr("href");
|
4926
|
+
return {
|
4927
|
+
text,
|
4928
|
+
link,
|
4929
|
+
};
|
4930
|
+
});
|
4931
|
+
|
4932
|
+
const steamAppConfirmBtn = buttonsMapping.find(({ text }) => text === "Send a confirmation to my Steam Mobile app");
|
4933
|
+
if (steamAppConfirmBtn) {
|
4934
|
+
return {
|
4935
|
+
...steamAppConfirmBtn,
|
4936
|
+
type: "SteamAppConfirm",
|
4937
|
+
};
|
4938
|
+
}
|
4939
|
+
|
4940
|
+
const phoneTextingConfirmBtn = buttonsMapping.find(({ text }) => text.startsWith("Text an account verification code to my phone number ending in"));
|
4941
|
+
if (phoneTextingConfirmBtn) {
|
4942
|
+
return {
|
4943
|
+
...phoneTextingConfirmBtn,
|
4944
|
+
type: "PhoneTextingConfirm",
|
4945
|
+
};
|
4946
|
+
}
|
4947
|
+
};
|
4948
|
+
|
4949
|
+
const isVerificationCodeSent = (html) => {
|
4950
|
+
const $ = cheerio.load(html);
|
4951
|
+
const help_page_title = $("#forgot_login_code_form .help_page_title").text().trim();
|
4952
|
+
return help_page_title.startsWith("A verification code was sent to phone number ending in");
|
4953
|
+
};
|
4954
|
+
|
4955
|
+
const { type, link: helpLink } = (await getHelpLink()) || {};
|
4956
|
+
if (!type) {
|
4916
4957
|
return;
|
4917
4958
|
}
|
4918
4959
|
|
4919
|
-
|
4920
|
-
const
|
4921
|
-
|
4922
|
-
|
4923
|
-
|
4924
|
-
|
4925
|
-
|
4926
|
-
|
4927
|
-
|
4928
|
-
|
4929
|
-
|
4930
|
-
|
4931
|
-
|
4932
|
-
|
4933
|
-
|
4934
|
-
|
4935
|
-
|
4936
|
-
|
4960
|
+
const result = await this._httpRequest(helpLink);
|
4961
|
+
const html = result?.data;
|
4962
|
+
if (!html || typeof html !== "string" || result instanceof ResponseError) {
|
4963
|
+
return;
|
4964
|
+
}
|
4965
|
+
|
4966
|
+
const params = SteamUser.parseWizardPageParams(html);
|
4967
|
+
const paramsExample = {
|
4968
|
+
g_sessionID: "a32bcb41a7917a9f0e20a02a",
|
4969
|
+
issue: {
|
4970
|
+
s: "8531824267074740155",
|
4971
|
+
reset: "4",
|
4972
|
+
lost: "0",
|
4973
|
+
method: "4",
|
4974
|
+
issueid: "403",
|
4975
|
+
},
|
4976
|
+
g_rgDefaultWizardPageParams: {
|
4977
|
+
wizard_ajax: 1,
|
4978
|
+
gamepad: 0,
|
4979
|
+
},
|
4980
|
+
};
|
4981
|
+
|
4982
|
+
if (!params) {
|
4937
4983
|
return {
|
4938
4984
|
success: false,
|
4939
4985
|
};
|
4986
|
+
}
|
4940
4987
|
|
4941
|
-
|
4942
|
-
|
4943
|
-
|
4944
|
-
|
4945
|
-
|
4946
|
-
|
4947
|
-
|
4948
|
-
|
4949
|
-
|
4950
|
-
|
4951
|
-
|
4952
|
-
|
4953
|
-
|
4954
|
-
|
4955
|
-
|
4956
|
-
|
4957
|
-
|
4988
|
+
if (!isVerificationCodeSent(html)) {
|
4989
|
+
const sendAccountRecoveryCodeResult = await this._httpRequest({
|
4990
|
+
url: `https://help.steampowered.com/en/wizard/AjaxSendAccountRecoveryCode`,
|
4991
|
+
headers: {
|
4992
|
+
"x-requested-with": "XMLHttpRequest",
|
4993
|
+
"content-type": "application/x-www-form-urlencoded",
|
4994
|
+
},
|
4995
|
+
data: {
|
4996
|
+
...params.g_rgDefaultWizardPageParams,
|
4997
|
+
s: params.issue.s,
|
4998
|
+
method: params.issue.method,
|
4999
|
+
link: "",
|
5000
|
+
},
|
5001
|
+
method: "POST",
|
5002
|
+
});
|
5003
|
+
if (sendAccountRecoveryCodeResult instanceof ResponseError) {
|
5004
|
+
return sendAccountRecoveryCodeResult;
|
5005
|
+
}
|
5006
|
+
return {
|
5007
|
+
success: !!sendAccountRecoveryCodeResult.data?.success,
|
5008
|
+
params,
|
5009
|
+
};
|
4958
5010
|
}
|
4959
5011
|
|
4960
5012
|
return {
|
4961
|
-
success:
|
4962
|
-
|
5013
|
+
success: true,
|
5014
|
+
params,
|
4963
5015
|
};
|
4964
5016
|
}
|
4965
5017
|
|
@@ -7280,6 +7332,39 @@ export default class SteamUser {
|
|
7280
7332
|
} catch (e) {}
|
7281
7333
|
}
|
7282
7334
|
|
7335
|
+
static parseWizardPageParams(html) {
|
7336
|
+
if (!html || typeof html !== "string") {
|
7337
|
+
return;
|
7338
|
+
}
|
7339
|
+
|
7340
|
+
const $ = cheerio.load(html);
|
7341
|
+
const forgot_login_code_form = $("#forgot_login_code_form");
|
7342
|
+
const s = forgot_login_code_form.find('input[name="s"]').val();
|
7343
|
+
const reset = forgot_login_code_form.find('input[name="reset"]').val();
|
7344
|
+
const lost = forgot_login_code_form.find('input[name="lost"]').val();
|
7345
|
+
const method = forgot_login_code_form.find('input[name="method"]').val();
|
7346
|
+
const issueid = forgot_login_code_form.find('input[name="issueid"]').val();
|
7347
|
+
|
7348
|
+
const cleanHtml = html.replaceAll(/\s+/gi, " ");
|
7349
|
+
//do not remove this line
|
7350
|
+
const g_sessionID = cleanHtml.substringBetweenOrNull('var g_sessionID = "', '";');
|
7351
|
+
const g_rgDefaultWizardPageParamsStr = cleanHtml.substringAfter("g_rgDefaultWizardPageParams =").trim().substringBefore(";").trim();
|
7352
|
+
const g_rgDefaultWizardPageParams = eval(`() => {return ${g_rgDefaultWizardPageParamsStr};}`)();
|
7353
|
+
delete g_rgDefaultWizardPageParams.sessionid;
|
7354
|
+
|
7355
|
+
return {
|
7356
|
+
g_sessionID,
|
7357
|
+
issue: {
|
7358
|
+
s,
|
7359
|
+
reset,
|
7360
|
+
lost,
|
7361
|
+
method,
|
7362
|
+
issueid,
|
7363
|
+
},
|
7364
|
+
g_rgDefaultWizardPageParams,
|
7365
|
+
};
|
7366
|
+
}
|
7367
|
+
|
7283
7368
|
async enumerateTokens(accessToken) {
|
7284
7369
|
if (!accessToken || typeof accessToken !== "string") {
|
7285
7370
|
console.error("revokeAccessToken", "invalid accessToken", accessToken);
|
@@ -7466,31 +7551,7 @@ export default class SteamUser {
|
|
7466
7551
|
if (!html.includes("For security, verify that the code in the box below matches the code we display on the confirmations page.")) {
|
7467
7552
|
return;
|
7468
7553
|
}
|
7469
|
-
|
7470
|
-
const forgot_login_code_form = $("#forgot_login_code_form");
|
7471
|
-
const s = forgot_login_code_form.find('input[name="s"]').val();
|
7472
|
-
const reset = forgot_login_code_form.find('input[name="reset"]').val();
|
7473
|
-
const lost = forgot_login_code_form.find('input[name="lost"]').val();
|
7474
|
-
const method = forgot_login_code_form.find('input[name="method"]').val();
|
7475
|
-
const issueid = forgot_login_code_form.find('input[name="issueid"]').val();
|
7476
|
-
|
7477
|
-
const cleanHtml = html.replaceAll(/\s+/gi, " ");
|
7478
|
-
//do not remove this line
|
7479
|
-
const g_sessionID = cleanHtml.substringAfter("g_sessionID =").trim().substringBefore(";").replaceAll('"', "").trim();
|
7480
|
-
const g_rgDefaultWizardPageParamsStr = cleanHtml.substringAfter("g_rgDefaultWizardPageParams =").trim().substringBefore(";").trim();
|
7481
|
-
const g_rgDefaultWizardPageParams = eval(`() => {return ${g_rgDefaultWizardPageParamsStr};}`)();
|
7482
|
-
delete g_rgDefaultWizardPageParams.sessionid;
|
7483
|
-
|
7484
|
-
return {
|
7485
|
-
issue: {
|
7486
|
-
s,
|
7487
|
-
reset,
|
7488
|
-
lost,
|
7489
|
-
method,
|
7490
|
-
issueid,
|
7491
|
-
},
|
7492
|
-
g_rgDefaultWizardPageParams,
|
7493
|
-
};
|
7554
|
+
return SteamUser.parseWizardPageParams(html);
|
7494
7555
|
};
|
7495
7556
|
const sendAccountRecoveryCode = async (issue, g_rgDefaultWizardPageParams, helpLink) => {
|
7496
7557
|
const result = await this._httpRequest({
|