amule-ec-client 0.5.1 → 0.6.0

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 (86) hide show
  1. package/README.md +6 -4
  2. package/dist/AddLinkRequest-DwUbSMXD.mjs +17 -0
  3. package/dist/AddLinkRequest-DwUbSMXD.mjs.map +1 -0
  4. package/dist/ClientQueueRequest-D9FaX5K9.mjs +17 -0
  5. package/dist/ClientQueueRequest-D9FaX5K9.mjs.map +1 -0
  6. package/dist/ClientQueueResponse-FVQBR_8b.mjs +65 -0
  7. package/dist/ClientQueueResponse-FVQBR_8b.mjs.map +1 -0
  8. package/dist/Codes-CjiW7Pdl.mjs +411 -0
  9. package/dist/Codes-CjiW7Pdl.mjs.map +1 -0
  10. package/dist/CreateCategoryRequest-Br6yfDhZ.mjs +24 -0
  11. package/dist/CreateCategoryRequest-Br6yfDhZ.mjs.map +1 -0
  12. package/dist/DeleteCategoryRequest-C2-p6sx0.mjs +17 -0
  13. package/dist/DeleteCategoryRequest-C2-p6sx0.mjs.map +1 -0
  14. package/dist/DownloadCommandRequest-CaULjfNi.mjs +31 -0
  15. package/dist/DownloadCommandRequest-CaULjfNi.mjs.map +1 -0
  16. package/dist/DownloadFileRequest-CcNqsBo7.mjs +20 -0
  17. package/dist/DownloadFileRequest-CcNqsBo7.mjs.map +1 -0
  18. package/dist/DownloadQueueRequest-bd7lFiMj.mjs +17 -0
  19. package/dist/DownloadQueueRequest-bd7lFiMj.mjs.map +1 -0
  20. package/dist/DownloadQueueResponse-DyP1rLTV.mjs +261 -0
  21. package/dist/DownloadQueueResponse-DyP1rLTV.mjs.map +1 -0
  22. package/dist/GetPreferencesRequest-C94Su9IH.mjs +18 -0
  23. package/dist/GetPreferencesRequest-C94Su9IH.mjs.map +1 -0
  24. package/dist/PreferencesDetailsResponse-BjMxbvVY.mjs +96 -0
  25. package/dist/PreferencesDetailsResponse-BjMxbvVY.mjs.map +1 -0
  26. package/dist/PreferencesResponse-Dth-n2sA.mjs +39 -0
  27. package/dist/PreferencesResponse-Dth-n2sA.mjs.map +1 -0
  28. package/dist/ReloadSharedFilesRequest-CPwAEJYG.mjs +15 -0
  29. package/dist/ReloadSharedFilesRequest-CPwAEJYG.mjs.map +1 -0
  30. package/dist/Request-C0UUuQIX.mjs +160 -0
  31. package/dist/Request-C0UUuQIX.mjs.map +1 -0
  32. package/dist/SearchProgressResponse-Bputc9Ww.mjs +17 -0
  33. package/dist/SearchProgressResponse-Bputc9Ww.mjs.map +1 -0
  34. package/dist/SearchRequest-CNqz-K1Z.mjs +57 -0
  35. package/dist/SearchRequest-CNqz-K1Z.mjs.map +1 -0
  36. package/dist/SearchResultsRequest-DKG508KF.mjs +15 -0
  37. package/dist/SearchResultsRequest-DKG508KF.mjs.map +1 -0
  38. package/dist/SearchResultsResponse-ChNrKJ6_.mjs +31 -0
  39. package/dist/SearchResultsResponse-ChNrKJ6_.mjs.map +1 -0
  40. package/dist/SearchStatusRequest-Bv6iaC9Y.mjs +15 -0
  41. package/dist/SearchStatusRequest-Bv6iaC9Y.mjs.map +1 -0
  42. package/dist/SearchStopRequest-rET-2Nsz.mjs +15 -0
  43. package/dist/SearchStopRequest-rET-2Nsz.mjs.map +1 -0
  44. package/dist/ServerConnectRequest-CcO2-Eqd.mjs +20 -0
  45. package/dist/ServerConnectRequest-CcO2-Eqd.mjs.map +1 -0
  46. package/dist/ServerDisconnectRequest-DEORM3SF.mjs +15 -0
  47. package/dist/ServerDisconnectRequest-DEORM3SF.mjs.map +1 -0
  48. package/dist/ServerListRequest-FwFQBp12.mjs +15 -0
  49. package/dist/ServerListRequest-FwFQBp12.mjs.map +1 -0
  50. package/dist/ServerListResponse-ZAKSSCPZ.mjs +52 -0
  51. package/dist/ServerListResponse-ZAKSSCPZ.mjs.map +1 -0
  52. package/dist/ServerUpdateFromUrlRequest-D4xBqJDJ.mjs +14 -0
  53. package/dist/ServerUpdateFromUrlRequest-D4xBqJDJ.mjs.map +1 -0
  54. package/dist/SetFileCategoryRequest-BwEPJVeR.mjs +17 -0
  55. package/dist/SetFileCategoryRequest-BwEPJVeR.mjs.map +1 -0
  56. package/dist/SetPreferencesRequest-D2fVIH3P.mjs +66 -0
  57. package/dist/SetPreferencesRequest-D2fVIH3P.mjs.map +1 -0
  58. package/dist/SharedFilePriorityRequest-j6ImgagV.mjs +15 -0
  59. package/dist/SharedFilePriorityRequest-j6ImgagV.mjs.map +1 -0
  60. package/dist/SharedFilesRequest-D2M3K0eB.mjs +17 -0
  61. package/dist/SharedFilesRequest-D2M3K0eB.mjs.map +1 -0
  62. package/dist/SharedFilesResponse-BiXT_oCx.mjs +41 -0
  63. package/dist/SharedFilesResponse-BiXT_oCx.mjs.map +1 -0
  64. package/dist/StatsRequest-B8v9LLHG.mjs +17 -0
  65. package/dist/StatsRequest-B8v9LLHG.mjs.map +1 -0
  66. package/dist/StatsResponse-BVUxNPbz.mjs +78 -0
  67. package/dist/StatsResponse-BVUxNPbz.mjs.map +1 -0
  68. package/dist/Tag-CZF6BRMY.mjs +262 -0
  69. package/dist/Tag-CZF6BRMY.mjs.map +1 -0
  70. package/dist/UpdateCategoryRequest-CgzH7SxP.mjs +24 -0
  71. package/dist/UpdateCategoryRequest-CgzH7SxP.mjs.map +1 -0
  72. package/dist/UpdateRequest-Bunl73Ga.mjs +17 -0
  73. package/dist/UpdateRequest-Bunl73Ga.mjs.map +1 -0
  74. package/dist/UpdateResponse-1LhyH9Zf.mjs +47 -0
  75. package/dist/UpdateResponse-1LhyH9Zf.mjs.map +1 -0
  76. package/dist/download-details-OM0FJUhZ.mjs +12 -0
  77. package/dist/download-details-OM0FJUhZ.mjs.map +1 -0
  78. package/dist/index.d.mts +1130 -0
  79. package/dist/index.mjs +1077 -0
  80. package/dist/index.mjs.map +1 -0
  81. package/dist/utils-DBnUQnZ-.mjs +26 -0
  82. package/dist/utils-DBnUQnZ-.mjs.map +1 -0
  83. package/package.json +5 -5
  84. package/dist/index.d.ts +0 -1016
  85. package/dist/index.js +0 -3130
  86. package/dist/index.js.map +0 -1
