steamutils 1.5.21 → 1.5.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/.idea/codeStyles/Project.xml +1 -0
  2. package/.idea/deployment.xml +14 -0
  3. package/.prettierrc.json +3 -3
  4. package/_steamproto.js +39 -39
  5. package/axios.js +84 -84
  6. package/bufferHelpers.js +115 -115
  7. package/cheerio.js +103 -103
  8. package/const.js +1 -0
  9. package/create_proto.js +96 -96
  10. package/full_steamproto.js +39 -39
  11. package/helpers/protos.js +48 -48
  12. package/index.js +3 -4
  13. package/package.json +1 -1
  14. package/protos/csgo/base_gcmessages.proto +553 -553
  15. package/protos/csgo/base_gcmessages_csgo.proto +547 -547
  16. package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
  17. package/protos/csgo/clientmessages.proto +48 -48
  18. package/protos/csgo/connectionless_netmessages.proto +17 -17
  19. package/protos/csgo/cs_gameevents.proto +35 -35
  20. package/protos/csgo/cs_usercmd.proto +34 -34
  21. package/protos/csgo/cstrike15_usermessages.proto +592 -592
  22. package/protos/csgo/demo.proto +165 -165
  23. package/protos/csgo/econ_gcmessages.proto +219 -219
  24. package/protos/csgo/enums_clientserver.proto +1529 -1529
  25. package/protos/csgo/fatdemo.proto +125 -125
  26. package/protos/csgo/gameevents.proto +120 -120
  27. package/protos/csgo/gcsdk_gcmessages.proto +323 -323
  28. package/protos/csgo/gcsystemmsgs.proto +243 -243
  29. package/protos/csgo/netmessages.proto +618 -618
  30. package/protos/csgo/networkbasetypes.proto +246 -246
  31. package/protos/csgo/networksystem_protomessages.proto +17 -17
  32. package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
  33. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
  34. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
  35. package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
  36. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
  37. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
  38. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
  39. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
  40. package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
  41. package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
  42. package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
  43. package/protos/csgo/te.proto +259 -259
  44. package/protos/csgo/uifontfile_format.proto +13 -13
  45. package/protos/csgo/usercmd.proto +39 -39
  46. package/protos/csgo/usermessages.proto +752 -752
  47. package/protos/google/protobuf/descriptor.proto +281 -281
  48. package/protos/steam/clientmetrics.proto +45 -45
  49. package/protos/steam/content_manifest.proto +62 -62
  50. package/protos/steam/contenthubs.proto +41 -41
  51. package/protos/steam/encrypted_app_ticket.proto +10 -10
  52. package/protos/steam/enums.proto +501 -501
  53. package/protos/steam/enums_clientserver.proto +1508 -1508
  54. package/protos/steam/enums_productinfo.proto +14 -14
  55. package/protos/steam/htmlmessages.proto +1039 -1039
  56. package/protos/steam/offline_ticket.proto +8 -8
  57. package/protos/steam/steamdatagram_messages_auth.proto +65 -65
  58. package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
  59. package/protos/steam/steammessages_accounthardware.steamclient.proto +167 -167
  60. package/protos/steam/steammessages_appoverview.proto +204 -204
  61. package/protos/steam/steammessages_auth.steamclient.proto +375 -375
  62. package/protos/steam/steammessages_broadcast.steamclient.proto +618 -618
  63. package/protos/steam/steammessages_chat.steamclient.proto +1070 -1070
  64. package/protos/steam/steammessages_client_objects.proto +649 -649
  65. package/protos/steam/steammessages_clientlanp2p.proto +43 -43
  66. package/protos/steam/steammessages_clientmetrics.steamclient.proto +192 -192
  67. package/protos/steam/steammessages_clientnotificationtypes.proto +250 -250
  68. package/protos/steam/steammessages_clientserver.proto +392 -392
  69. package/protos/steam/steammessages_clientserver_2.proto +771 -771
  70. package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
  71. package/protos/steam/steammessages_clientserver_friends.proto +260 -260
  72. package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
  73. package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
  74. package/protos/steam/steammessages_clientserver_login.proto +167 -167
  75. package/protos/steam/steammessages_clientserver_mms.proto +233 -233
  76. package/protos/steam/steammessages_clientserver_ucm.proto +207 -207
  77. package/protos/steam/steammessages_clientserver_uds.proto +125 -125
  78. package/protos/steam/steammessages_clientserver_ufs.proto +45 -45
  79. package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
  80. package/protos/steam/steammessages_cloud.steamclient.proto +422 -422
  81. package/protos/steam/steammessages_contentsystem.steamclient.proto +123 -123
  82. package/protos/steam/steammessages_credentials.steamclient.proto +96 -96
  83. package/protos/steam/steammessages_datapublisher.steamclient.proto +102 -102
  84. package/protos/steam/steammessages_depotbuilder.steamclient.proto +99 -99
  85. package/protos/steam/steammessages_deviceauth.steamclient.proto +169 -169
  86. package/protos/steam/steammessages_econ.steamclient.proto +137 -137
  87. package/protos/steam/steammessages_familygroups.steamclient.proto +441 -441
  88. package/protos/steam/steammessages_friendmessages.steamclient.proto +141 -141
  89. package/protos/steam/steammessages_gamenetworking.steamclient.proto +25 -25
  90. package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
  91. package/protos/steam/steammessages_gamenotifications.steamclient.proto +131 -131
  92. package/protos/steam/steammessages_gameservers.steamclient.proto +136 -136
  93. package/protos/steam/steammessages_hiddevices.proto +157 -157
  94. package/protos/steam/steammessages_inventory.steamclient.proto +172 -172
  95. package/protos/steam/steammessages_linkfilter.steamclient.proto +39 -39
  96. package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +29 -29
  97. package/protos/steam/steammessages_market.steamclient.proto +22 -22
  98. package/protos/steam/steammessages_marketingmessages.steamclient.proto +273 -273
  99. package/protos/steam/steammessages_offline.steamclient.proto +33 -33
  100. package/protos/steam/steammessages_parental.steamclient.proto +262 -262
  101. package/protos/steam/steammessages_parties.steamclient.proto +75 -75
  102. package/protos/steam/steammessages_partnerapps.steamclient.proto +106 -106
  103. package/protos/steam/steammessages_player.steamclient.proto +915 -915
  104. package/protos/steam/steammessages_publishedfile.steamclient.proto +737 -737
  105. package/protos/steam/steammessages_qms.steamclient.proto +111 -111
  106. package/protos/steam/steammessages_remoteclient.proto +100 -100
  107. package/protos/steam/steammessages_remoteclient_discovery.proto +244 -244
  108. package/protos/steam/steammessages_remoteclient_service.steamclient.proto +31 -31
  109. package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
  110. package/protos/steam/steammessages_remoteplay.proto +975 -975
  111. package/protos/steam/steammessages_secrets.steamclient.proto +35 -35
  112. package/protos/steam/steammessages_shader.steamclient.proto +89 -89
  113. package/protos/steam/steammessages_site_license.steamclient.proto +103 -103
  114. package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
  115. package/protos/steam/steammessages_siteserverui.proto +130 -130
  116. package/protos/steam/steammessages_steamtv.steamclient.proto +533 -533
  117. package/protos/steam/steammessages_store.steamclient.proto +404 -404
  118. package/protos/steam/steammessages_storebrowse.steamclient.proto +457 -457
  119. package/protos/steam/steammessages_timedtrial.steamclient.proto +40 -40
  120. package/protos/steam/steammessages_twofactor.steamclient.proto +157 -157
  121. package/protos/steam/steammessages_unified_test.steamclient.proto +51 -51
  122. package/protos/steam/steammessages_useraccount.steamclient.proto +211 -211
  123. package/protos/steam/steammessages_vac.steamclient.proto +37 -37
  124. package/protos/steam/steammessages_video.steamclient.proto +68 -68
  125. package/protos/steam/steammessages_virtualcontroller.proto +138 -138
  126. package/protos/steam/steammessages_workshop.steamclient.proto +19 -19
  127. package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
  128. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
  129. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
  130. package/protos/steam/webuimessages_achievements.proto +29 -29
  131. package/protos/steam/webuimessages_gamenotes.proto +21 -21
  132. package/protos/steam/webuimessages_gamescope.proto +57 -57
  133. package/protos/steam/webuimessages_steamengine.proto +41 -41
  134. package/protos/steam/webuimessages_steamos.proto +114 -114
  135. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
  136. package/protos/steam/webuimessages_systemmanager.proto +17 -17
  137. package/protos/steam/webuimessages_transport.proto +22 -22
  138. package/protos/steam/webuimessages_transportvalidation.proto +111 -111
  139. package/protos/webui/common.proto +4024 -4024
  140. package/protos/webui/service_accountcart.proto +153 -153
  141. package/protos/webui/service_accountlinking.proto +27 -27
  142. package/protos/webui/service_accountprivacy.proto +42 -42
  143. package/protos/webui/service_accountprivateapps.proto +34 -34
  144. package/protos/webui/service_auction.proto +97 -97
  145. package/protos/webui/service_authentication.proto +222 -222
  146. package/protos/webui/service_authenticationsupport.proto +74 -74
  147. package/protos/webui/service_broadcast.proto +562 -562
  148. package/protos/webui/service_chat.proto +11 -11
  149. package/protos/webui/service_chatroom.proto +810 -810
  150. package/protos/webui/service_chatusability.proto +107 -107
  151. package/protos/webui/service_checkout.proto +84 -84
  152. package/protos/webui/service_clan.proto +41 -41
  153. package/protos/webui/service_clanchatrooms.proto +25 -25
  154. package/protos/webui/service_clanfaqs.proto +202 -202
  155. package/protos/webui/service_clientcomm.proto +151 -151
  156. package/protos/webui/service_clientmetrics.proto +22 -22
  157. package/protos/webui/service_cloud.proto +222 -222
  158. package/protos/webui/service_cloudconfigstore.proto +51 -51
  159. package/protos/webui/service_cloudgaming.proto +30 -30
  160. package/protos/webui/service_community.proto +365 -365
  161. package/protos/webui/service_dailydeal.proto +89 -89
  162. package/protos/webui/service_econ.proto +134 -134
  163. package/protos/webui/service_embedded.proto +24 -24
  164. package/protos/webui/service_experimentservice.proto +6 -6
  165. package/protos/webui/service_familygroups.proto +355 -355
  166. package/protos/webui/service_fovasvideo.proto +15 -15
  167. package/protos/webui/service_friendmessages.proto +133 -133
  168. package/protos/webui/service_friendslist.proto +70 -70
  169. package/protos/webui/service_gamenotes.proto +15 -15
  170. package/protos/webui/service_gamerecording.proto +265 -265
  171. package/protos/webui/service_gamerecordingclip.proto +85 -85
  172. package/protos/webui/service_gamerecordingdebug.proto +52 -52
  173. package/protos/webui/service_helprequestlogs.proto +16 -16
  174. package/protos/webui/service_loyaltyrewards.proto +252 -252
  175. package/protos/webui/service_marketingmessages.proto +215 -215
  176. package/protos/webui/service_mobileapp.proto +18 -18
  177. package/protos/webui/service_mobileauth.proto +24 -24
  178. package/protos/webui/service_mobiledevice.proto +26 -26
  179. package/protos/webui/service_mobileperaccount.proto +31 -31
  180. package/protos/webui/service_news.proto +110 -110
  181. package/protos/webui/service_parental.proto +258 -258
  182. package/protos/webui/service_partnermembershipinvite.proto +34 -34
  183. package/protos/webui/service_partnerstorebrowse.proto +28 -28
  184. package/protos/webui/service_phone.proto +51 -51
  185. package/protos/webui/service_physicalgoods.proto +15 -15
  186. package/protos/webui/service_player.proto +918 -918
  187. package/protos/webui/service_promotioneventinvites.proto +109 -109
  188. package/protos/webui/service_promotionplanning.proto +186 -186
  189. package/protos/webui/service_promotionstats.proto +23 -23
  190. package/protos/webui/service_publishedfile.proto +714 -714
  191. package/protos/webui/service_publishing.proto +200 -200
  192. package/protos/webui/service_quest.proto +127 -127
  193. package/protos/webui/service_salefeature.proto +373 -373
  194. package/protos/webui/service_saleitemrewards.proto +54 -54
  195. package/protos/webui/service_shoppingcart.proto +152 -152
  196. package/protos/webui/service_steamawards.proto +76 -76
  197. package/protos/webui/service_steamcharts.proto +75 -75
  198. package/protos/webui/service_steamengine.proto +36 -36
  199. package/protos/webui/service_steamlearn.proto +876 -876
  200. package/protos/webui/service_steamnotification.proto +73 -73
  201. package/protos/webui/service_steamtv.proto +495 -495
  202. package/protos/webui/service_steamvrvoicechat.proto +67 -67
  203. package/protos/webui/service_steamvrwebrtc.proto +48 -48
  204. package/protos/webui/service_storagedevicemanager.proto +104 -104
  205. package/protos/webui/service_store.proto +359 -359
  206. package/protos/webui/service_storeappsimilarity.proto +76 -76
  207. package/protos/webui/service_storebrowse.proto +103 -103
  208. package/protos/webui/service_storemarketing.proto +44 -44
  209. package/protos/webui/service_storequery.proto +103 -103
  210. package/protos/webui/service_storesales.proto +87 -87
  211. package/protos/webui/service_storetopsellers.proto +44 -44
  212. package/protos/webui/service_systemmanager.proto +11 -11
  213. package/protos/webui/service_test_transporterror.proto +6 -6
  214. package/protos/webui/service_transportauth.proto +17 -17
  215. package/protos/webui/service_transportvalidation.proto +69 -69
  216. package/protos/webui/service_twofactor.proto +170 -170
  217. package/protos/webui/service_useraccount.proto +142 -142
  218. package/protos/webui/service_usergameactivity.proto +34 -34
  219. package/protos/webui/service_usergamenotes.proto +70 -70
  220. package/protos/webui/service_usernews.proto +68 -68
  221. package/protos/webui/service_userreviews.proto +97 -97
  222. package/protos/webui/service_video.proto +50 -50
  223. package/protos/webui/service_videoclip.proto +62 -62
  224. package/protos/webui/service_voicechat.proto +139 -139
  225. package/protos/webui/service_webrtc.proto +52 -52
  226. package/steamproto.js +146 -146
  227. package/utils.js +1234 -1234
  228. package/.idea/gbrowser_project.xml +0 -11
  229. package/.idea/git_toolbox_blame.xml +0 -6
  230. package/.idea/git_toolbox_prj.xml +0 -15
  231. package/race.js +0 -2241
