steamutils 1.4.92 → 1.4.94

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. package/.idea/codeStyles/Project.xml +0 -1
  2. package/.idea/gbrowser_project.xml +11 -0
  3. package/.idea/git_toolbox_blame.xml +6 -0
  4. package/.idea/git_toolbox_prj.xml +15 -0
  5. package/.prettierrc.json +3 -3
  6. package/SteamClient.js +1 -1
  7. package/_steamproto.js +33 -33
  8. package/axios.js +84 -84
  9. package/bufferHelpers.js +115 -115
  10. package/cheerio.js +103 -103
  11. package/const.js +518 -518
  12. package/create_proto.js +96 -96
  13. package/create_remote_file.js +159 -153
  14. package/full_steamproto.js +34 -34
  15. package/helpers/protos.js +48 -48
  16. package/index.js +7781 -7776
  17. package/package.json +1 -1
  18. package/protos/csgo/base_gcmessages.proto +553 -553
  19. package/protos/csgo/base_gcmessages_csgo.proto +547 -547
  20. package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
  21. package/protos/csgo/clientmessages.proto +48 -48
  22. package/protos/csgo/connectionless_netmessages.proto +17 -17
  23. package/protos/csgo/cs_gameevents.proto +35 -35
  24. package/protos/csgo/cs_usercmd.proto +34 -34
  25. package/protos/csgo/cstrike15_usermessages.proto +592 -592
  26. package/protos/csgo/demo.proto +165 -165
  27. package/protos/csgo/econ_gcmessages.proto +219 -219
  28. package/protos/csgo/enums_clientserver.proto +1529 -1529
  29. package/protos/csgo/fatdemo.proto +125 -125
  30. package/protos/csgo/gameevents.proto +120 -120
  31. package/protos/csgo/gcsdk_gcmessages.proto +323 -323
  32. package/protos/csgo/gcsystemmsgs.proto +243 -243
  33. package/protos/csgo/netmessages.proto +618 -618
  34. package/protos/csgo/networkbasetypes.proto +246 -246
  35. package/protos/csgo/networksystem_protomessages.proto +17 -17
  36. package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
  37. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
  38. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
  39. package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
  40. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
  41. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
  42. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
  43. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
  44. package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
  45. package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
  46. package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
  47. package/protos/csgo/te.proto +259 -259
  48. package/protos/csgo/uifontfile_format.proto +13 -13
  49. package/protos/csgo/usercmd.proto +39 -39
  50. package/protos/csgo/usermessages.proto +752 -752
  51. package/protos/google/protobuf/descriptor.proto +281 -281
  52. package/protos/steam/clientmetrics.proto +45 -45
  53. package/protos/steam/content_manifest.proto +62 -62
  54. package/protos/steam/contenthubs.proto +41 -41
  55. package/protos/steam/encrypted_app_ticket.proto +10 -10
  56. package/protos/steam/enums.proto +501 -501
  57. package/protos/steam/enums_clientserver.proto +1508 -1508
  58. package/protos/steam/enums_productinfo.proto +14 -14
  59. package/protos/steam/htmlmessages.proto +1039 -1039
  60. package/protos/steam/offline_ticket.proto +8 -8
  61. package/protos/steam/steamdatagram_messages_auth.proto +65 -65
  62. package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
  63. package/protos/steam/steammessages_accounthardware.steamclient.proto +167 -167
  64. package/protos/steam/steammessages_appoverview.proto +204 -204
  65. package/protos/steam/steammessages_auth.steamclient.proto +375 -375
  66. package/protos/steam/steammessages_broadcast.steamclient.proto +618 -618
  67. package/protos/steam/steammessages_chat.steamclient.proto +1070 -1070
  68. package/protos/steam/steammessages_client_objects.proto +649 -649
  69. package/protos/steam/steammessages_clientlanp2p.proto +43 -43
  70. package/protos/steam/steammessages_clientmetrics.steamclient.proto +192 -192
  71. package/protos/steam/steammessages_clientnotificationtypes.proto +250 -250
  72. package/protos/steam/steammessages_clientserver.proto +392 -392
  73. package/protos/steam/steammessages_clientserver_2.proto +771 -771
  74. package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
  75. package/protos/steam/steammessages_clientserver_friends.proto +260 -260
  76. package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
  77. package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
  78. package/protos/steam/steammessages_clientserver_login.proto +167 -167
  79. package/protos/steam/steammessages_clientserver_mms.proto +233 -233
  80. package/protos/steam/steammessages_clientserver_ucm.proto +207 -207
  81. package/protos/steam/steammessages_clientserver_uds.proto +125 -125
  82. package/protos/steam/steammessages_clientserver_ufs.proto +45 -45
  83. package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
  84. package/protos/steam/steammessages_cloud.steamclient.proto +422 -422
  85. package/protos/steam/steammessages_contentsystem.steamclient.proto +123 -123
  86. package/protos/steam/steammessages_credentials.steamclient.proto +96 -96
  87. package/protos/steam/steammessages_datapublisher.steamclient.proto +102 -102
  88. package/protos/steam/steammessages_depotbuilder.steamclient.proto +99 -99
  89. package/protos/steam/steammessages_deviceauth.steamclient.proto +169 -169
  90. package/protos/steam/steammessages_econ.steamclient.proto +137 -137
  91. package/protos/steam/steammessages_familygroups.steamclient.proto +441 -441
  92. package/protos/steam/steammessages_friendmessages.steamclient.proto +141 -141
  93. package/protos/steam/steammessages_gamenetworking.steamclient.proto +25 -25
  94. package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
  95. package/protos/steam/steammessages_gamenotifications.steamclient.proto +131 -131
  96. package/protos/steam/steammessages_gameservers.steamclient.proto +136 -136
  97. package/protos/steam/steammessages_hiddevices.proto +157 -157
  98. package/protos/steam/steammessages_inventory.steamclient.proto +172 -172
  99. package/protos/steam/steammessages_linkfilter.steamclient.proto +39 -39
  100. package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +29 -29
  101. package/protos/steam/steammessages_market.steamclient.proto +22 -22
  102. package/protos/steam/steammessages_marketingmessages.steamclient.proto +273 -273
  103. package/protos/steam/steammessages_offline.steamclient.proto +33 -33
  104. package/protos/steam/steammessages_parental.steamclient.proto +262 -262
  105. package/protos/steam/steammessages_parties.steamclient.proto +75 -75
  106. package/protos/steam/steammessages_partnerapps.steamclient.proto +106 -106
  107. package/protos/steam/steammessages_player.steamclient.proto +915 -915
  108. package/protos/steam/steammessages_publishedfile.steamclient.proto +737 -737
  109. package/protos/steam/steammessages_qms.steamclient.proto +111 -111
  110. package/protos/steam/steammessages_remoteclient.proto +100 -100
  111. package/protos/steam/steammessages_remoteclient_discovery.proto +244 -244
  112. package/protos/steam/steammessages_remoteclient_service.steamclient.proto +31 -31
  113. package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
  114. package/protos/steam/steammessages_remoteplay.proto +975 -975
  115. package/protos/steam/steammessages_secrets.steamclient.proto +35 -35
  116. package/protos/steam/steammessages_shader.steamclient.proto +89 -89
  117. package/protos/steam/steammessages_site_license.steamclient.proto +103 -103
  118. package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
  119. package/protos/steam/steammessages_siteserverui.proto +130 -130
  120. package/protos/steam/steammessages_steamtv.steamclient.proto +533 -533
  121. package/protos/steam/steammessages_store.steamclient.proto +404 -404
  122. package/protos/steam/steammessages_storebrowse.steamclient.proto +457 -457
  123. package/protos/steam/steammessages_timedtrial.steamclient.proto +40 -40
  124. package/protos/steam/steammessages_twofactor.steamclient.proto +157 -157
  125. package/protos/steam/steammessages_unified_test.steamclient.proto +51 -51
  126. package/protos/steam/steammessages_useraccount.steamclient.proto +211 -211
  127. package/protos/steam/steammessages_vac.steamclient.proto +37 -37
  128. package/protos/steam/steammessages_video.steamclient.proto +68 -68
  129. package/protos/steam/steammessages_virtualcontroller.proto +138 -138
  130. package/protos/steam/steammessages_workshop.steamclient.proto +19 -19
  131. package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
  132. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
  133. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
  134. package/protos/steam/webuimessages_achievements.proto +29 -29
  135. package/protos/steam/webuimessages_gamenotes.proto +21 -21
  136. package/protos/steam/webuimessages_gamescope.proto +57 -57
  137. package/protos/steam/webuimessages_steamengine.proto +41 -41
  138. package/protos/steam/webuimessages_steamos.proto +114 -114
  139. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
  140. package/protos/steam/webuimessages_systemmanager.proto +17 -17
  141. package/protos/steam/webuimessages_transport.proto +22 -22
  142. package/protos/steam/webuimessages_transportvalidation.proto +111 -111
  143. package/protos/webui/common.proto +4024 -4024
  144. package/protos/webui/service_accountcart.proto +153 -153
  145. package/protos/webui/service_accountlinking.proto +27 -27
  146. package/protos/webui/service_accountprivacy.proto +42 -42
  147. package/protos/webui/service_accountprivateapps.proto +34 -34
  148. package/protos/webui/service_auction.proto +97 -97
  149. package/protos/webui/service_authentication.proto +222 -222
  150. package/protos/webui/service_authenticationsupport.proto +74 -74
  151. package/protos/webui/service_broadcast.proto +562 -562
  152. package/protos/webui/service_chat.proto +11 -11
  153. package/protos/webui/service_chatroom.proto +810 -810
  154. package/protos/webui/service_chatusability.proto +107 -107
  155. package/protos/webui/service_checkout.proto +84 -84
  156. package/protos/webui/service_clan.proto +41 -41
  157. package/protos/webui/service_clanchatrooms.proto +25 -25
  158. package/protos/webui/service_clanfaqs.proto +202 -202
  159. package/protos/webui/service_clientcomm.proto +151 -151
  160. package/protos/webui/service_clientmetrics.proto +22 -22
  161. package/protos/webui/service_cloud.proto +222 -222
  162. package/protos/webui/service_cloudconfigstore.proto +51 -51
  163. package/protos/webui/service_cloudgaming.proto +30 -30
  164. package/protos/webui/service_community.proto +365 -365
  165. package/protos/webui/service_dailydeal.proto +89 -89
  166. package/protos/webui/service_econ.proto +134 -134
  167. package/protos/webui/service_embedded.proto +24 -24
  168. package/protos/webui/service_experimentservice.proto +6 -6
  169. package/protos/webui/service_familygroups.proto +355 -355
  170. package/protos/webui/service_fovasvideo.proto +15 -15
  171. package/protos/webui/service_friendmessages.proto +133 -133
  172. package/protos/webui/service_friendslist.proto +70 -70
  173. package/protos/webui/service_gamenotes.proto +15 -15
  174. package/protos/webui/service_gamerecording.proto +265 -265
  175. package/protos/webui/service_gamerecordingclip.proto +85 -85
  176. package/protos/webui/service_gamerecordingdebug.proto +52 -52
  177. package/protos/webui/service_helprequestlogs.proto +16 -16
  178. package/protos/webui/service_loyaltyrewards.proto +252 -252
  179. package/protos/webui/service_marketingmessages.proto +215 -215
  180. package/protos/webui/service_mobileapp.proto +18 -18
  181. package/protos/webui/service_mobileauth.proto +24 -24
  182. package/protos/webui/service_mobiledevice.proto +26 -26
  183. package/protos/webui/service_mobileperaccount.proto +31 -31
  184. package/protos/webui/service_news.proto +110 -110
  185. package/protos/webui/service_parental.proto +258 -258
  186. package/protos/webui/service_partnermembershipinvite.proto +34 -34
  187. package/protos/webui/service_partnerstorebrowse.proto +28 -28
  188. package/protos/webui/service_phone.proto +51 -51
  189. package/protos/webui/service_physicalgoods.proto +15 -15
  190. package/protos/webui/service_player.proto +918 -918
  191. package/protos/webui/service_promotioneventinvites.proto +109 -109
  192. package/protos/webui/service_promotionplanning.proto +186 -186
  193. package/protos/webui/service_promotionstats.proto +23 -23
  194. package/protos/webui/service_publishedfile.proto +714 -714
  195. package/protos/webui/service_publishing.proto +200 -200
  196. package/protos/webui/service_quest.proto +127 -127
  197. package/protos/webui/service_salefeature.proto +373 -373
  198. package/protos/webui/service_saleitemrewards.proto +54 -54
  199. package/protos/webui/service_shoppingcart.proto +152 -152
  200. package/protos/webui/service_steamawards.proto +76 -76
  201. package/protos/webui/service_steamcharts.proto +75 -75
  202. package/protos/webui/service_steamengine.proto +36 -36
  203. package/protos/webui/service_steamlearn.proto +876 -876
  204. package/protos/webui/service_steamnotification.proto +73 -73
  205. package/protos/webui/service_steamtv.proto +495 -495
  206. package/protos/webui/service_steamvrvoicechat.proto +67 -67
  207. package/protos/webui/service_steamvrwebrtc.proto +48 -48
  208. package/protos/webui/service_storagedevicemanager.proto +104 -104
  209. package/protos/webui/service_store.proto +359 -359
  210. package/protos/webui/service_storeappsimilarity.proto +76 -76
  211. package/protos/webui/service_storebrowse.proto +103 -103
  212. package/protos/webui/service_storemarketing.proto +44 -44
  213. package/protos/webui/service_storequery.proto +103 -103
  214. package/protos/webui/service_storesales.proto +87 -87
  215. package/protos/webui/service_storetopsellers.proto +44 -44
  216. package/protos/webui/service_systemmanager.proto +11 -11
  217. package/protos/webui/service_test_transporterror.proto +6 -6
  218. package/protos/webui/service_transportauth.proto +17 -17
  219. package/protos/webui/service_transportvalidation.proto +69 -69
  220. package/protos/webui/service_twofactor.proto +170 -170
  221. package/protos/webui/service_useraccount.proto +142 -142
  222. package/protos/webui/service_usergameactivity.proto +34 -34
  223. package/protos/webui/service_usergamenotes.proto +70 -70
  224. package/protos/webui/service_usernews.proto +68 -68
  225. package/protos/webui/service_userreviews.proto +97 -97
  226. package/protos/webui/service_video.proto +50 -50
  227. package/protos/webui/service_videoclip.proto +62 -62
  228. package/protos/webui/service_voicechat.proto +139 -139
  229. package/protos/webui/service_webrtc.proto +52 -52
  230. package/remote.js +2209 -2203
  231. package/steamproto.js +1 -1
  232. package/utils.js +987 -987
  233. package/.idea/deployment.xml +0 -14
