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