filepizza-client 2.0.1 → 2.1.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.
@@ -1,15 +1,10 @@
1
- // src/filepizza-uploader.ts
2
- import Peer from 'peerjs';
3
1
  import { EventEmitter } from './event-emitter';
4
- import { ConnectionStatus, MessageType } from './types';
2
+ import { ConnectionStatus, MessageType, } from './types';
3
+ import { createPeer } from './peerjs';
5
4
  /**
6
- * FilePizza Uploader - connects to the FilePizza server and uploads files
5
+ * FilePizza Uploader - connects to the FilePizza server and uploads files.
7
6
  */
8
7
  export class FilePizzaUploader extends EventEmitter {
9
- /**
10
- * Create a new FilePizza uploader
11
- * @param options Configuration options
12
- */
13
8
  constructor(options = {}) {
14
9
  super();
15
10
  this.connections = new Map();
@@ -18,52 +13,30 @@ export class FilePizzaUploader extends EventEmitter {
18
13
  this.filePizzaServerUrl = options.filePizzaServerUrl || 'http://localhost:8081';
19
14
  this.password = options.password;
20
15
  this.sharedSlug = options.sharedSlug;
16
+ this.peerJSSignalingServer = options.peerJSSignalingServer;
17
+ this.discoverPeerJSSignalingServer =
18
+ options.discoverPeerJSSignalingServer ?? true;
21
19
  }
22
- /**
23
- * Initialize the uploader
24
- */
25
20
  async initialize() {
26
21
  if (this.peer) {
27
22
  return;
28
23
  }
29
- // Get ICE servers
30
- await this.getIceServers();
31
- // Initialize PeerJS
32
- this.peer = new Peer({
33
- config: {
34
- iceServers: this.iceServers || [{ urls: 'stun:stun.l.google.com:19302' }],
35
- },
36
- debug: 2,
24
+ this.peer = await createPeer({
25
+ filePizzaServerUrl: this.filePizzaServerUrl,
26
+ peerJSSignalingServer: this.peerJSSignalingServer,
27
+ discoverPeerJSSignalingServer: this.discoverPeerJSSignalingServer,
37
28
  });
38
- // Wait for peer to be ready
39
- if (!this.peer.id) {
40
- await new Promise((resolve) => {
41
- const onOpen = () => {
42
- this.peer?.off('open', onOpen);
43
- resolve();
44
- };
45
- this.peer?.on('open', onOpen);
46
- });
47
- }
48
- // Set up connection handling
49
29
  this.peer.on('connection', this.handleConnection.bind(this));
50
- // Create channel
51
- if (this.peer.id) {
52
- await this.createChannel(this.peer.id, this.sharedSlug || undefined);
53
- this.startChannelRenewal();
54
- }
30
+ await this.createChannel(this.peer.id, this.sharedSlug || undefined);
31
+ this.startChannelRenewal();
55
32
  }
56
33
  setPassword(password) {
57
34
  this.password = password;
58
35
  }
59
- /**
60
- * Set files to be shared
61
- */
62
36
  setFiles(files) {
63
37
  this.files = Array.from(files);
64
- // Update file info for existing connections
65
38
  if (this.files.length > 0) {
66
- for (const [_, connection] of this.connections.entries()) {
39
+ for (const [, connection] of this.connections.entries()) {
67
40
  if (connection.status === ConnectionStatus.Ready) {
68
41
  connection.dataConnection.send({
69
42
  type: MessageType.Info,
@@ -73,9 +46,6 @@ export class FilePizzaUploader extends EventEmitter {
73
46
  }
74
47
  }
75
48
  }
76
- /**
77
- * Get shareable links for the current channel
78
- */
79
49
  getShareableLinks() {
80
50
  if (!this.channelInfo) {
81
51
  return null;
@@ -85,16 +55,11 @@ export class FilePizzaUploader extends EventEmitter {
85
55
  short: `${this.filePizzaServerUrl}/download/${this.channelInfo.shortSlug}`,
86
56
  };
87
57
  }
88
- /**
89
- * Stop sharing and clean up
90
- */
91
58
  async stop() {
92
- // Stop channel renewal
93
59
  if (this.renewalTimer) {
94
60
  clearTimeout(this.renewalTimer);
95
61
  this.renewalTimer = undefined;
96
62
  }
97
- // Destroy channel if we have one
98
63
  if (this.channelInfo) {
99
64
  try {
100
65
  await this.destroyChannel(this.channelInfo.shortSlug);
@@ -103,69 +68,35 @@ export class FilePizzaUploader extends EventEmitter {
103
68
  console.error('Error destroying channel:', error);
104
69
  }
105
70
  }
106
- // Close all connections
107
- for (const [_, connection] of this.connections.entries()) {
71
+ for (const [, connection] of this.connections.entries()) {
108
72
  if (connection.dataConnection.open) {
109
73
  connection.dataConnection.close();
110
74
  }
111
75
  }
112
- // Clear connections
113
76
  this.connections.clear();
114
- // Destroy peer
115
77
  if (this.peer) {
116
78
  this.peer.destroy();
117
79
  this.peer = undefined;
118
80
  }
119
- // Reset state
120
81
  this.channelInfo = undefined;
121
82
  }
122
- /**
123
- * Get ICE servers from the FilePizza server
124
- */
125
- async getIceServers() {
126
- try {
127
- const response = await fetch(`${this.filePizzaServerUrl}/api/ice`, {
128
- method: 'POST',
129
- });
130
- if (!response.ok) {
131
- throw new Error(`Failed to get ICE servers: ${response.status}`);
132
- }
133
- const data = await response.json();
134
- this.iceServers = data.iceServers;
135
- return data.iceServers;
136
- }
137
- catch (error) {
138
- console.error('Error getting ICE servers:', error);
139
- return [{ urls: 'stun:stun.l.google.com:19302' }];
140
- }
141
- }
142
- /**
143
- * Create a new channel on the FilePizza server
144
- */
145
83
  async createChannel(uploaderPeerID, sharedSlug) {
146
- try {
147
- const payload = { uploaderPeerID };
148
- if (sharedSlug) {
149
- payload.sharedSlug = sharedSlug;
150
- }
151
- const response = await fetch(`${this.filePizzaServerUrl}/api/create`, {
152
- method: 'POST',
153
- headers: { 'Content-Type': 'application/json' },
154
- body: JSON.stringify(payload),
155
- });
156
- if (!response.ok) {
157
- throw new Error(`Failed to create channel: ${response.status}`);
158
- }
159
- this.channelInfo = await response.json();
84
+ const payload = {
85
+ uploaderPeerID,
86
+ };
87
+ if (sharedSlug) {
88
+ payload.sharedSlug = sharedSlug;
160
89
  }
161
- catch (error) {
162
- console.error('Error creating channel:', error);
163
- throw error;
90
+ const response = await fetch(`${this.filePizzaServerUrl}/api/create`, {
91
+ method: 'POST',
92
+ headers: { 'Content-Type': 'application/json' },
93
+ body: JSON.stringify(payload),
94
+ });
95
+ if (!response.ok) {
96
+ throw new Error(`Failed to create channel: ${response.status}`);
164
97
  }
98
+ this.channelInfo = await response.json();
165
99
  }
166
- /**
167
- * Renew the channel to keep it alive
168
- */
169
100
  async renewChannel() {
170
101
  if (!this.channelInfo || !this.channelInfo.secret) {
171
102
  return;
@@ -187,9 +118,6 @@ export class FilePizzaUploader extends EventEmitter {
187
118
  console.error('Error renewing channel:', error);
188
119
  }
189
120
  }
190
- /**
191
- * Destroy a channel
192
- */
193
121
  async destroyChannel(slug) {
194
122
  try {
195
123
  const response = await fetch(`${this.filePizzaServerUrl}/api/destroy`, {
@@ -205,29 +133,19 @@ export class FilePizzaUploader extends EventEmitter {
205
133
  console.error('Error destroying channel:', error);
206
134
  }
207
135
  }
208
- /**
209
- * Start channel renewal
210
- */
211
136
  startChannelRenewal() {
212
137
  if (!this.channelInfo || !this.channelInfo.secret) {
213
138
  return;
214
139
  }
215
- // Renew every 30 minutes
216
- const renewalInterval = 30 * 60 * 1000;
217
140
  this.renewalTimer = setInterval(() => {
218
141
  this.renewChannel();
219
- }, renewalInterval);
142
+ }, 30 * 60 * 1000);
220
143
  }
221
- /**
222
- * Handle new connection
223
- */
224
144
  handleConnection(conn) {
225
- // Ignore connections for reporting (handled separately)
226
145
  if (conn.metadata?.type === 'report') {
227
146
  this.emit('report', conn.peer);
228
147
  return;
229
148
  }
230
- console.log(`[FilePizzaUploader] New connection from ${conn.peer}`);
231
149
  const connectionContext = {
232
150
  status: ConnectionStatus.Pending,
233
151
  dataConnection: conn,
@@ -237,24 +155,19 @@ export class FilePizzaUploader extends EventEmitter {
237
155
  bytesTransferred: 0,
238
156
  totalBytes: this.getTotalBytes(),
239
157
  currentFileProgress: 0,
158
+ acknowledgedBytes: 0,
240
159
  };
241
160
  this.connections.set(conn.peer, connectionContext);
242
- // Set up event handlers
243
161
  conn.on('data', (data) => this.handleData(conn, data));
244
162
  conn.on('close', () => this.handleClose(conn));
245
163
  conn.on('error', (error) => this.handleError(conn, error));
246
- // Emit connection event
247
164
  this.emit('connection', this.getConnectionInfo(conn.peer));
248
165
  }
249
- /**
250
- * Handle data messages from connection
251
- */
252
166
  handleData(conn, data) {
253
167
  const context = this.connections.get(conn.peer);
254
168
  if (!context)
255
169
  return;
256
170
  try {
257
- // WebRTC messages follow a specific format with a type field
258
171
  const message = data;
259
172
  switch (message.type) {
260
173
  case MessageType.RequestInfo:
@@ -269,8 +182,8 @@ export class FilePizzaUploader extends EventEmitter {
269
182
  case MessageType.Pause:
270
183
  this.handlePause(conn, context);
271
184
  break;
272
- case MessageType.Resume:
273
- this.handleResume(conn, context, message);
185
+ case MessageType.ChunkAck:
186
+ this.handleChunkAck(conn, context, message);
274
187
  break;
275
188
  case MessageType.Done:
276
189
  this.handleDone(conn, context);
@@ -285,41 +198,25 @@ export class FilePizzaUploader extends EventEmitter {
285
198
  });
286
199
  }
287
200
  }
288
- /**
289
- * Handle connection close
290
- */
291
201
  handleClose(conn) {
292
202
  const context = this.connections.get(conn.peer);
293
203
  if (!context)
294
204
  return;
295
- // Update connection status
296
205
  context.status = ConnectionStatus.Closed;
297
- // Emit connection closed event
298
206
  this.emit('disconnection', conn.peer);
299
- // Remove connection
300
207
  this.connections.delete(conn.peer);
301
208
  }
302
- /**
303
- * Handle connection error
304
- */
305
209
  handleError(conn, error) {
306
210
  const context = this.connections.get(conn.peer);
307
211
  if (!context)
308
212
  return;
309
- // Update connection status
310
213
  context.status = ConnectionStatus.Error;
311
- // Emit error event
312
214
  this.emit('error', { connectionId: conn.peer, error });
313
- // Close connection
314
215
  if (conn.open) {
315
216
  conn.close();
316
217
  }
317
218
  }
318
- /**
319
- * Handle RequestInfo message
320
- */
321
219
  handleRequestInfo(conn, context, message) {
322
- // Store browser info in connection metadata
323
220
  this.connectionInfoMap.set(conn.connectionId, {
324
221
  browserName: message.browserName,
325
222
  browserVersion: message.browserVersion,
@@ -328,31 +225,33 @@ export class FilePizzaUploader extends EventEmitter {
328
225
  mobileVendor: message.mobileVendor,
329
226
  mobileModel: message.mobileModel,
330
227
  });
331
- // Check if password is required
228
+ const connectionInfo = {
229
+ browserName: message.browserName,
230
+ browserVersion: message.browserVersion,
231
+ osName: message.osName,
232
+ osVersion: message.osVersion,
233
+ mobileVendor: message.mobileVendor,
234
+ mobileModel: message.mobileModel,
235
+ };
332
236
  if (this.password) {
333
237
  conn.send({
334
238
  type: MessageType.PasswordRequired,
335
239
  });
336
240
  context.status = ConnectionStatus.Authenticating;
241
+ Object.assign(context, connectionInfo);
242
+ this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
243
+ return;
337
244
  }
338
- else {
339
- // Send file info
340
- conn.send({
341
- type: MessageType.Info,
342
- files: context.filesInfo,
343
- });
344
- context.status = ConnectionStatus.Ready;
345
- }
346
- // Emit connection update
245
+ conn.send({
246
+ type: MessageType.Info,
247
+ files: context.filesInfo,
248
+ });
249
+ context.status = ConnectionStatus.Ready;
250
+ Object.assign(context, connectionInfo);
347
251
  this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
348
252
  }
349
- /**
350
- * Handle UsePassword message
351
- */
352
253
  handleUsePassword(conn, context, message) {
353
- // Check password
354
254
  if (message.password === this.password) {
355
- // Password correct, send file info
356
255
  conn.send({
357
256
  type: MessageType.Info,
358
257
  files: context.filesInfo,
@@ -360,152 +259,100 @@ export class FilePizzaUploader extends EventEmitter {
360
259
  context.status = ConnectionStatus.Ready;
361
260
  }
362
261
  else {
363
- // Password incorrect
364
262
  conn.send({
365
263
  type: MessageType.PasswordRequired,
366
- errorMessage: 'Incorrect password',
264
+ errorMessage: 'Invalid password',
367
265
  });
368
266
  context.status = ConnectionStatus.InvalidPassword;
369
267
  }
370
- // Emit connection update
371
268
  this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
372
269
  }
373
- /**
374
- * Handle Start message
375
- */
376
270
  handleStart(conn, context, message) {
377
- // Find the requested file
378
271
  const fileName = message.fileName;
379
272
  const offset = message.offset;
380
273
  const file = this.findFile(fileName);
381
- if (!file) {
274
+ if (!file || offset > file.size) {
382
275
  conn.send({
383
276
  type: MessageType.Error,
384
- error: `File not found: ${fileName}`,
277
+ error: `Invalid file or offset: ${fileName}`,
385
278
  });
386
279
  return;
387
280
  }
388
- // Update connection status
389
281
  context.status = ConnectionStatus.Uploading;
390
282
  context.uploadingFileName = fileName;
391
283
  context.uploadingOffset = offset;
392
- // Emit status update
284
+ context.acknowledgedBytes = 0;
285
+ context.currentFileProgress = 0;
393
286
  this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
394
- // Begin sending file chunks
395
287
  this.sendFileChunks(conn, context, file, offset);
396
288
  }
397
- /**
398
- * Handle Pause message
399
- */
400
289
  handlePause(conn, context) {
401
290
  context.status = ConnectionStatus.Paused;
402
291
  this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
403
292
  }
404
- /**
405
- * Handle Resume message
406
- */
407
- handleResume(conn, context, message) {
408
- const fileName = message.fileName;
409
- const offset = message.offset;
410
- const file = this.findFile(fileName);
411
- if (!file) {
412
- conn.send({
413
- type: MessageType.Error,
414
- error: `File not found: ${fileName}`,
415
- });
416
- return;
417
- }
418
- context.status = ConnectionStatus.Uploading;
419
- context.uploadingFileName = fileName;
420
- context.uploadingOffset = offset;
421
- this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
422
- this.sendFileChunks(conn, context, file, offset);
293
+ handleChunkAck(conn, context, message) {
294
+ context.acknowledgedBytes =
295
+ (context.acknowledgedBytes || 0) + message.bytesReceived;
296
+ const file = this.findFile(message.fileName);
297
+ if (file) {
298
+ context.currentFileProgress = context.acknowledgedBytes / file.size;
299
+ }
300
+ this.emit('progress', this.getProgressInfo(conn.peer));
423
301
  }
424
- /**
425
- * Handle Done message
426
- */
427
302
  handleDone(conn, context) {
428
303
  context.status = ConnectionStatus.Done;
429
304
  this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
430
305
  conn.close();
431
306
  }
432
- /**
433
- * Send file chunks to the downloader
434
- */
435
307
  sendFileChunks(conn, context, file, startOffset) {
436
308
  let offset = startOffset;
437
- const CHUNK_SIZE = 256 * 1024; // 256 KB
309
+ const chunkSize = 256 * 1024;
438
310
  const sendNextChunk = () => {
439
- // Check if connection is still open and in uploading state
440
311
  if (!conn.open || context.status !== ConnectionStatus.Uploading) {
441
312
  return;
442
313
  }
443
- const end = Math.min(file.size, offset + CHUNK_SIZE);
444
- const chunkSize = end - offset;
314
+ const end = Math.min(file.size, offset + chunkSize);
445
315
  const final = end >= file.size;
446
- // Create chunk
447
- const chunk = file.slice(offset, end);
448
- // Send chunk
316
+ const sentBytes = end - offset;
449
317
  conn.send({
450
318
  type: MessageType.Chunk,
451
319
  fileName: file.name,
452
320
  offset,
453
- bytes: chunk,
321
+ bytes: file.slice(offset, end),
454
322
  final,
455
323
  });
456
- // Update progress
457
324
  offset = end;
458
325
  context.uploadingOffset = offset;
459
- context.currentFileProgress = offset / file.size;
460
- context.bytesTransferred += chunkSize;
461
- // Emit progress update
462
- this.emit('progress', this.getProgressInfo(conn.peer));
463
- // If this was the final chunk
326
+ context.bytesTransferred += sentBytes;
464
327
  if (final) {
465
328
  if (context.fileIndex < context.totalFiles - 1) {
466
- // Move to next file
467
- context.fileIndex++;
329
+ context.fileIndex += 1;
468
330
  context.currentFileProgress = 0;
469
331
  context.status = ConnectionStatus.Ready;
470
- // Emit update
471
- this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
472
332
  }
473
333
  else {
474
- // All files completed
475
334
  context.fileIndex = context.totalFiles;
476
335
  context.currentFileProgress = 1;
477
- context.status = ConnectionStatus.Done;
478
- // Emit update
479
- this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
336
+ context.status = ConnectionStatus.Ready;
480
337
  }
338
+ this.emit('connectionUpdate', this.getConnectionInfo(conn.peer));
481
339
  }
482
340
  else {
483
- // Schedule next chunk
484
341
  setTimeout(sendNextChunk, 0);
485
342
  }
486
343
  };
487
- // Start sending chunks
488
344
  sendNextChunk();
489
345
  }
490
- /**
491
- * Find a file by name
492
- */
493
346
  findFile(fileName) {
494
- return this.files.find(file => file.name === fileName);
347
+ return this.files.find((file) => file.name === fileName);
495
348
  }
496
- /**
497
- * Get file info for all files
498
- */
499
349
  getFileInfo() {
500
- return this.files.map(file => ({
350
+ return this.files.map((file) => ({
501
351
  fileName: file.name,
502
352
  size: file.size,
503
353
  type: file.type,
504
354
  }));
505
355
  }
506
- /**
507
- * Get connection info for a specific connection
508
- */
509
356
  getConnectionInfo(peerId) {
510
357
  const context = this.connections.get(peerId);
511
358
  if (!context) {
@@ -514,40 +361,23 @@ export class FilePizzaUploader extends EventEmitter {
514
361
  return {
515
362
  id: peerId,
516
363
  status: context.status,
517
- browserName: context.dataConnection.metadata?.browserName,
518
- browserVersion: context.dataConnection.metadata?.browserVersion,
519
- osName: context.dataConnection.metadata?.osName,
520
- osVersion: context.dataConnection.metadata?.osVersion,
521
- mobileVendor: context.dataConnection.metadata?.mobileVendor,
522
- mobileModel: context.dataConnection.metadata?.mobileModel,
364
+ browserName: context.browserName,
365
+ browserVersion: context.browserVersion,
366
+ osName: context.osName,
367
+ osVersion: context.osVersion,
368
+ mobileVendor: context.mobileVendor,
369
+ mobileModel: context.mobileModel,
523
370
  };
524
371
  }
525
- /**
526
- * Get connection info for all connections
527
- */
528
372
  getConnectionInfoAll() {
529
- const connectionInfos = [];
530
- for (const [peerId, context] of this.connections.entries()) {
531
- const connectionInfo = this.getConnectionInfo(peerId);
532
- connectionInfos.push(connectionInfo);
533
- }
534
- return connectionInfos;
373
+ return Array.from(this.connections.keys()).map((peerId) => this.getConnectionInfo(peerId));
535
374
  }
536
- /**
537
- * Remove connection info
538
- */
539
375
  removeConnectionInfo(connectionId) {
540
376
  this.connectionInfoMap.delete(connectionId);
541
377
  }
542
- /**
543
- * Get total bytes for all files
544
- */
545
378
  getTotalBytes() {
546
379
  return this.files.reduce((total, file) => total + file.size, 0);
547
380
  }
548
- /**
549
- * Get progress info for a specific connection
550
- */
551
381
  getProgressInfo(peerId) {
552
382
  const context = this.connections.get(peerId);
553
383
  if (!context) {
@@ -558,7 +388,7 @@ export class FilePizzaUploader extends EventEmitter {
558
388
  fileName: context.uploadingFileName || '',
559
389
  totalFiles: context.totalFiles,
560
390
  currentFileProgress: context.currentFileProgress,
561
- overallProgress: context.bytesTransferred / context.totalBytes,
391
+ overallProgress: context.bytesTransferred / (context.totalBytes || 1),
562
392
  bytesTransferred: context.bytesTransferred,
563
393
  totalBytes: context.totalBytes,
564
394
  };
@@ -1 +1 @@
1
- {"version":3,"file":"filepizza-uploader.js","sourceRoot":"","sources":["../src/filepizza-uploader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filepizza-uploader.js","sourceRoot":"","sources":["../src/filepizza-uploader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import Peer, { PeerOptions } from 'peerjs';
2
+ import { PeerJSSignalingServer } from './types';
3
+ export type PeerJSConfigOptions = {
4
+ filePizzaServerUrl: string;
5
+ iceServers?: RTCIceServer[];
6
+ peerJSSignalingServer?: PeerJSSignalingServer;
7
+ discoverPeerJSSignalingServer?: boolean;
8
+ };
9
+ export declare function getIceServers(filePizzaServerUrl: string): Promise<RTCIceServer[]>;
10
+ export declare function discoverPeerJSSignalingServer(filePizzaServerUrl: string): Promise<PeerJSSignalingServer | undefined>;
11
+ export declare function buildPeerOptions({ filePizzaServerUrl, iceServers, peerJSSignalingServer, discoverPeerJSSignalingServer: shouldDiscover, }: PeerJSConfigOptions): Promise<PeerOptions>;
12
+ export declare function createPeer(options: PeerJSConfigOptions): Promise<Peer>;