@@ -2,6 +2,7 @@
2
2
  <code_scheme name="Project" version="173">
3
3
  <HTMLCodeStyleSettings>
4
4
  <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
5
+ <option name="HTML_ENFORCE_QUOTES" value="true" />
5
6
  </HTMLCodeStyleSettings>
6
7
  <JSCodeStyleSettings version="0">
7
8
  <option name="FORCE_SEMICOLON_STYLE" value="true" />
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false">
4
+ <serverData>
5
+ <paths name="botnatridiscord">
6
+ <serverdata>
7
+ <mappings>
8
+ <mapping local="$PROJECT_DIR$" web="/" />
9
+ </mappings>
10
+ </serverdata>
11
+ </paths>
12
+ </serverData>
13
+ </component>
14
+ </project>
package/.prettierrc.json CHANGED
@@ -1,3 +1,3 @@
1
- {
2
- "printWidth": 1000
3
- }
1
+ {
2
+ "printWidth": 1000
3
+ }
package/_steamproto.js CHANGED
@@ -1,39 +1,39 @@
1
- import path from "path";
2
- import { fileURLToPath } from "url";
3
- import Protobuf from "protobufjs";
4
-
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = path.dirname(__filename);
7
-
8
- export class SteamProto {
9
- constructor(proto) {
10
- this._proto = proto;
11
- }
12
-
13
- toProto() {
14
- const root = new Protobuf.Root().loadSync(path.join(`${__dirname}/protos/`, this._proto.filename), {
15
- keepCase: true,
16
- });
17
- return root[this._proto.name];
18
- }
19
-
20
- protoEncode(obj) {
21
- const protobuf = this.toProto();
22
- return protobuf.encode(protobuf.create(obj)).finish();
23
- }
24
-
25
- protoEncodeBase64(obj) {
26
- return this.protoEncode(obj).toString("base64");
27
- }
28
-
29
- protoDecode(obj) {
30
- const protobuf = this.toProto();
31
- try {
32
- return protobuf.toObject(protobuf.decode(obj), { defaults: true });
33
- } catch (e) {
34
- console.error(`[${this._proto.name}] protoDecode 1`, typeof obj, obj);
35
- console.error(`[${this._proto.name}] protoDecode 2`, e);
36
- return null;
37
- }
38
- }
39
- }
1
+ import path from "path";
2
+ import { fileURLToPath } from "url";
3
+ import Protobuf from "protobufjs";
4
+
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = path.dirname(__filename);
7
+
8
+ export class SteamProto {
9
+ constructor(proto) {
10
+ this._proto = proto;
11
+ }
12
+
13
+ toProto() {
14
+ const root = new Protobuf.Root().loadSync(path.join(`${__dirname}/protos/`, this._proto.filename), {
15
+ keepCase: true,
16
+ });
17
+ return root[this._proto.name];
18
+ }
19
+
20
+ protoEncode(obj) {
21
+ const protobuf = this.toProto();
22
+ return protobuf.encode(protobuf.create(obj)).finish();
23
+ }
24
+
25
+ protoEncodeBase64(obj) {
26
+ return this.protoEncode(obj).toString("base64");
27
+ }
28
+
29
+ protoDecode(obj) {
30
+ const protobuf = this.toProto();
31
+ try {
32
+ return protobuf.toObject(protobuf.decode(obj), { defaults: true });
33
+ } catch (e) {
34
+ console.error(`[${this._proto.name}] protoDecode 1`, typeof obj, obj);
35
+ console.error(`[${this._proto.name}] protoDecode 2`, e);
36
+ return null;
37
+ }
38
+ }
39
+ }
package/axios.js CHANGED
@@ -1,84 +1,84 @@
1
- import * as _axios from "axios";
2
- import * as cheerio from "cheerio";
3
-
4
- export class Header {
5
- headers = {};
6
-
7
- constructor(headers) {
8
- if (typeof headers === "object" && Object.keys(headers).length) {
9
- this.headers = this.validate(headers);
10
- }
11
- }
12
-
13
- validate(headers) {
14
- headers = Object.keys(headers).reduce(function (previousValue, currentValue, currentIndex, array) {
15
- previousValue[currentValue.toLowerCase()] = headers[currentValue]?.trim();
16
- return previousValue;
17
- }, {});
18
- if (headers.cookie === undefined || headers.cookie === null) {
19
- headers.cookie = "";
20
- }
21
- return headers;
22
- }
23
-
24
- get(key) {
25
- if (key === undefined) {
26
- return { ...this.headers };
27
- } else {
28
- return this.headers[key.toLowerCase()];
29
- }
30
- }
31
-
32
- set(key, value) {
33
- if (typeof key === "string") {
34
- this.headers[key.toLowerCase()] = value;
35
- } else {
36
- for (let _key in key) {
37
- this.headers[_key.toLowerCase()] = key[_key];
38
- }
39
- }
40
- this.headers = this.validate(this.headers);
41
- return this;
42
- }
43
- }
44
-
45
- const axios = _axios.default.create({
46
- baseURL: "/",
47
- timeout: 60000,
48
- headers: {
49
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
50
- },
51
- validateStatus: () => true,
52
- withCredentials: true,
53
- maxContentLength: Infinity,
54
- maxBodyLength: Infinity,
55
- });
56
-
57
- //debug
58
- // axios.interceptors.request.use(function (config) {
59
- // console_log(`[axios]`, config.method, config.url)
60
- // return config
61
- // }, function (error) {
62
- // return Promise.reject(error)
63
- // })
64
-
65
- export async function request(config) {
66
- try {
67
- if (!config?.headers?.cookie) {
68
- try {
69
- delete config.headers.cookie;
70
- } catch (e) {}
71
- }
72
- const result = await axios.request(config);
73
- if (result.data && typeof result.data === "string") {
74
- result._$ = function () {
75
- return cheerio.load(result.data.replaceAll(/[\t\n\r]/gi, "").trim());
76
- };
77
- }
78
- return result;
79
- } catch (e) {
80
- return {
81
- error: e,
82
- };
83
- }
84
- }
1
+ import * as _axios from "axios";
2
+ import * as cheerio from "cheerio";
3
+
4
+ export class Header {
5
+ headers = {};
6
+
7
+ constructor(headers) {
8
+ if (typeof headers === "object" && Object.keys(headers).length) {
9
+ this.headers = this.validate(headers);
10
+ }
11
+ }
12
+
13
+ validate(headers) {
14
+ headers = Object.keys(headers).reduce(function (previousValue, currentValue, currentIndex, array) {
15
+ previousValue[currentValue.toLowerCase()] = headers[currentValue]?.trim();
16
+ return previousValue;
17
+ }, {});
18
+ if (headers.cookie === undefined || headers.cookie === null) {
19
+ headers.cookie = "";
20
+ }
21
+ return headers;
22
+ }
23
+
24
+ get(key) {
25
+ if (key === undefined) {
26
+ return { ...this.headers };
27
+ } else {
28
+ return this.headers[key.toLowerCase()];
29
+ }
30
+ }
31
+
32
+ set(key, value) {
33
+ if (typeof key === "string") {
34
+ this.headers[key.toLowerCase()] = value;
35
+ } else {
36
+ for (let _key in key) {
37
+ this.headers[_key.toLowerCase()] = key[_key];
38
+ }
39
+ }
40
+ this.headers = this.validate(this.headers);
41
+ return this;
42
+ }
43
+ }
44
+
45
+ const axios = _axios.default.create({
46
+ baseURL: "/",
47
+ timeout: 60000,
48
+ headers: {
49
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
50
+ },
51
+ validateStatus: () => true,
52
+ withCredentials: true,
53
+ maxContentLength: Infinity,
54
+ maxBodyLength: Infinity,
55
+ });
56
+
57
+ //debug
58
+ // axios.interceptors.request.use(function (config) {
59
+ // console_log(`[axios]`, config.method, config.url)
60
+ // return config
61
+ // }, function (error) {
62
+ // return Promise.reject(error)
63
+ // })
64
+
65
+ export async function request(config) {
66
+ try {
67
+ if (!config?.headers?.cookie) {
68
+ try {
69
+ delete config.headers.cookie;
70
+ } catch (e) {}
71
+ }
72
+ const result = await axios.request(config);
73
+ if (result.data && typeof result.data === "string") {
74
+ result._$ = function () {
75
+ return cheerio.load(result.data.replaceAll(/[\t\n\r]/gi, "").trim());
76
+ };
77
+ }
78
+ return result;
79
+ } catch (e) {
80
+ return {
81
+ error: e,
82
+ };
83
+ }
84
+ }
package/bufferHelpers.js CHANGED
@@ -1,115 +1,115 @@
1
- import ByteBuffer from 'bytebuffer';
2
- import SteamID from 'steamid';
3
-
4
- const Type = {
5
- None : 0,
6
- String : 1,
7
- Int32 : 2,
8
- Float32 : 3,
9
- Pointer : 4,
10
- WideString : 5,
11
- Color : 6,
12
- UInt64 : 7,
13
- End : 8
14
- }
15
-
16
- // Encodes an object into a ByteBuffer
17
- export const encode = (
18
- _object,
19
- prefix = [0x00, 0x00],
20
- suffix = [],
21
- customEncodeFields = {}
22
- ) => {
23
- // Create a copy of the input object to avoid modifying it
24
- const object = { ..._object };
25
- const buffer = new ByteBuffer();
26
-
27
- // Write the prefix bytes to the buffer
28
- for (let pre of prefix) {
29
- buffer.writeByte(pre);
30
- }
31
-
32
- // Iterate through the object's properties and encode them
33
- for (let item in object) {
34
- if (object.hasOwnProperty(item) === false) {
35
- continue;
36
- }
37
-
38
- // If a custom encoder function exists for the property, use it
39
- if (typeof customEncodeFields[item] === 'function') {
40
- object[item] = customEncodeFields[item](object[item]);
41
- }
42
- _encode(object[item], buffer, item);
43
- }
44
-
45
- // Write the suffix bytes to the buffer
46
- for (let suf of suffix) {
47
- buffer.writeByte(suf);
48
- }
49
-
50
- // Write an End marker to the buffer
51
- buffer.writeByte(Type.End);
52
- buffer.flip(); // Prepare the buffer for reading
53
- return buffer;
54
- };
55
-
56
- // Encodes individual properties into the ByteBuffer
57
- const _encode = (object, buffer, name) => {
58
- if (object instanceof Buffer) {
59
- // If the object is a Buffer
60
- buffer.writeByte(Type.String);
61
- buffer.writeCString(name);
62
-
63
- // Convert the Buffer to a hexadecimal string, split into 2-character parts, and write each part as a byte
64
- let parts = object
65
- .toString('hex')
66
- .toUpperCase()
67
- .match(/.{1,2}/g);
68
-
69
- for (let part of parts) {
70
- buffer.writeByte(parseInt('0x' + part));
71
- }
72
- } else {
73
- // If the object is not a Buffer, check its type
74
- switch (typeof object) {
75
- case 'object': {
76
- buffer.writeByte(Type.None);
77
- buffer.writeCString(name);
78
-
79
- for (let index in object) {
80
- _encode(object[index], buffer, index); // Recursively encode each property
81
- }
82
-
83
- buffer.writeByte(Type.End);
84
- break;
85
- }
86
- case 'string': {
87
- buffer.writeByte(Type.String);
88
- buffer.writeCString(name);
89
- buffer.writeCString(object ? object : '');
90
- break;
91
- }
92
- case 'number': {
93
- buffer.writeByte(Type.String);
94
- buffer.writeCString(name);
95
- buffer.writeCString(object.toString());
96
- break;
97
- }
98
- }
99
- }
100
- };
101
-
102
- // Encodes SteamIDs into a Buffer
103
- export const encodeUids = (steamids) => {
104
- const outputBuffer = [];
105
-
106
- for (let id of steamids.map((s) => s.accountid)) {
107
- while (id > 0x7f) {
108
- outputBuffer.push((id | 0x80) & 0xff);
109
- id >>= 7;
110
- }
111
- outputBuffer.push(id);
112
- }
113
- outputBuffer.push(0x00); // Null terminator
114
- return Buffer.from(outputBuffer);
115
- };
1
+ import ByteBuffer from 'bytebuffer';
2
+ import SteamID from 'steamid';
3
+
4
+ const Type = {
5
+ None : 0,
6
+ String : 1,
7
+ Int32 : 2,
8
+ Float32 : 3,
9
+ Pointer : 4,
10
+ WideString : 5,
11
+ Color : 6,
12
+ UInt64 : 7,
13
+ End : 8
14
+ }
15
+
16
+ // Encodes an object into a ByteBuffer
17
+ export const encode = (
18
+ _object,
19
+ prefix = [0x00, 0x00],
20
+ suffix = [],
21
+ customEncodeFields = {}
22
+ ) => {
23
+ // Create a copy of the input object to avoid modifying it
24
+ const object = { ..._object };
25
+ const buffer = new ByteBuffer();
26
+
27
+ // Write the prefix bytes to the buffer
28
+ for (let pre of prefix) {
29
+ buffer.writeByte(pre);
30
+ }
31
+
32
+ // Iterate through the object's properties and encode them
33
+ for (let item in object) {
34
+ if (object.hasOwnProperty(item) === false) {
35
+ continue;
36
+ }
37
+
38
+ // If a custom encoder function exists for the property, use it
39
+ if (typeof customEncodeFields[item] === 'function') {
40
+ object[item] = customEncodeFields[item](object[item]);
41
+ }
42
+ _encode(object[item], buffer, item);
43
+ }
44
+
45
+ // Write the suffix bytes to the buffer
46
+ for (let suf of suffix) {
47
+ buffer.writeByte(suf);
48
+ }
49
+
50
+ // Write an End marker to the buffer
51
+ buffer.writeByte(Type.End);
52
+ buffer.flip(); // Prepare the buffer for reading
53
+ return buffer;
54
+ };
55
+
56
+ // Encodes individual properties into the ByteBuffer
57
+ const _encode = (object, buffer, name) => {
58
+ if (object instanceof Buffer) {
59
+ // If the object is a Buffer
60
+ buffer.writeByte(Type.String);
61
+ buffer.writeCString(name);
62
+
63
+ // Convert the Buffer to a hexadecimal string, split into 2-character parts, and write each part as a byte
64
+ let parts = object
65
+ .toString('hex')
66
+ .toUpperCase()
67
+ .match(/.{1,2}/g);
68
+
69
+ for (let part of parts) {
70
+ buffer.writeByte(parseInt('0x' + part));
71
+ }
72
+ } else {
73
+ // If the object is not a Buffer, check its type
74
+ switch (typeof object) {
75
+ case 'object': {
76
+ buffer.writeByte(Type.None);
77
+ buffer.writeCString(name);
78
+
79
+ for (let index in object) {
80
+ _encode(object[index], buffer, index); // Recursively encode each property
81
+ }
82
+
83
+ buffer.writeByte(Type.End);
84
+ break;
85
+ }
86
+ case 'string': {
87
+ buffer.writeByte(Type.String);
88
+ buffer.writeCString(name);
89
+ buffer.writeCString(object ? object : '');
90
+ break;
91
+ }
92
+ case 'number': {
93
+ buffer.writeByte(Type.String);
94
+ buffer.writeCString(name);
95
+ buffer.writeCString(object.toString());
96
+ break;
97
+ }
98
+ }
99
+ }
100
+ };
101
+
102
+ // Encodes SteamIDs into a Buffer
103
+ export const encodeUids = (steamids) => {
104
+ const outputBuffer = [];
105
+
106
+ for (let id of steamids.map((s) => s.accountid)) {
107
+ while (id > 0x7f) {
108
+ outputBuffer.push((id | 0x80) & 0xff);
109
+ id >>= 7;
110
+ }
111
+ outputBuffer.push(id);
112
+ }
113
+ outputBuffer.push(0x00); // Null terminator
114
+ return Buffer.from(outputBuffer);
115
+ };