View RawView Code
[1.1.14] - 2025-09-17
Added
- X-Accel-Redirect Support: Revolutionary download system for nginx-based deployments
- nginx handles file transfers directly after PHP authorization
- Eliminates PHP memory limitations for large file downloads
- Enables enterprise-grade download performance with minimal resource usage
- Download Resume Capability: HTTP range request support for interrupted downloads
- Clients can resume downloads from breakpoint instead of restarting
- Automatic range header processing and partial content responses
- Enhanced reliability for large file transfers over unstable connections
- Optimized PHP Streaming: Fallback streaming system for non-nginx environments
- Chunked file delivery (8KB chunks) to prevent memory exhaustion
- Connection abort detection to stop streaming when client disconnects
- Memory-efficient file handling for deployments without X-Accel-Redirect
Enhanced
- Docker Download Performance: Resolved file type-specific download failures
- Fixed MIME type handling for problematic extensions (.7z, .mp4, .webp)
- Enhanced nginx configuration with proper buffering controls
- Eliminated restrictive location blocks that interfered with downloads
- Large File Handling: Dramatically improved support for multi-gigabyte downloads
- Increased PHP execution timeout to 7200 seconds (2 hours)
- Expanded client body size limits to 200GB for large operations
- Disabled output buffering for download operations
- nginx Configuration: Comprehensive optimization for file serving
- Extended fastcgi timeouts for large file processing
- Conditional security headers (bypassed for downloads)
- Internal location blocks for secure direct file access
- Sendfile optimization with 1MB chunk sizes
Fixed
- Docker-Specific Issues: Resolved selective file type download failures
- Corrected nginx MIME type configuration for binary files
- Removed overly restrictive access patterns
- Fixed PHP-FPM timeout handling for download operations
- Memory Limitations: Eliminated PHP memory constraints on large downloads
- Downloads no longer load entire files into PHP memory
- Streaming approach prevents out-of-memory errors
- Scalable to files of unlimited size (tested with 60GB+ files)
- Download Reliability: Enhanced error handling and recovery
- Proper HTTP status codes for partial content and errors
- Graceful handling of client disconnections during transfers
- Improved validation of file access permissions before streaming
Performance
- File Transfer Speed: Significant improvement in download performance
- nginx direct file serving bypasses PHP processing overhead
- Optimized buffer sizes and TCP settings for large transfers
- Comparable performance to dedicated file hosting services
- Resource Efficiency: Reduced server resource consumption
- Minimal PHP memory usage regardless of file size
- Lower CPU utilization during file transfers
- Better concurrent download handling capacity
- Network Optimization: Enhanced data transfer protocols
- TCP no-push and no-delay optimizations for large files
- Proper cache control headers for download vs static content
- Range request support reduces bandwidth waste on failed downloads
Security
- Access Control Preservation: Maintained security while improving performance
- PHP continues to handle all authorization checks
- File access permissions enforced before nginx handoff
- Internal nginx locations prevent direct file access bypass
- Enhanced Validation: Stricter file access verification
- Path traversal protection maintained in optimized code paths
- Extension-based access control preserved
- Deny/allow list enforcement before file serving
Configuration
- Docker Environment: Updated container configuration for optimal performance
- Enhanced nginx.conf with X-Accel-Redirect support
- Optimized PHP-FPM settings for large file operations
- Internal file serving location blocks for secure access
- Script Installation: Updated nginx template for bare-metal deployments
- X-Accel-Redirect support added to install script template
- Consistent performance benefits across deployment methods
- Backward compatibility with existing installations