package/create_proto.js CHANGED
@@ -1,96 +1,96 @@
1
- import helpers, { loadProfos } from "./helpers/protos.js";
2
- import path from "path";
3
- import { fileURLToPath } from "url";
4
- import Protobuf from "protobufjs";
5
- import fs from "fs";
6
-
7
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
8
- const shortfileName = "steamproto.js";
9
- const fullfileName = "full_steamproto.js";
10
-
11
- function main() {
12
- const rootDir = `${__dirname}/protos/`;
13
- const Protos = helpers([
14
- {
15
- name: "csgo",
16
- protos: loadProfos(rootDir),
17
- },
18
- ]);
19
-
20
- const content = fs.readFileSync("_steamproto.js", { encoding: "utf8", flag: "r" });
21
-
22
- fs.writeFileSync(shortfileName, `${content}\nexport const SteamProtoType = {};export const ESteamProto = {};`);
23
- fs.writeFileSync(fullfileName, `${content}\nexport const SteamProtoType = {};export const ESteamProto = {};`);
24
-
25
- for (const key in Protos.csgo) {
26
- let csgo = Protos.csgo[key];
27
- if (typeof csgo === "function" || typeof csgo === "boolean" || typeof csgo === "string" || Array.isArray(csgo) || csgo === null) {
28
- continue;
29
- }
30
-
31
- if (csgo instanceof Protobuf.Type) {
32
- const fields = {};
33
- for (const fieldsKey in csgo.fields) {
34
- fields[fieldsKey] = fieldsKey;
35
- }
36
-
37
- const filename = path.relative(rootDir, csgo.filename);
38
- const text = `SteamProtoType.${key} = ${JSON.stringify({ name: csgo.name, filename })};`;
39
- fs.appendFileSync(fullfileName, text);
40
- if (hasKeyDir(key, __dirname)) {
41
- fs.appendFileSync(shortfileName, text);
42
- }
43
- } else {
44
- for (const csgoKey in csgo) {
45
- if (csgo[csgoKey] instanceof Protobuf.Enum) {
46
- const values = csgo[csgoKey].values;
47
- fs.appendFileSync(fullfileName, `ESteamProto.${csgoKey} = ${JSON.stringify(values)};`);
48
-
49
- for (const valuesKey in values) {
50
- if (!hasKeyDir(`${csgoKey}.${valuesKey}`, __dirname)) {
51
- delete values[valuesKey];
52
- }
53
- }
54
- if (Object.keys(values).length) {
55
- fs.appendFileSync(shortfileName, `ESteamProto.${csgoKey} = ${JSON.stringify(values)};`);
56
- }
57
- }
58
- }
59
- }
60
- }
61
- }
62
-
63
- const ignoreFiles = ["create_remote_file.js", shortfileName, fullfileName];
64
-
65
- export function hasKeyDir(key, dir) {
66
- const currentDir = fs.readdirSync(dir);
67
- for (const currentFile of currentDir) {
68
- if (!["SteamClient.js", "index.js"].includes(currentFile)) {
69
- continue;
70
- }
71
-
72
- const _dir = path.join(dir, currentFile);
73
- const isDirectory = fs.lstatSync(_dir).isDirectory();
74
- if (isDirectory) {
75
- if (currentFile !== "node_modules") {
76
- if (hasKeyDir(key, _dir)) {
77
- return true;
78
- }
79
- }
80
- } else {
81
- if (currentFile.endsWith(".js") && !ignoreFiles.includes(currentFile)) {
82
- if (hasKeyFile(key, _dir)) {
83
- return true;
84
- }
85
- }
86
- }
87
- }
88
- return false;
89
- }
90
-
91
- export function hasKeyFile(key, file) {
92
- const content = fs.readFileSync(file);
93
- return content.includes(key);
94
- }
95
-
96
- main();
1
+ import helpers, { loadProfos } from "./helpers/protos.js";
2
+ import path from "path";
3
+ import { fileURLToPath } from "url";
4
+ import Protobuf from "protobufjs";
5
+ import fs from "fs";
6
+
7
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
8
+ const shortfileName = "steamproto.js";
9
+ const fullfileName = "full_steamproto.js";
10
+
11
+ function main() {
12
+ const rootDir = `${__dirname}/protos/`;
13
+ const Protos = helpers([
14
+ {
15
+ name: "csgo",
16
+ protos: loadProfos(rootDir),
17
+ },
18
+ ]);
19
+
20
+ const content = fs.readFileSync("_steamproto.js", { encoding: "utf8", flag: "r" });
21
+
22
+ fs.writeFileSync(shortfileName, `${content}\nexport const SteamProtoType = {};export const ESteamProto = {};`);
23
+ fs.writeFileSync(fullfileName, `${content}\nexport const SteamProtoType = {};export const ESteamProto = {};`);
24
+
25
+ for (const key in Protos.csgo) {
26
+ let csgo = Protos.csgo[key];
27
+ if (typeof csgo === "function" || typeof csgo === "boolean" || typeof csgo === "string" || Array.isArray(csgo) || csgo === null) {
28
+ continue;
29
+ }
30
+
31
+ if (csgo instanceof Protobuf.Type) {
32
+ const fields = {};
33
+ for (const fieldsKey in csgo.fields) {
34
+ fields[fieldsKey] = fieldsKey;
35
+ }
36
+
37
+ const filename = path.relative(rootDir, csgo.filename);
38
+ const text = `SteamProtoType.${key} = ${JSON.stringify({ name: csgo.name, filename })};`;
39
+ fs.appendFileSync(fullfileName, text);
40
+ if (hasKeyDir(key, __dirname)) {
41
+ fs.appendFileSync(shortfileName, text);
42
+ }
43
+ } else {
44
+ for (const csgoKey in csgo) {
45
+ if (csgo[csgoKey] instanceof Protobuf.Enum) {
46
+ const values = csgo[csgoKey].values;
47
+ fs.appendFileSync(fullfileName, `ESteamProto.${csgoKey} = ${JSON.stringify(values)};`);
48
+
49
+ for (const valuesKey in values) {
50
+ if (!hasKeyDir(`${csgoKey}.${valuesKey}`, __dirname)) {
51
+ delete values[valuesKey];
52
+ }
53
+ }
54
+ if (Object.keys(values).length) {
55
+ fs.appendFileSync(shortfileName, `ESteamProto.${csgoKey} = ${JSON.stringify(values)};`);
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ const ignoreFiles = ["create_remote_file.js", shortfileName, fullfileName];
64
+
65
+ export function hasKeyDir(key, dir) {
66
+ const currentDir = fs.readdirSync(dir);
67
+ for (const currentFile of currentDir) {
68
+ if (!["SteamClient.js", "index.js"].includes(currentFile)) {
69
+ continue;
70
+ }
71
+
72
+ const _dir = path.join(dir, currentFile);
73
+ const isDirectory = fs.lstatSync(_dir).isDirectory();
74
+ if (isDirectory) {
75
+ if (currentFile !== "node_modules") {
76
+ if (hasKeyDir(key, _dir)) {
77
+ return true;
78
+ }
79
+ }
80
+ } else {
81
+ if (currentFile.endsWith(".js") && !ignoreFiles.includes(currentFile)) {
82
+ if (hasKeyFile(key, _dir)) {
83
+ return true;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ return false;
89
+ }
90
+
91
+ export function hasKeyFile(key, file) {
92
+ const content = fs.readFileSync(file);
93
+ return content.includes(key);
94
+ }
95
+
96
+ main();
@@ -1,153 +1,159 @@
1
- import SteamUser from "./index.js";
2
- import fs from "fs";
3
-
4
- (async function () {
5
- let content = "";
6
- const ignoreMethods = ["constructor", "length", "name", "prototype", "RequestXML_TooManyRequests", "MAX_RETRY", "_httpRequest", "_httpMyRequest", "_httpRequestAjax", "_httpMyRequestAjax"];
7
- const dupplicateMethods = ["setSteamLanguage", "getCookies", "getSteamIdUser", "getMiniProfileUser", "getSessionid", "getSteamMachineAuth", "getSteamUserProfileURL", "getMyProfileURL"];
8
-
9
- function doWrite(user, is_static) {
10
- for (const methodName of Object.getOwnPropertyNames(user)) {
11
- if (ignoreMethods.includes(methodName)) {
12
- continue;
13
- }
14
- const fnString = user[methodName].toString().trim();
15
- if (dupplicateMethods.includes(methodName)) {
16
- content += `${fnString}\n`;
17
- continue;
18
- }
19
- const async = "async";
20
- // const async = fnString.startsWith("async") ? "async" : "";
21
- let params = fnString.split("(")[1].split(")")[0];
22
- const paramsList = params.split(",");
23
- for (let i = 0; i < paramsList.length; i++) {
24
- if (paramsList[i].includes("=")) {
25
- paramsList[i] = paramsList[i].split("=")[0].trim();
26
- }
27
- }
28
- params = paramsList.join(", ").trim();
29
- if (params.startsWith("{") && !params.endsWith("}")) {
30
- params = `${params}}`;
31
- }
32
-
33
- content += `${`
34
- ${is_static ? "static " : ""} ${async} ${methodName}(${params}){
35
- const {__params, __cookies} = formatParams([${params}] ${is_static ? "" : ", this._cookies"} );
36
- const config = {
37
- method: "${methodName}",
38
- params: __params,${is_static ? "" : "cookies: __cookies,"}
39
- is_static: ${!!is_static}
40
- }
41
- return await doRequest(config)
42
- }`.trim()}\n`;
43
- }
44
- }
45
-
46
- doWrite(SteamUser.prototype, false);
47
- doWrite(SteamUser, true);
48
-
49
- const fileContent = `
50
-
51
- import axios from "axios";
52
- import SteamUser, { ELanguage } from "./index.js";
53
- import CookieManager from "./CookieManager.js";
54
-
55
- function getAppURL() {
56
- if (!RemoteSteamUser.__appIndex) {
57
- RemoteSteamUser.__appIndex = 0;
58
- }
59
- RemoteSteamUser.__appIndex++;
60
- if (RemoteSteamUser.__appIndex >= RemoteSteamUser.__apps.length) {
61
- RemoteSteamUser.__appIndex = 0;
62
- }
63
- return RemoteSteamUser.__apps[RemoteSteamUser.__appIndex];
64
- }
65
-
66
- function formatParams(__params, __cookies) {
67
- if (__params.length === 1 && __params[0] === undefined) {
68
- __params.length = 0;
69
- }
70
- if (__cookies) {
71
- if (!Array.isArray(__cookies)) {
72
- __cookies = [__cookies];
73
- }
74
- __cookies = __cookies.map(function (cookie) {
75
- return cookie.toString();
76
- });
77
- }
78
-
79
- return {
80
- __params,
81
- __cookies,
82
- };
83
- }
84
-
85
- const MAX_RETRY = 5;
86
-
87
- async function doRequest(config){
88
- for (let i = 0; i < MAX_RETRY; i++) {
89
- let url = getAppURL();
90
- url = [url.replace(/\\/$/, ""), config.method].join("/");
91
-
92
- try {
93
- const response = await axios.post(url, config);
94
-
95
- if (!response || !response.data) {
96
- continue;
97
- }
98
-
99
- return response.data?.result;
100
- } catch (e) {
101
- /* empty */
102
- }
103
- }
104
- }
105
-
106
- export default class RemoteSteamUser {
107
- constructor(cookies, refreshCookie, onRefreshCookie) {
108
- if (!Array.isArray(cookies)) {
109
- cookies = [cookies];
110
- }
111
- this._refreshCookie = refreshCookie;
112
- this._onRefreshCookie = onRefreshCookie;
113
- this._cookies = cookies.map(function (cookie) {
114
- return new CookieManager(cookie?.cookie || cookie);
115
- });
116
- const timezoneOffset = new Date().getTimezoneOffset() * -1 * 60 + ",0";
117
- for (const cookie of this._cookies) {
118
- cookie.setCookie("timezoneOffset", timezoneOffset);
119
-
120
- let { steamMachineAuth, steamLoginSecure, steamRememberLogin, steamId, miniprofile, sessionid } = SteamUser.parseCookie(cookie.toString());
121
-
122
- if (!sessionid) {
123
- sessionid = SteamUser.generateSessionID();
124
- cookie.setCookie("sessionid", sessionid);
125
- }
126
-
127
- this._sessionId = sessionid;
128
- this._customURL = null;
129
- this._steamIdUser = steamId;
130
- this._miniProfileUser = miniprofile;
131
- this._steamMachineAuth = steamMachineAuth;
132
- this._steamLoginSecure = steamLoginSecure;
133
- this._steamRememberLogin = steamRememberLogin;
134
- }
135
-
136
- this.setSteamLanguage(ELanguage.english);
137
-
138
- if (!this._steamIdUser) {
139
- console.error("Invalid cookie. Missing steamId");
140
- }
141
- }
142
-
143
- ${content}
144
-
145
- }
146
-
147
-
148
- `;
149
-
150
- fs.writeFileSync("./remote.js", fileContent.trim());
151
-
152
- console.log("");
153
- })();
1
+ import SteamUser from "./index.js";
2
+ import fs from "fs";
3
+
4
+ (async function () {
5
+ let content = "";
6
+ const ignoreMethods = ["constructor", "length", "name", "prototype", "RequestXML_TooManyRequests", "MAX_RETRY", "_httpRequest", "_httpMyRequest", "_httpRequestAjax", "_httpMyRequestAjax"];
7
+ const dupplicateMethods = ["setSteamLanguage", "getCookies", "getSteamIdUser", "getMiniProfileUser", "getSessionid", "getSteamMachineAuth", "getSteamUserProfileURL", "getMyProfileURL"];
8
+
9
+ function doWrite(user, is_static) {
10
+ for (const methodName of Object.getOwnPropertyNames(user)) {
11
+ if (ignoreMethods.includes(methodName)) {
12
+ continue;
13
+ }
14
+ const fnString = user[methodName].toString().trim();
15
+ if (dupplicateMethods.includes(methodName)) {
16
+ content += `${fnString}\n`;
17
+ continue;
18
+ }
19
+ const async = "async";
20
+ // const async = fnString.startsWith("async") ? "async" : "";
21
+ let params = fnString.split("(")[1].split(")")[0];
22
+ const paramsList = params.split(",");
23
+ for (let i = 0; i < paramsList.length; i++) {
24
+ if (paramsList[i].includes("=")) {
25
+ paramsList[i] = paramsList[i].split("=")[0].trim();
26
+ }
27
+ }
28
+ params = paramsList.join(", ").trim();
29
+ if (params.startsWith("{") && !params.endsWith("}")) {
30
+ params = `${params}}`;
31
+ }
32
+
33
+ content += `${`
34
+ ${is_static ? "static " : ""} ${async} ${methodName}(${params}){
35
+ const {__params, __cookies} = formatParams([${params}] ${is_static ? "" : ", this._cookies"} );
36
+ const config = {
37
+ method: "${methodName}",
38
+ params: __params,${is_static ? "" : "cookies: __cookies,"}
39
+ is_static: ${!!is_static}
40
+ }
41
+ return await doRequest(config)
42
+ }`.trim()}\n`;
43
+ }
44
+ }
45
+
46
+ doWrite(SteamUser.prototype, false);
47
+ doWrite(SteamUser, true);
48
+
49
+ const fileContent = `
50
+
51
+ import axios from "axios";
52
+ import SteamUser, { ELanguage } from "./index.js";
53
+ import CookieManager from "./CookieManager.js";
54
+
55
+ function getAppURL() {
56
+ if (!RemoteSteamUser.__appIndex) {
57
+ RemoteSteamUser.__appIndex = 0;
58
+ }
59
+ RemoteSteamUser.__appIndex++;
60
+
61
+ if (!RemoteSteamUser.__apps__half) {
62
+ const half = Math.ceil(RemoteSteamUser.__apps.length / 2);
63
+ RemoteSteamUser.__apps__half = new Date().getDate() > 15 ? RemoteSteamUser.__apps.slice(0, half) : RemoteSteamUser.__apps.slice(half);
64
+ }
65
+
66
+ if (RemoteSteamUser.__appIndex >= RemoteSteamUser.__apps__half.length) {
67
+ RemoteSteamUser.__appIndex = 0;
68
+ }
69
+ return RemoteSteamUser.__apps__half[RemoteSteamUser.__appIndex];
70
+ }
71
+
72
+ function formatParams(__params, __cookies) {
73
+ if (__params.length === 1 && __params[0] === undefined) {
74
+ __params.length = 0;
75
+ }
76
+ if (__cookies) {
77
+ if (!Array.isArray(__cookies)) {
78
+ __cookies = [__cookies];
79
+ }
80
+ __cookies = __cookies.map(function (cookie) {
81
+ return cookie.toString();
82
+ });
83
+ }
84
+
85
+ return {
86
+ __params,
87
+ __cookies,
88
+ };
89
+ }
90
+
91
+ const MAX_RETRY = 5;
92
+
93
+ async function doRequest(config){
94
+ for (let i = 0; i < MAX_RETRY; i++) {
95
+ let url = getAppURL();
96
+ url = [url.replace(/\\/$/, ""), config.method].join("/");
97
+
98
+ try {
99
+ const response = await axios.post(url, config);
100
+
101
+ if (!response || !response.data) {
102
+ continue;
103
+ }
104
+
105
+ return response.data?.result;
106
+ } catch (e) {
107
+ /* empty */
108
+ }
109
+ }
110
+ }
111
+
112
+ export default class RemoteSteamUser {
113
+ constructor(cookies, refreshCookie, onRefreshCookie) {
114
+ if (!Array.isArray(cookies)) {
115
+ cookies = [cookies];
116
+ }
117
+ this._refreshCookie = refreshCookie;
118
+ this._onRefreshCookie = onRefreshCookie;
119
+ this._cookies = cookies.map(function (cookie) {
120
+ return new CookieManager(cookie?.cookie || cookie);
121
+ });
122
+ const timezoneOffset = new Date().getTimezoneOffset() * -1 * 60 + ",0";
123
+ for (const cookie of this._cookies) {
124
+ cookie.setCookie("timezoneOffset", timezoneOffset);
125
+
126
+ let { steamMachineAuth, steamLoginSecure, steamRememberLogin, steamId, miniprofile, sessionid } = SteamUser.parseCookie(cookie.toString());
127
+
128
+ if (!sessionid) {
129
+ sessionid = SteamUser.generateSessionID();
130
+ cookie.setCookie("sessionid", sessionid);
131
+ }
132
+
133
+ this._sessionId = sessionid;
134
+ this._customURL = null;
135
+ this._steamIdUser = steamId;
136
+ this._miniProfileUser = miniprofile;
137
+ this._steamMachineAuth = steamMachineAuth;
138
+ this._steamLoginSecure = steamLoginSecure;
139
+ this._steamRememberLogin = steamRememberLogin;
140
+ }
141
+
142
+ this.setSteamLanguage(ELanguage.english);
143
+
144
+ if (!this._steamIdUser) {
145
+ console.error("Invalid cookie. Missing steamId");
146
+ }
147
+ }
148
+
149
+ ${content}
150
+
151
+ }
152
+
153
+
154
+ `;
155
+
156
+ fs.writeFileSync("./remote.js", fileContent.trim());
157
+
158
+ console.log("");
159
+ })();