Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chunked File Transfer System with Configurable Partition Size #5260

Open
1 task done
mthsmb opened this issue Dec 16, 2024 · 0 comments
Open
1 task done

Chunked File Transfer System with Configurable Partition Size #5260

mthsmb opened this issue Dec 16, 2024 · 0 comments
Labels
feature request A request for a new feature.

Comments

@mthsmb
Copy link

mthsmb commented Dec 16, 2024

Is there an existing feature request for this?

  • I have searched the existing issues before opening this feature request.

Describe the feature you would like to see.

Currently, large file transfers fail when using Cloudflare Tunnels due to the 100MB upload limit, as well as other limitations shown in issue #4696. Key problems include:

  1. Cloudflare Tunnels 100MB upload limit restriction
  2. Transfer timeouts (occurring ~2 minutes)
  3. Nginx reverse proxy limitations
  4. Complete transfer failure without resume capability
  5. No partial transfer recovery options

This enhancement would implement a chunked file transfer system specifically designed to work within these limitations.

Describe the solution you'd like.

Implement a chunked file transfer system that respects Cloudflare Tunnels limitations:

  1. Chunk Management:
  • Default chunk size of 95MB (staying under Cloudflare Tunnels 100MB limit)
  • Configurable chunk size with maximum of 95MB when Cloudflare is detected
  • Automatic file splitting and reassembly
  • Chunk verification on completion
  1. Configuration Options:
  • Adjustable chunk size (with enforced 95MB cap for Cloudflare)
  • Configurable concurrent chunk transfers
  • Retry settings per chunk
  • Timeout settings per chunk operation
  1. Recovery System:
  • Independent chunk retry mechanism
  • Transfer resume from last successful chunk
  • Chunk-level integrity verification
  • Failed chunk logging and reporting
  1. User Interface:
  • Clear progress tracking per chunk
  • Overall transfer progress display
  • Pause/Resume functionality
  • Error reporting with chunk-specific details

Additional context to this request.

This directly addresses the issue #4696 while specifically considering Cloudflare Tunnels limitations:

  • Enforces chunk sizes compatible with 100MB Cloudflare limit
  • Handles timeouts by breaking transfers into smaller operations
  • Provides resilience against connection issues
  • Enables reliable large file transfers even with infrastructure limitations

Implementation considerations:

  • Automatic Cloudflare detection for appropriate chunk sizing
  • Efficient chunk management to minimize overhead
  • Clear error handling and reporting
  • Progress persistence for long-running transfers
@mthsmb mthsmb added the feature request A request for a new feature. label Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request A request for a new feature.
Projects
None yet
Development

No branches or pull requests

1 participant