package/dist/index.d.ts DELETED
@@ -1,1016 +0,0 @@
1
- interface AmuleFile {
2
- fileHashHexString?: string;
3
- fileName?: string;
4
- filePath?: string;
5
- sizeFull?: number;
6
- fileEd2kLink?: string;
7
- upPrio?: number;
8
- getRequests?: number;
9
- getAllRequests?: number;
10
- getAccepts?: number;
11
- getAllAccepts?: number;
12
- getXferred?: number;
13
- getAllXferred?: number;
14
- getCompleteSourcesLow?: number;
15
- getCompleteSourcesHigh?: number;
16
- getCompleteSources?: number;
17
- getOnQueue?: number;
18
- getComment?: string;
19
- getRating?: number;
20
- }
21
- interface AmuleTransferringFile extends AmuleFile {
22
- partMetID?: number;
23
- sizeXfer?: number;
24
- sizeDone?: number;
25
- fileStatus?: FileStatus;
26
- stopped?: boolean;
27
- sourceCount?: number;
28
- sourceNotCurrCount?: number;
29
- sourceXferCount?: number;
30
- sourceCountA4AF?: number;
31
- speed?: number;
32
- downPrio?: number;
33
- fileCat?: number;
34
- lastSeenComplete?: number;
35
- lastDateChanged?: number;
36
- downloadActiveTime?: number;
37
- availablePartCount?: number;
38
- a4AFAuto?: boolean;
39
- hashingProgress?: boolean;
40
- getLostDueToCorruption?: number;
41
- getGainDueToCompression?: number;
42
- totalPacketsSavedDueToICH?: number;
43
- a4afSources?: number[];
44
- }
45
- interface AmuleCategory {
46
- id?: number;
47
- name?: string;
48
- path?: string;
49
- comment?: string;
50
- color?: number;
51
- priority?: number;
52
- }
53
- interface AmuleServer {
54
- name?: string;
55
- description?: string;
56
- address?: string;
57
- ip?: string;
58
- port?: number;
59
- ping?: number;
60
- users?: number;
61
- maxUsers?: number;
62
- files?: number;
63
- priority?: number;
64
- version?: string;
65
- isStatic?: boolean;
66
- failedCount?: number;
67
- }
68
- interface AmuleUpDownClient {
69
- clientName?: string;
70
- userHashHexString?: string;
71
- userID?: number;
72
- score?: number;
73
- software?: string;
74
- softVerStr?: string;
75
- userIP?: string;
76
- userPort?: number;
77
- sourceFrom?: number;
78
- serverIP?: string;
79
- serverPort?: number;
80
- serverName?: string;
81
- upSpeed?: number;
82
- downSpeed?: number;
83
- uploadSession?: number;
84
- transferredDown?: number;
85
- uploadedTotal?: number;
86
- downloadedTotal?: number;
87
- uploadState?: number;
88
- downloadState?: number;
89
- identState?: number;
90
- extProtocol?: number;
91
- waitingPosition?: number;
92
- remoteQueueRank?: number;
93
- oldRemoteQueueRank?: number;
94
- obfuscationStatus?: number;
95
- kadPort?: number;
96
- friendSlot?: number;
97
- uploadFileId?: bigint | number;
98
- uploadFilename?: string;
99
- requestFileId?: bigint | number;
100
- remoteFilename?: string;
101
- disableViewShared?: boolean;
102
- version?: number;
103
- modVersion?: string;
104
- osInfo?: string;
105
- availableParts?: number;
106
- partStatus?: string;
107
- nextRequestedPart?: number;
108
- lastDownloadingPart?: number;
109
- uploadPartStatus?: string;
110
- }
111
- interface AmuleFriend {
112
- name?: string;
113
- userHashHexString?: string;
114
- ip?: string;
115
- port?: number;
116
- friendSlot?: boolean;
117
- shared?: boolean;
118
- client?: AmuleUpDownClient;
119
- }
120
- declare enum FileStatus {
121
- READY = 0,
122
- EMPTY = 1,
123
- WAITINGFORHASH = 2,
124
- HASHING = 3,
125
- ERROR = 4,
126
- INSUFFICIENT = 5,
127
- UNKNOWN = 6,
128
- PAUSED = 7,
129
- COMPLETING = 8,
130
- COMPLETE = 9,
131
- ALLOCATING = 10
132
- }
133
- declare enum DownloadCommand {
134
- SWAP_A4AF_THIS = 22,
135
- SWAP_A4AF_THIS_AUTO = 23,
136
- SWAP_A4AF_OTHERS = 24,
137
- PAUSE = 25,
138
- RESUME = 26,
139
- STOP = 27,
140
- DELETE = 29
141
- }
142
- declare enum SearchType {
143
- GLOBAL = 1,
144
- KAD = 2,
145
- LOCAL = 0,
146
- WEB = 3
147
- }
148
-
149
- interface SearchFilters {
150
- minSize?: number;
151
- maxSize?: number;
152
- fileType?: string;
153
- extension?: string;
154
- availability?: number;
155
- }
156
- interface ConnectionState {
157
- ed2kConnected: boolean;
158
- ed2kConnecting: boolean;
159
- kadConnected: boolean;
160
- kadFirewalled: boolean;
161
- kadRunning: boolean;
162
- serverIpv4?: {
163
- address: string;
164
- port: number;
165
- };
166
- serverPing?: number;
167
- serverPrio?: number;
168
- serverFailed?: number;
169
- serverStatic?: boolean;
170
- serverVersion?: string;
171
- serverName?: string;
172
- serverDescription?: string;
173
- serverUsers?: number;
174
- serverUsersMax?: number;
175
- serverFiles?: number;
176
- ed2kId?: number;
177
- kadId?: number;
178
- clientId?: number;
179
- }
180
- declare enum SearchFileDownloadStatus {
181
- NEW = 0,
182
- DOWNLOADED = 1,
183
- QUEUED = 2,
184
- CANCELED = 3,
185
- QUEUEDCANCELED = 4
186
- }
187
-
188
- declare enum ProtocolVersion {
189
- EC_CURRENT_PROTOCOL_VERSION = 516
190
- }
191
- declare enum ECOpCode {
192
- EC_OP_NOOP = 1,
193
- EC_OP_AUTH_REQ = 2,
194
- EC_OP_AUTH_FAIL = 3,
195
- EC_OP_AUTH_OK = 4,
196
- EC_OP_FAILED = 5,
197
- EC_OP_STRINGS = 6,
198
- EC_OP_MISC_DATA = 7,
199
- EC_OP_SHUTDOWN = 8,
200
- EC_OP_ADD_LINK = 9,
201
- EC_OP_STAT_REQ = 10,
202
- EC_OP_GET_CONNSTATE = 11,
203
- EC_OP_STATS = 12,
204
- EC_OP_GET_DLOAD_QUEUE = 13,
205
- EC_OP_GET_ULOAD_QUEUE = 14,
206
- EC_OP_GET_SHARED_FILES = 16,
207
- EC_OP_SHARED_SET_PRIO = 17,
208
- EC_OP_PARTFILE_SWAP_A4AF_THIS = 22,
209
- EC_OP_PARTFILE_SWAP_A4AF_THIS_AUTO = 23,
210
- EC_OP_PARTFILE_SWAP_A4AF_OTHERS = 24,
211
- EC_OP_PARTFILE_PAUSE = 25,
212
- EC_OP_PARTFILE_RESUME = 26,
213
- EC_OP_PARTFILE_STOP = 27,
214
- EC_OP_PARTFILE_PRIO_SET = 28,
215
- EC_OP_PARTFILE_DELETE = 29,
216
- EC_OP_PARTFILE_SET_CAT = 30,
217
- EC_OP_DLOAD_QUEUE = 31,
218
- EC_OP_ULOAD_QUEUE = 32,
219
- EC_OP_SHARED_FILES = 34,
220
- EC_OP_SHAREDFILES_RELOAD = 35,
221
- EC_OP_RENAME_FILE = 37,
222
- EC_OP_SEARCH_START = 38,
223
- EC_OP_SEARCH_STOP = 39,
224
- EC_OP_SEARCH_RESULTS = 40,
225
- EC_OP_SEARCH_PROGRESS = 41,
226
- EC_OP_DOWNLOAD_SEARCH_RESULT = 42,
227
- EC_OP_IPFILTER_RELOAD = 43,
228
- EC_OP_GET_SERVER_LIST = 44,
229
- EC_OP_SERVER_LIST = 45,
230
- EC_OP_SERVER_DISCONNECT = 46,
231
- EC_OP_SERVER_CONNECT = 47,
232
- EC_OP_SERVER_REMOVE = 48,
233
- EC_OP_SERVER_ADD = 49,
234
- EC_OP_SERVER_UPDATE_FROM_URL = 50,
235
- EC_OP_ADDLOGLINE = 51,
236
- EC_OP_ADDDEBUGLOGLINE = 52,
237
- EC_OP_GET_LOG = 53,
238
- EC_OP_GET_DEBUGLOG = 54,
239
- EC_OP_GET_SERVERINFO = 55,
240
- EC_OP_LOG = 56,
241
- EC_OP_DEBUGLOG = 57,
242
- EC_OP_SERVERINFO = 58,
243
- EC_OP_RESET_LOG = 59,
244
- EC_OP_RESET_DEBUGLOG = 60,
245
- EC_OP_CLEAR_SERVERINFO = 61,
246
- EC_OP_GET_LAST_LOG_ENTRY = 62,
247
- EC_OP_GET_PREFERENCES = 63,
248
- EC_OP_SET_PREFERENCES = 64,
249
- EC_OP_CREATE_CATEGORY = 65,
250
- EC_OP_UPDATE_CATEGORY = 66,
251
- EC_OP_DELETE_CATEGORY = 67,
252
- EC_OP_GET_STATSGRAPHS = 68,
253
- EC_OP_STATSGRAPHS = 69,
254
- EC_OP_GET_STATSTREE = 70,
255
- EC_OP_STATSTREE = 71,
256
- EC_OP_KAD_START = 72,
257
- EC_OP_KAD_STOP = 73,
258
- EC_OP_CONNECT = 74,
259
- EC_OP_DISCONNECT = 75,
260
- EC_OP_KAD_UPDATE_FROM_URL = 77,
261
- EC_OP_KAD_BOOTSTRAP_FROM_IP = 78,
262
- EC_OP_AUTH_SALT = 79,
263
- EC_OP_AUTH_PASSWD = 80,
264
- EC_OP_IPFILTER_UPDATE = 81,
265
- EC_OP_GET_UPDATE = 82,
266
- EC_OP_CLEAR_COMPLETED = 83,
267
- EC_OP_CLIENT_SWAP_TO_ANOTHER_FILE = 84,
268
- EC_OP_SHARED_FILE_SET_COMMENT = 85,
269
- EC_OP_SERVER_SET_STATIC_PRIO = 86,
270
- EC_OP_FRIEND = 87
271
- }
272
- declare enum ECTagName {
273
- EC_TAG_STRING = 0,
274
- EC_TAG_PASSWD_HASH = 1,
275
- EC_TAG_PROTOCOL_VERSION = 2,
276
- EC_TAG_VERSION_ID = 3,
277
- EC_TAG_DETAIL_LEVEL = 4,
278
- EC_TAG_CONNSTATE = 5,
279
- EC_TAG_ED2K_ID = 6,
280
- EC_TAG_LOG_TO_STATUS = 7,
281
- EC_TAG_BOOTSTRAP_IP = 8,
282
- EC_TAG_BOOTSTRAP_PORT = 9,
283
- EC_TAG_CLIENT_ID = 10,
284
- EC_TAG_PASSWD_SALT = 11,
285
- EC_TAG_CAN_ZLIB = 12,
286
- EC_TAG_CAN_UTF8_NUMBERS = 13,
287
- EC_TAG_CAN_NOTIFY = 14,
288
- EC_TAG_ECID = 15,
289
- EC_TAG_KAD_ID = 16,
290
- EC_TAG_CLIENT_NAME = 256,
291
- EC_TAG_CLIENT_VERSION = 257,
292
- EC_TAG_CLIENT_MOD = 258,
293
- EC_TAG_STATS_UL_SPEED = 512,
294
- EC_TAG_STATS_DL_SPEED = 513,
295
- EC_TAG_STATS_UL_SPEED_LIMIT = 514,
296
- EC_TAG_STATS_DL_SPEED_LIMIT = 515,
297
- EC_TAG_STATS_UP_OVERHEAD = 516,
298
- EC_TAG_STATS_DOWN_OVERHEAD = 517,
299
- EC_TAG_STATS_TOTAL_SRC_COUNT = 518,
300
- EC_TAG_STATS_BANNED_COUNT = 519,
301
- EC_TAG_STATS_UL_QUEUE_LEN = 520,
302
- EC_TAG_STATS_ED2K_USERS = 521,
303
- EC_TAG_STATS_KAD_USERS = 522,
304
- EC_TAG_STATS_ED2K_FILES = 523,
305
- EC_TAG_STATS_KAD_FILES = 524,
306
- EC_TAG_STATS_LOGGER_MESSAGE = 525,
307
- EC_TAG_STATS_KAD_FIREWALLED_UDP = 526,
308
- EC_TAG_STATS_KAD_INDEXED_SOURCES = 527,
309
- EC_TAG_STATS_KAD_INDEXED_KEYWORDS = 528,
310
- EC_TAG_STATS_KAD_INDEXED_NOTES = 529,
311
- EC_TAG_STATS_KAD_INDEXED_LOAD = 530,
312
- EC_TAG_STATS_KAD_IP_ADRESS = 531,
313
- EC_TAG_STATS_BUDDY_STATUS = 532,
314
- EC_TAG_STATS_BUDDY_IP = 533,
315
- EC_TAG_STATS_BUDDY_PORT = 534,
316
- EC_TAG_STATS_KAD_IN_LAN_MODE = 535,
317
- EC_TAG_STATS_TOTAL_SENT_BYTES = 536,
318
- EC_TAG_STATS_TOTAL_RECEIVED_BYTES = 537,
319
- EC_TAG_STATS_SHARED_FILE_COUNT = 538,
320
- EC_TAG_STATS_KAD_NODES = 539,
321
- EC_TAG_PARTFILE = 768,
322
- EC_TAG_PARTFILE_NAME = 769,
323
- EC_TAG_PARTFILE_PARTMETID = 770,
324
- EC_TAG_PARTFILE_SIZE_FULL = 771,
325
- EC_TAG_PARTFILE_SIZE_XFER = 772,
326
- EC_TAG_PARTFILE_SIZE_XFER_UP = 773,
327
- EC_TAG_PARTFILE_SIZE_DONE = 774,
328
- EC_TAG_PARTFILE_SPEED = 775,
329
- EC_TAG_PARTFILE_STATUS = 776,
330
- EC_TAG_PARTFILE_PRIO = 777,
331
- EC_TAG_PARTFILE_SOURCE_COUNT = 778,
332
- EC_TAG_PARTFILE_SOURCE_COUNT_A4AF = 779,
333
- EC_TAG_PARTFILE_SOURCE_COUNT_NOT_CURRENT = 780,
334
- EC_TAG_PARTFILE_SOURCE_COUNT_XFER = 781,
335
- EC_TAG_PARTFILE_ED2K_LINK = 782,
336
- EC_TAG_PARTFILE_CAT = 783,
337
- EC_TAG_PARTFILE_LAST_RECV = 784,
338
- EC_TAG_PARTFILE_LAST_SEEN_COMP = 785,
339
- EC_TAG_PARTFILE_PART_STATUS = 786,
340
- EC_TAG_PARTFILE_GAP_STATUS = 787,
341
- EC_TAG_PARTFILE_REQ_STATUS = 788,
342
- EC_TAG_PARTFILE_SOURCE_NAMES = 789,
343
- EC_TAG_PARTFILE_COMMENTS = 790,
344
- EC_TAG_PARTFILE_STOPPED = 791,
345
- EC_TAG_PARTFILE_DOWNLOAD_ACTIVE = 792,
346
- EC_TAG_PARTFILE_LOST_CORRUPTION = 793,
347
- EC_TAG_PARTFILE_GAINED_COMPRESSION = 794,
348
- EC_TAG_PARTFILE_SAVED_ICH = 795,
349
- EC_TAG_PARTFILE_SOURCE_NAMES_COUNTS = 796,
350
- EC_TAG_PARTFILE_AVAILABLE_PARTS = 797,
351
- EC_TAG_PARTFILE_HASH = 798,
352
- EC_TAG_PARTFILE_SHARED = 799,
353
- EC_TAG_PARTFILE_HASHED_PART_COUNT = 800,
354
- EC_TAG_PARTFILE_A4AFAUTO = 801,
355
- EC_TAG_PARTFILE_A4AF_SOURCES = 802,
356
- EC_TAG_KNOWNFILE = 1024,
357
- EC_TAG_KNOWNFILE_XFERRED = 1025,
358
- EC_TAG_KNOWNFILE_XFERRED_ALL = 1026,
359
- EC_TAG_KNOWNFILE_REQ_COUNT = 1027,
360
- EC_TAG_KNOWNFILE_REQ_COUNT_ALL = 1028,
361
- EC_TAG_KNOWNFILE_ACCEPT_COUNT = 1029,
362
- EC_TAG_KNOWNFILE_ACCEPT_COUNT_ALL = 1030,
363
- EC_TAG_KNOWNFILE_AICH_MASTERHASH = 1031,
364
- EC_TAG_KNOWNFILE_FILENAME = 1032,
365
- EC_TAG_KNOWNFILE_COMPLETE_SOURCES_LOW = 1033,
366
- EC_TAG_KNOWNFILE_COMPLETE_SOURCES_HIGH = 1034,
367
- EC_TAG_KNOWNFILE_PRIO = 1035,
368
- EC_TAG_KNOWNFILE_ON_QUEUE = 1036,
369
- EC_TAG_KNOWNFILE_COMPLETE_SOURCES = 1037,
370
- EC_TAG_KNOWNFILE_COMMENT = 1038,
371
- EC_TAG_KNOWNFILE_RATING = 1039,
372
- EC_TAG_SERVER = 1280,
373
- EC_TAG_SERVER_NAME = 1281,
374
- EC_TAG_SERVER_DESC = 1282,
375
- EC_TAG_SERVER_ADDRESS = 1283,
376
- EC_TAG_SERVER_PING = 1284,
377
- EC_TAG_SERVER_USERS = 1285,
378
- EC_TAG_SERVER_USERS_MAX = 1286,
379
- EC_TAG_SERVER_FILES = 1287,
380
- EC_TAG_SERVER_PRIO = 1288,
381
- EC_TAG_SERVER_FAILED = 1289,
382
- EC_TAG_SERVER_STATIC = 1290,
383
- EC_TAG_SERVER_VERSION = 1291,
384
- EC_TAG_SERVER_IP = 1292,
385
- EC_TAG_SERVER_PORT = 1293,
386
- EC_TAG_CLIENT = 1536,
387
- EC_TAG_CLIENT_SOFTWARE = 1537,
388
- EC_TAG_CLIENT_SCORE = 1538,
389
- EC_TAG_CLIENT_HASH = 1539,
390
- EC_TAG_CLIENT_FRIEND_SLOT = 1540,
391
- EC_TAG_CLIENT_WAIT_TIME = 1541,
392
- EC_TAG_CLIENT_XFER_TIME = 1542,
393
- EC_TAG_CLIENT_QUEUE_TIME = 1543,
394
- EC_TAG_CLIENT_LAST_TIME = 1544,
395
- EC_TAG_CLIENT_UPLOAD_SESSION = 1545,
396
- EC_TAG_CLIENT_UPLOAD_TOTAL = 1546,
397
- EC_TAG_CLIENT_DOWNLOAD_TOTAL = 1547,
398
- EC_TAG_CLIENT_DOWNLOAD_STATE = 1548,
399
- EC_TAG_CLIENT_UP_SPEED = 1549,
400
- EC_TAG_CLIENT_DOWN_SPEED = 1550,
401
- EC_TAG_CLIENT_FROM = 1551,
402
- EC_TAG_CLIENT_USER_IP = 1552,
403
- EC_TAG_CLIENT_USER_PORT = 1553,
404
- EC_TAG_CLIENT_SERVER_IP = 1554,
405
- EC_TAG_CLIENT_SERVER_PORT = 1555,
406
- EC_TAG_CLIENT_SERVER_NAME = 1556,
407
- EC_TAG_CLIENT_SOFT_VER_STR = 1557,
408
- EC_TAG_CLIENT_WAITING_POSITION = 1558,
409
- EC_TAG_CLIENT_IDENT_STATE = 1559,
410
- EC_TAG_CLIENT_OBFUSCATION_STATUS = 1560,
411
- EC_TAG_CLIENT_CURRENTLYUNUSED1 = 1561,
412
- EC_TAG_CLIENT_REMOTE_QUEUE_RANK = 1562,
413
- EC_TAG_CLIENT_DISABLE_VIEW_SHARED = 1563,
414
- EC_TAG_CLIENT_UPLOAD_STATE = 1564,
415
- EC_TAG_CLIENT_EXT_PROTOCOL = 1565,
416
- EC_TAG_CLIENT_USER_ID = 1566,
417
- EC_TAG_CLIENT_UPLOAD_FILE = 1567,
418
- EC_TAG_CLIENT_REQUEST_FILE = 1568,
419
- EC_TAG_CLIENT_A4AF_FILES = 1569,
420
- EC_TAG_CLIENT_OLD_REMOTE_QUEUE_RANK = 1570,
421
- EC_TAG_CLIENT_KAD_PORT = 1571,
422
- EC_TAG_CLIENT_PART_STATUS = 1572,
423
- EC_TAG_CLIENT_NEXT_REQUESTED_PART = 1573,
424
- EC_TAG_CLIENT_LAST_DOWNLOADING_PART = 1574,
425
- EC_TAG_CLIENT_REMOTE_FILENAME = 1575,
426
- EC_TAG_CLIENT_MOD_VERSION = 1576,
427
- EC_TAG_CLIENT_OS_INFO = 1577,
428
- EC_TAG_CLIENT_AVAILABLE_PARTS = 1578,
429
- EC_TAG_CLIENT_UPLOAD_PART_STATUS = 1579,
430
- EC_TAG_SEARCHFILE = 1792,
431
- EC_TAG_SEARCH_TYPE = 1793,
432
- EC_TAG_SEARCH_NAME = 1794,
433
- EC_TAG_SEARCH_MIN_SIZE = 1795,
434
- EC_TAG_SEARCH_MAX_SIZE = 1796,
435
- EC_TAG_SEARCH_FILE_TYPE = 1797,
436
- EC_TAG_SEARCH_EXTENSION = 1798,
437
- EC_TAG_SEARCH_AVAILABILITY = 1799,
438
- EC_TAG_SEARCH_STATUS = 1800,
439
- EC_TAG_SEARCH_PARENT = 1801,
440
- EC_TAG_FRIEND = 2048,
441
- EC_TAG_FRIEND_NAME = 2049,
442
- EC_TAG_FRIEND_HASH = 2050,
443
- EC_TAG_FRIEND_IP = 2051,
444
- EC_TAG_FRIEND_PORT = 2052,
445
- EC_TAG_FRIEND_CLIENT = 2053,
446
- EC_TAG_FRIEND_ADD = 2054,
447
- EC_TAG_FRIEND_REMOVE = 2055,
448
- EC_TAG_FRIEND_FRIENDSLOT = 2056,
449
- EC_TAG_FRIEND_SHARED = 2057,
450
- EC_TAG_SELECT_PREFS = 4096,
451
- EC_TAG_PREFS_CATEGORIES = 4352,
452
- EC_TAG_CATEGORY = 4353,
453
- EC_TAG_CATEGORY_TITLE = 4354,
454
- EC_TAG_CATEGORY_PATH = 4355,
455
- EC_TAG_CATEGORY_COMMENT = 4356,
456
- EC_TAG_CATEGORY_COLOR = 4357,
457
- EC_TAG_CATEGORY_PRIO = 4358,
458
- EC_TAG_PREFS_GENERAL = 4608,
459
- EC_TAG_USER_NICK = 4609,
460
- EC_TAG_USER_HASH = 4610,
461
- EC_TAG_USER_HOST = 4611,
462
- EC_TAG_GENERAL_CHECK_NEW_VERSION = 4612,
463
- EC_TAG_PREFS_CONNECTIONS = 4864,
464
- EC_TAG_CONN_DL_CAP = 4865,
465
- EC_TAG_CONN_UL_CAP = 4866,
466
- EC_TAG_CONN_MAX_DL = 4867,
467
- EC_TAG_CONN_MAX_UL = 4868,
468
- EC_TAG_CONN_SLOT_ALLOCATION = 4869,
469
- EC_TAG_CONN_TCP_PORT = 4870,
470
- EC_TAG_CONN_UDP_PORT = 4871,
471
- EC_TAG_CONN_UDP_DISABLE = 4872,
472
- EC_TAG_CONN_MAX_FILE_SOURCES = 4873,
473
- EC_TAG_CONN_MAX_CONN = 4874,
474
- EC_TAG_CONN_AUTOCONNECT = 4875,
475
- EC_TAG_CONN_RECONNECT = 4876,
476
- EC_TAG_NETWORK_ED2K = 4877,
477
- EC_TAG_NETWORK_KADEMLIA = 4878,
478
- EC_TAG_PREFS_MESSAGEFILTER = 5120,
479
- EC_TAG_MSGFILTER_ENABLED = 5121,
480
- EC_TAG_MSGFILTER_ALL = 5122,
481
- EC_TAG_MSGFILTER_FRIENDS = 5123,
482
- EC_TAG_MSGFILTER_SECURE = 5124,
483
- EC_TAG_MSGFILTER_BY_KEYWORD = 5125,
484
- EC_TAG_MSGFILTER_KEYWORDS = 5126,
485
- EC_TAG_PREFS_REMOTECTRL = 5376,
486
- EC_TAG_WEBSERVER_AUTORUN = 5377,
487
- EC_TAG_WEBSERVER_PORT = 5378,
488
- EC_TAG_WEBSERVER_GUEST = 5379,
489
- EC_TAG_WEBSERVER_USEGZIP = 5380,
490
- EC_TAG_WEBSERVER_REFRESH = 5381,
491
- EC_TAG_WEBSERVER_TEMPLATE = 5382,
492
- EC_TAG_PREFS_ONLINESIG = 5632,
493
- EC_TAG_ONLINESIG_ENABLED = 5633,
494
- EC_TAG_PREFS_SERVERS = 5888,
495
- EC_TAG_SERVERS_REMOVE_DEAD = 5889,
496
- EC_TAG_SERVERS_DEAD_SERVER_RETRIES = 5890,
497
- EC_TAG_SERVERS_AUTO_UPDATE = 5891,
498
- EC_TAG_SERVERS_URL_LIST = 5892,
499
- EC_TAG_SERVERS_ADD_FROM_SERVER = 5893,
500
- EC_TAG_SERVERS_ADD_FROM_CLIENT = 5894,
501
- EC_TAG_SERVERS_USE_SCORE_SYSTEM = 5895,
502
- EC_TAG_SERVERS_SMART_ID_CHECK = 5896,
503
- EC_TAG_SERVERS_SAFE_SERVER_CONNECT = 5897,
504
- EC_TAG_SERVERS_AUTOCONN_STATIC_ONLY = 5898,
505
- EC_TAG_SERVERS_MANUAL_HIGH_PRIO = 5899,
506
- EC_TAG_SERVERS_UPDATE_URL = 5900,
507
- EC_TAG_PREFS_FILES = 6144,
508
- EC_TAG_FILES_ICH_ENABLED = 6145,
509
- EC_TAG_FILES_AICH_TRUST = 6146,
510
- EC_TAG_FILES_NEW_PAUSED = 6147,
511
- EC_TAG_FILES_NEW_AUTO_DL_PRIO = 6148,
512
- EC_TAG_FILES_PREVIEW_PRIO = 6149,
513
- EC_TAG_FILES_NEW_AUTO_UL_PRIO = 6150,
514
- EC_TAG_FILES_UL_FULL_CHUNKS = 6151,
515
- EC_TAG_FILES_START_NEXT_PAUSED = 6152,
516
- EC_TAG_FILES_RESUME_SAME_CAT = 6153,
517
- EC_TAG_FILES_SAVE_SOURCES = 6154,
518
- EC_TAG_FILES_EXTRACT_METADATA = 6155,
519
- EC_TAG_FILES_ALLOC_FULL_SIZE = 6156,
520
- EC_TAG_FILES_CHECK_FREE_SPACE = 6157,
521
- EC_TAG_FILES_MIN_FREE_SPACE = 6158,
522
- EC_TAG_FILES_CREATE_NORMAL = 6159,
523
- EC_TAG_PREFS_DIRECTORIES = 6656,
524
- EC_TAG_DIRECTORIES_INCOMING = 6657,
525
- EC_TAG_DIRECTORIES_TEMP = 6658,
526
- EC_TAG_DIRECTORIES_SHARED = 6659,
527
- EC_TAG_DIRECTORIES_SHARE_HIDDEN = 6660,
528
- EC_TAG_PREFS_STATISTICS = 6912,
529
- EC_TAG_STATSGRAPH_WIDTH = 6913,
530
- EC_TAG_STATSGRAPH_SCALE = 6914,
531
- EC_TAG_STATSGRAPH_LAST = 6915,
532
- EC_TAG_STATSGRAPH_DATA = 6916,
533
- EC_TAG_STATTREE_CAPPING = 6917,
534
- EC_TAG_STATTREE_NODE = 6918,
535
- EC_TAG_STAT_NODE_VALUE = 6919,
536
- EC_TAG_STAT_VALUE_TYPE = 6920,
537
- EC_TAG_STATTREE_NODEID = 6921,
538
- EC_TAG_PREFS_SECURITY = 7168,
539
- EC_TAG_SECURITY_CAN_SEE_SHARES = 7169,
540
- EC_TAG_IPFILTER_CLIENTS = 7170,
541
- EC_TAG_IPFILTER_SERVERS = 7171,
542
- EC_TAG_IPFILTER_AUTO_UPDATE = 7172,
543
- EC_TAG_IPFILTER_UPDATE_URL = 7173,
544
- EC_TAG_IPFILTER_LEVEL = 7174,
545
- EC_TAG_IPFILTER_FILTER_LAN = 7175,
546
- EC_TAG_SECURITY_USE_SECIDENT = 7176,
547
- EC_TAG_SECURITY_OBFUSCATION_SUPPORTED = 7177,
548
- EC_TAG_SECURITY_OBFUSCATION_REQUESTED = 7178,
549
- EC_TAG_SECURITY_OBFUSCATION_REQUIRED = 7179,
550
- EC_TAG_PREFS_CORETWEAKS = 7424,
551
- EC_TAG_CORETW_MAX_CONN_PER_FIVE = 7425,
552
- EC_TAG_CORETW_VERBOSE = 7426,
553
- EC_TAG_CORETW_FILEBUFFER = 7427,
554
- EC_TAG_CORETW_UL_QUEUE = 7428,
555
- EC_TAG_CORETW_SRV_KEEPALIVE_TIMEOUT = 7429,
556
- EC_TAG_PREFS_KADEMLIA = 7680,
557
- EC_TAG_KADEMLIA_UPDATE_URL = 7681,
558
- EC_TAG_UNKNOWN = 65535
559
- }
560
- declare enum ECDetailLevel {
561
- EC_DETAIL_CMD = 0,
562
- EC_DETAIL_WEB = 1,
563
- EC_DETAIL_FULL = 2,
564
- EC_DETAIL_UPDATE = 3,
565
- EC_DETAIL_INC_UPDATE = 4
566
- }
567
- declare enum ECSearchType {
568
- EC_SEARCH_LOCAL = 0,
569
- EC_SEARCH_GLOBAL = 1,
570
- EC_SEARCH_KAD = 2,
571
- EC_SEARCH_WEB = 3
572
- }
573
- declare enum EcPrefs {
574
- EC_PREFS_CATEGORIES = 1,
575
- EC_PREFS_GENERAL = 2,
576
- EC_PREFS_CONNECTIONS = 4,
577
- EC_PREFS_MESSAGEFILTER = 8,
578
- EC_PREFS_REMOTECONTROLS = 16,
579
- EC_PREFS_ONLINESIG = 32,
580
- EC_PREFS_SERVERS = 64,
581
- EC_PREFS_FILES = 128,
582
- EC_PREFS_DIRECTORIES = 512,
583
- EC_PREFS_STATISTICS = 1024,
584
- EC_PREFS_SECURITY = 2048,
585
- EC_PREFS_CORETWEAKS = 4096,
586
- EC_PREFS_KADEMLIA = 8192
587
- }
588
- declare enum ECTagType {
589
- EC_TAGTYPE_UNKNOWN = 0,
590
- EC_TAGTYPE_CUSTOM = 1,
591
- EC_TAGTYPE_UINT8 = 2,
592
- EC_TAGTYPE_UINT16 = 3,
593
- EC_TAGTYPE_UINT32 = 4,
594
- EC_TAGTYPE_UINT64 = 5,
595
- EC_TAGTYPE_STRING = 6,
596
- EC_TAGTYPE_DOUBLE = 7,
597
- EC_TAGTYPE_IPV4 = 8,
598
- EC_TAGTYPE_HASH16 = 9,
599
- EC_TAGTYPE_UINT128 = 10
600
- }
601
-
602
- /**
603
- * Main aMule EC Client
604
- */
605
-
606
- interface AmuleClientOptions {
607
- host: string;
608
- port: number;
609
- password: string;
610
- timeout?: number;
611
- }
612
- interface StatsResponse {
613
- id: number;
614
- ed2kId: number;
615
- kadId?: string;
616
- connectedServer?: {
617
- name?: string;
618
- description?: string;
619
- ip: string;
620
- port: number;
621
- };
622
- connectionState?: any;
623
- uploadOverhead: number;
624
- downloadOverhead: number;
625
- bannedCount: number;
626
- loggerMessage: string[];
627
- totalSentBytes: number;
628
- totalReceivedBytes: number;
629
- sharedFileCount: number;
630
- uploadSpeed: number;
631
- downloadSpeed: number;
632
- uploadSpeedLimit: number;
633
- downloadSpeedLimit: number;
634
- uploadQueueLength: number;
635
- totalSourceCount: number;
636
- ed2kUsers: number;
637
- kadUsers: number;
638
- ed2kFiles: number;
639
- kadFiles: number;
640
- kadNodes: number;
641
- }
642
- interface SearchResultsResponse {
643
- files: {
644
- fileName: string;
645
- hash: Buffer;
646
- sizeFull: number;
647
- downloadStatus: number;
648
- completeSourceCount: number;
649
- sourceCount: number;
650
- }[];
651
- }
652
- interface UpdateResponse {
653
- sharedFiles: AmuleFile[];
654
- downloadQueue: AmuleTransferringFile[];
655
- clients: AmuleUpDownClient[];
656
- servers: AmuleServer[];
657
- friends: AmuleFriend[];
658
- }
659
- declare class AmuleClient {
660
- private connection;
661
- constructor(options: AmuleClientOptions);
662
- /**
663
- * Reconnect to the server
664
- */
665
- reconnect(): Promise<void>;
666
- /**
667
- * Get server statistics
668
- */
669
- getStats(): Promise<StatsResponse>;
670
- /**
671
- * Get incremental updates for files, clients, servers, and friends
672
- */
673
- getUpdate(detailLevel?: ECDetailLevel): Promise<UpdateResponse>;
674
- /**
675
- * Start an asynchronous search
676
- */
677
- searchAsync(query: string, searchType?: SearchType, filters?: SearchFilters): Promise<string>;
678
- /**
679
- * Get search status (0-1)
680
- */
681
- searchStatus(): Promise<number>;
682
- /**
683
- * Get search results
684
- */
685
- searchResults(): Promise<SearchResultsResponse>;
686
- /**
687
- * Perform a synchronous search (waits for results)
688
- */
689
- searchSync(query: string, searchType?: SearchType, filters?: SearchFilters, timeout?: number): Promise<SearchResultsResponse>;
690
- /**
691
- * Stop current search
692
- */
693
- searchStop(): Promise<void>;
694
- /**
695
- * Download a file from search results
696
- */
697
- downloadSearchResult(hash: Buffer): Promise<void>;
698
- /**
699
- * Download from an ed2k link
700
- */
701
- downloadEd2kLink(link: string): Promise<void>;
702
- /**
703
- * Get download queue
704
- */
705
- getDownloadQueue(): Promise<AmuleTransferringFile[]>;
706
- /**
707
- * Get shared files
708
- */
709
- getSharedFiles(): Promise<AmuleFile[]>;
710
- /**
711
- * Get client upload/download queue (clients we are uploading to/downloading from)
712
- */
713
- getClientQueue(): Promise<AmuleUpDownClient[]>;
714
- /**
715
- * Get the list of servers
716
- */
717
- getServerList(): Promise<AmuleServer[]>;
718
- /**
719
- * Connect to a specific server
720
- */
721
- connectToServer(ip?: string, port?: number): Promise<void>;
722
- /**
723
- * Disconnect from the current server
724
- */
725
- disconnectFromServer(): Promise<void>;
726
- /**
727
- * Create a category
728
- */
729
- createCategory(category: AmuleCategory): Promise<void>;
730
- /**
731
- * Update a category
732
- */
733
- updateCategory(id: number, category: AmuleCategory): Promise<void>;
734
- /**
735
- * Delete a category
736
- */
737
- deleteCategory(id: number): Promise<void>;
738
- /**
739
- * Get all categories
740
- */
741
- getCategories(): Promise<AmuleCategory[]>;
742
- /**
743
- * Set file category
744
- */
745
- setFileCategory(hash: Buffer, categoryId: number): Promise<void>;
746
- /**
747
- * Send a download command (PAUSE, RESUME, STOP, DELETE, etc.)
748
- */
749
- sendDownloadCommand(hash: Buffer, command: DownloadCommand): Promise<void>;
750
- /**
751
- * Pause a download
752
- */
753
- pauseDownload(hash: Buffer): Promise<void>;
754
- /**
755
- * Resume a download
756
- */
757
- resumeDownload(hash: Buffer): Promise<void>;
758
- /**
759
- * Stop a download
760
- */
761
- stopDownload(hash: Buffer): Promise<void>;
762
- /**
763
- * Delete a download
764
- */
765
- deleteDownload(hash: Buffer): Promise<void>;
766
- }
767
-
768
- declare class AmuleException extends Error {
769
- cause?: Error | undefined;
770
- constructor(message: string, cause?: Error | undefined);
771
- }
772
- declare class InvalidECException extends AmuleException {
773
- constructor(message: string, cause?: Error);
774
- }
775
- declare class CommunicationException extends AmuleException {
776
- constructor(message: string, cause?: Error);
777
- }
778
- declare class ServerException extends AmuleException {
779
- constructor(message: string, cause?: Error);
780
- }
781
-
782
- /**
783
- * Packet flags for EC protocol
784
- */
785
- declare class Flags {
786
- private static readonly FLAG_ACCEPTS;
787
- private static readonly FLAG_ZLIB;
788
- private static readonly FLAG_UTF8_NUMBERS;
789
- private static readonly FLAG_ALWAYS_SET;
790
- private readonly flags;
791
- constructor(flags?: number);
792
- /**
793
- * Create flags from buffer
794
- */
795
- static fromBuffer(buffer: Buffer, offset?: number): Flags;
796
- /**
797
- * Write flags to buffer
798
- */
799
- writeToBuffer(buffer: Buffer, offset?: number): void;
800
- /**
801
- * Check if UTF-8 number encoding is supported/accepted
802
- */
803
- isUtf8NumbersAccepted(): boolean;
804
- /**
805
- * Check if ZLIB compression is supported/accepted
806
- */
807
- isZlibAccepted(): boolean;
808
- /**
809
- * Check if UTF-8 number encoding is used
810
- */
811
- isUtf8Numbers(): boolean;
812
- /**
813
- * Check if ZLIB compression is used
814
- */
815
- isZlib(): boolean;
816
- /**
817
- * Create flags accepting UTF-8 numbers and ZLIB
818
- */
819
- static accept(): Flags;
820
- /**
821
- * Create flags using UTF-8 numbers
822
- */
823
- static useUtf8Numbers(): Flags;
824
- /**
825
- * Create flags without UTF-8 numbers (required for search)
826
- */
827
- static noUtf8(): Flags;
828
- /**
829
- * Create flags using ZLIB compression
830
- */
831
- static useZlib(): Flags;
832
- /**
833
- * Get numeric value of flags
834
- */
835
- getValue(): number;
836
- }
837
-
838
- interface NumericTag {
839
- getShort(): number;
840
- getInt(): number;
841
- getLong(): bigint;
842
- getValue(): number | bigint;
843
- }
844
- declare abstract class Tag<T> {
845
- readonly name: ECTagName;
846
- readonly type: ECTagType;
847
- readonly nameValue: number;
848
- protected value: T;
849
- nestedTags?: Tag<any>[];
850
- constructor(name: ECTagName, type: ECTagType, nestedTags?: Tag<any>[], nameValue?: number);
851
- abstract parseValue(value: Buffer): void;
852
- abstract encodeValue(): Buffer;
853
- getValue(): T;
854
- protected setValue(value: T): void;
855
- }
856
- declare class CustomTag extends Tag<Buffer> {
857
- constructor(name: ECTagName, value?: Buffer, subtags?: Tag<any>[], nameValue?: number);
858
- parseValue(value: Buffer): void;
859
- encodeValue(): Buffer;
860
- }
861
- declare class UByteTag extends Tag<number> implements NumericTag {
862
- constructor(name: ECTagName, value?: number, subtags?: Tag<any>[], nameValue?: number);
863
- static withValue(name: ECTagName, value: number, subtags?: Tag<any>[]): UByteTag;
864
- parseValue(value: Buffer): void;
865
- encodeValue(): Buffer;
866
- getShort(): number;
867
- getInt(): number;
868
- getLong(): bigint;
869
- }
870
- declare class UShortTag extends Tag<number> implements NumericTag {
871
- constructor(name: ECTagName, value?: number, subtags?: Tag<any>[], nameValue?: number);
872
- static withValue(name: ECTagName, value: number, subtags?: Tag<any>[]): UShortTag;
873
- parseValue(value: Buffer): void;
874
- encodeValue(): Buffer;
875
- getShort(): number;
876
- getInt(): number;
877
- getLong(): bigint;
878
- }
879
- declare class UIntTag extends Tag<number> implements NumericTag {
880
- constructor(name: ECTagName, value?: number, subtags?: Tag<any>[], nameValue?: number);
881
- static withValue(name: ECTagName, value: number, subtags?: Tag<any>[]): UIntTag;
882
- parseValue(value: Buffer): void;
883
- encodeValue(): Buffer;
884
- getShort(): number;
885
- getInt(): number;
886
- getLong(): bigint;
887
- }
888
- declare class ULongTag extends Tag<bigint> implements NumericTag {
889
- constructor(name: ECTagName, value?: bigint, subtags?: Tag<any>[], nameValue?: number);
890
- static withValue(name: ECTagName, value: bigint, subtags?: Tag<any>[]): ULongTag;
891
- parseValue(value: Buffer): void;
892
- encodeValue(): Buffer;
893
- getShort(): number;
894
- getInt(): number;
895
- getLong(): bigint;
896
- }
897
- declare class UInt128Tag extends Tag<bigint> {
898
- constructor(name: ECTagName, value?: bigint, subtags?: Tag<any>[], nameValue?: number);
899
- static withValue(name: ECTagName, value: bigint, subtags?: Tag<any>[]): UInt128Tag;
900
- parseValue(value: Buffer): void;
901
- encodeValue(): Buffer;
902
- }
903
- declare class StringTag extends Tag<string> {
904
- constructor(name: ECTagName, value?: string, subtags?: Tag<any>[], nameValue?: number);
905
- static withValue(name: ECTagName, value: string, subtags?: Tag<any>[]): StringTag;
906
- parseValue(value: Buffer): void;
907
- encodeValue(): Buffer;
908
- }
909
- declare class DoubleTag extends Tag<number> {
910
- constructor(name: ECTagName, value?: number, subtags?: Tag<any>[], nameValue?: number);
911
- static withValue(name: ECTagName, value: number, subtags?: Tag<any>[]): DoubleTag;
912
- parseValue(value: Buffer): void;
913
- encodeValue(): Buffer;
914
- }
915
- interface Ipv4Value {
916
- address: string;
917
- port: number;
918
- }
919
- declare class Ipv4Tag extends Tag<Ipv4Value> {
920
- constructor(name: ECTagName, value?: Ipv4Value, subtags?: Tag<any>[], nameValue?: number);
921
- static withValue(name: ECTagName, value: Ipv4Value, subtags?: Tag<any>[]): Ipv4Tag;
922
- parseValue(value: Buffer): void;
923
- encodeValue(): Buffer;
924
- }
925
- declare class Hash16Tag extends Tag<Buffer> {
926
- constructor(name: ECTagName, value?: Buffer, subtags?: Tag<any>[], nameValue?: number);
927
- static withValue(name: ECTagName, value: Buffer, subtags?: Tag<any>[]): Hash16Tag;
928
- parseValue(value: Buffer): void;
929
- encodeValue(): Buffer;
930
- }
931
-
932
- /**
933
- * EC Packet structure
934
- */
935
-
936
- declare class Packet {
937
- readonly opCode: ECOpCode;
938
- readonly flags: Flags;
939
- readonly tags: Tag<any>[];
940
- private static readonly EC_CURRENT_PROTOCOL_VERSION;
941
- constructor(opCode: ECOpCode, flags?: Flags, tags?: Tag<any>[]);
942
- /**
943
- * Add a tag to the packet
944
- */
945
- addTag(tag: Tag<any>): this;
946
- /**
947
- * Add multiple tags to the packet
948
- */
949
- addTags(tags: Tag<any>[]): this;
950
- /**
951
- * Get protocol version
952
- */
953
- static getProtocolVersion(): number;
954
- /**
955
- * Find a tag by name
956
- */
957
- findTag(tagName: number): Tag<any> | undefined;
958
- /**
959
- * Get all tags with a specific name
960
- */
961
- findAllTags(tagName: number): Tag<any>[];
962
- /**
963
- * Check if packet has a specific tag
964
- */
965
- hasTag(tagName: number): boolean;
966
- }
967
-
968
- /**
969
- * Packet Writer - Serializes EC packets to binary data
970
- */
971
-
972
- declare class PacketWriter {
973
- private static readonly HEADER_SIZE;
974
- /**
975
- * Write a packet to a buffer
976
- */
977
- static write(packet: Packet): Buffer;
978
- /**
979
- * Encode packet data (before compression)
980
- */
981
- private static encodePacketData;
982
- /**
983
- * Compress data with ZLIB
984
- */
985
- private static compress;
986
- }
987
-
988
- /**
989
- * Packet Parser - Deserializes EC packets from binary data
990
- */
991
-
992
- declare class PacketParser {
993
- private static readonly HEADER_SIZE;
994
- /**
995
- * Parse a packet from a buffer
996
- */
997
- static parse(buffer: Buffer): Packet;
998
- /**
999
- * Parse packet data (after decompression)
1000
- */
1001
- private static parsePacketData;
1002
- /**
1003
- * Decompress ZLIB data
1004
- */
1005
- private static decompress;
1006
- /**
1007
- * Calculate expected packet size from header
1008
- */
1009
- static getExpectedPacketSize(headerBuffer: Buffer): number;
1010
- /**
1011
- * Check if buffer contains a complete packet
1012
- */
1013
- static hasCompletePacket(buffer: Buffer): boolean;
1014
- }
1015
-
1016
- export { type AmuleCategory, AmuleClient, type AmuleClientOptions, AmuleException, type AmuleFile, type AmuleFriend, type AmuleServer, type AmuleTransferringFile, type AmuleUpDownClient, CommunicationException, type ConnectionState, CustomTag, DoubleTag, DownloadCommand, ECDetailLevel, ECOpCode, ECSearchType, ECTagName, EcPrefs, FileStatus, Flags, Hash16Tag, InvalidECException, Ipv4Tag, Packet, PacketParser, PacketWriter, ProtocolVersion, SearchFileDownloadStatus, type SearchFilters, type SearchResultsResponse, SearchType, ServerException, type StatsResponse, StringTag, Tag, UByteTag, UInt128Tag, UIntTag, ULongTag, UShortTag, type UpdateResponse };