Commit Graph

85 Commits

Author SHA1 Message Date
V
fc83e527b7 feat: Add Demo Mode for Testing and Evaluation (#37)
* demo things.
2025-02-27 11:25:25 -08:00
Chris
c6a969b5cd feat: pin not working when rate limited redirect fix & allow non https baseUrl pin fix (#32)
* feat: ratelimit pin not working with baseUrl fix

* Remove white space changes

* Refactor PIN verification error handling and input state management

- Improve error handling in login page JavaScript
- Standardize API response structure with explicit success and error fields
- Enhance user feedback for PIN authentication failures
- Implement more robust input state management during login attempts

* Fix PIN verification logic in root route

- Improve PIN verification check to handle missing cookie scenario
- Add explicit check for cookie existence before comparing PIN
- Enhance root route authentication logic for more robust access control
2025-02-24 10:56:57 -08:00
V
d42ca55c08 Update docker-publish.yml
oops, I lied...Fixed this time.
2025-02-21 21:22:07 -07:00
V
a923bb957a Update docker-publish.yml
Did the thing, didn't break everything... I think. Name=dumbwareio/dumbdrop
2025-02-21 21:20:33 -07:00
Chris
3236a727ff Update pin input type to password to mask pin and match dumbwareio products (#33) 2025-02-21 18:28:38 -08:00
Greirson Lee-Thorp
1a74774d6a feat: Enhance login page security and caching
- Add rate limit handling for PIN verification with user-friendly error message
- Disable PIN input on repeated failed attempts to prevent refresh loops
- Implement cache control headers for login page to prevent browser caching
2025-02-21 11:08:21 -08:00
Greirson Lee-Thorp
aa25ef92f8 fix: Update login API endpoint paths for authentication routes
- Modify fetch URLs to use '/api/auth/' prefix for PIN verification endpoints
- Update '/api/pin-required' and '/api/verify-pin' to '/api/auth/pin-required' and '/api/auth/verify-pin'
- Ensure consistent routing for authentication-related API calls

Closes #31
2025-02-19 08:27:23 -08:00
Greirson Lee-Thorp
7e0f3f85d7 Update .cursorrules 2025-02-16 23:57:03 -08:00
Greirson Lee-Thorp
1b40cf2e8e feat: add BASE_URL configuration for flexible deployment environments (#30)
- Introduce BASE_URL environment variable for flexible application URL configuration
- Update .env.example, docker-compose, and README with new configuration option
- Implement BASE_URL validation in config module
- Modify server logging to use configurable base URL
- Provide default base URL generation when not explicitly set
2025-02-16 23:47:32 -08:00
Greirson Lee-Thorp
22f79f830b feat: Complete Application Infrastructure and Security Overhaul (#28)
Chores & Configuration
	•	Enhanced development setup: optimized Dockerfile, refined scripts, and improved .gitignore.
	•	Updated docker-compose for better dev/prod separation.
	•	Improved documentation in README and source files.

Features & Enhancements
	•	Refactored project structure with modular architecture.
	•	Improved testing infrastructure and integration tests.
	•	Enhanced file upload logic, client-side handling, and API routes.
	•	Implemented robust server shutdown, rate limiting, and cleanup mechanisms.
	•	Improved upload progress tracking with UI enhancements.
	•	Strengthened security in PIN authentication and cookie handling.

Refactors & Fixes
	•	Cleaned up test infrastructure, logging, and error handling.
	•	Simplified API route paths and improved middleware.
	•	Fixed incorrect total storage size reporting.
	•	Optimized logging verbosity based on environment.

Documentation
	•	Expanded project documentation and comments for clarity.
2025-02-16 15:39:13 -08:00
V
2ec69ba26e Merge pull request #27 from vin-im/main
Update README.md
2025-02-08 19:03:07 -07:00
V
72e8e2c286 Update README.md
Updated photo and fixed the name.
2025-02-08 16:59:55 -07:00
Greirson Lee-Thorp
0dd96b50ac fix: Update Apprise notification command execution method 2025-02-07 10:44:13 -08:00
Greirson Lee-Thorp
d1aab6bc60 fix: Add proxy trust configuration for rate limiting 2025-02-07 10:33:53 -08:00
abite
80f74c5b8d Update issue templates 2025-02-06 11:18:17 -06:00
abite
5d801d699c Update issue templates 2025-02-06 11:17:37 -06:00
Greirson Lee-Thorp
6f0918a530 docs/test: Add dev setup and update docs (#23)
* feat: Add development environment configuration

- Create dev/dev.sh script for simplified development workflow
- Add docker-compose.dev.yml for local development setup
- Update .gitignore to exclude dev directory except specific files
- Add development section to README.md with guide reference

* docs: Update README and docker-compose with comprehensive setup instructions and configuration options
2025-02-04 21:15:21 -08:00
abite
beb03e2415 Merge pull request #22 from greirson/progress-bar
Feat: Enhanced Upload Progress Bar UI/UX
2025-02-04 20:06:44 -06:00
Greirson Lee-Thorp
3177ac079b Merge branch 'DumbWareio:main' into progress-bar 2025-02-04 17:45:00 -08:00
Greirson Lee-Thorp
8ab70f45c8 feat: enhance file upload progress tracking and user experience
- Add detailed upload progress tracking with speed and time remaining
- Implement dynamic waiting messages during upload initialization
- Create utility functions for file size and speed formatting
- Improve progress bar UI with more informative status details
- Add interval-based speed and progress updates for smoother UI
2025-02-04 17:00:31 -08:00
abite
3d10957ca0 Merge pull request #21 from greirson/even-dumber-drop
feat: Add auto upload configuration and update environment settings
2025-02-04 12:33:11 -06:00
Greirson Lee-Thorp
16447493bf Merge branch 'main' into even-dumber-drop 2025-02-04 09:52:10 -08:00
abite
432cf7e386 Merge pull request #17 from greirson/security-enhancements
feat: enhance security with rate limiting and file extension filtering
2025-02-04 08:15:07 -06:00
Greirson Lee-Thorp
afb4f3f106 feat: Enhance AUTO_UPLOAD configuration parsing
- Improve AUTO_UPLOAD environment variable parsing
- Add support for multiple truthy values ('true', '1', 'yes')
- Convert input to lowercase for case-insensitive comparison
2025-02-03 22:29:42 -08:00
Greirson Lee-Thorp
1a5bc93e01 feat: Add auto upload configuration and update environment settings
- Introduce AUTO_UPLOAD environment variable to enable automatic file uploads
- Update .env.example with new configuration options
- Modify docker-compose.yml to use new image and comment out default settings
- Update README.md to document AUTO_UPLOAD feature
- Implement client-side auto upload logic in index.html
- Add server-side logging for auto upload status
chore: Refactor notification message template and size unit handling
2025-02-03 22:11:21 -08:00
Greirson Lee-Thorp
71d2e939c2 Merge branch 'main' into security-enhancements 2025-02-03 21:23:50 -08:00
abite
38fc5994dd Merge pull request #20 from greirson/feat-dupe-handling
feat: Duplicate file/folder handling
2025-02-03 21:05:22 -06:00
Greirson Lee-Thorp
bcc555939b feat: improve batch ID handling for file and folder uploads
- Update server-side upload initialization to always refresh batch activity timestamp
- Enhance client-side file grouping to consistently track batch IDs for files and folders
- Modify drop and file selection handlers to generate batch IDs for all upload scenarios
- Ensure batch ID is preserved and used consistently across file upload groups
2025-02-03 17:37:33 -08:00
Greirson Lee-Thorp
79f6c53871 feat: improve single file upload batch ID generation
- Add automatic batch ID generation for single file uploads
- Generate unique batch ID using timestamp and random string
- Enhance batch ID validation to handle single file and multi-file upload scenarios
- Improve error handling for batch ID format validation
2025-02-03 17:14:03 -08:00
Greirson Lee-Thorp
dec54b7803 feat: implement batch upload inactivity cleanup mechanism
- Add batchActivity Map to track batch upload timestamps
- Create interval-based cleanup for inactive batch uploads
- Update upload chunk route to refresh batch activity timestamp
- Remove manual timeout for folder mappings in favor of centralized cleanup
- Improve resource management for long-running batch uploads
2025-02-03 17:10:43 -08:00
Greirson Lee-Thorp
a488c753db feat: improve file upload handling with atomic file and folder creation
- Refactor getUniqueFilePath and getUniqueFolderPath to use async/await and atomic file operations
- Enhance upload initialization to handle file and folder naming conflicts more robustly
- Implement file handle management to prevent resource leaks
- Add error handling for file and folder creation scenarios
- Ensure parent directories are created recursively when needed
2025-02-03 17:07:43 -08:00
Greirson Lee-Thorp
140d58cdc3 feat: improve batch ID generation and validation for file uploads
- Add batch ID validation function with specific format requirements
- Generate more secure and unique batch IDs using timestamp and random string
- Update client-side batch ID generation to create consistent, unique identifiers
- Enhance upload initialization route to validate batch ID before processing
- Modify FileUploader to use generated batch ID during uploads
2025-02-03 16:56:30 -08:00
Greirson Lee-Thorp
dac7143a19 feat: improve file and folder upload handling with unique naming
- Add support for batch uploads with unique folder and file naming
- Implement getUniqueFilePath and getUniqueFolderPath to prevent file/folder overwrites
- Add batch ID tracking for folder uploads
- Enhance client-side file handling to support batch uploads
- Improve file path generation and logging for uploads
2025-02-03 15:55:40 -08:00
Greirson Lee-Thorp
7cee62304e chore: update Content Security Policy to allow jsdelivr CDN resources
- Add jsdelivr.net to allowed script and style sources
- Include data: and blob: for image sources
- Enhance security by explicitly defining allowed external resources
2025-02-02 22:37:35 -08:00
Greirson Lee-Thorp
d1c295a6f2 refactor: optimize upload rate limiting and chunk size
- Update rate limiting for upload initialization with more granular controls
- Increase chunk size to 5MB for improved upload performance
- Remove generic API rate limiter
- Simplify rate limiting middleware configuration
2025-02-02 21:42:09 -08:00
Greirson Lee-Thorp
490790a6a6 feat: enhance security with rate limiting and file extension filtering
- Add express-rate-limit for API and upload routes
- Implement optional file extension filtering via ALLOWED_EXTENSIONS
- Add security headers middleware
- Update docker-compose image to official repository
- Update README with new environment variable and filtering documentation
2025-02-02 20:53:13 -08:00
abite
b01f46c36e Merge commit from fork
fix: improve Apprise notification security and command execution
2025-02-02 21:41:14 -06:00
Greirson Lee-Thorp
4ff8469d69 fix: improve Apprise notification security and command execution
- Sanitize filename to escape special characters
- Use array syntax for execAsync to prevent shell injection
- Disable shell execution for safer command handling
- Improve logging with sanitized filename
2025-02-02 19:11:20 -08:00
abite
854f69a0c3 Merge pull request #16 from greirson/notification-enhancements
Size and Total Storage templates for Notifications
2025-02-01 00:04:14 -06:00
Greirson Lee-Thorp
89fe5c7cb7 dont worry about it 2025-01-31 21:39:35 -08:00
Greirson Lee-Thorp
34c12d47fb added storage placeholder for total size of upload folder 2025-01-31 21:28:53 -08:00
Greirson Lee-Thorp
b91f82f3aa feat: enhance Apprise notifications with file size support
- Add file size formatting to notifications with auto-scaling units (B, KB, MB, GB, TB)
- Add APPRISE_SIZE_UNIT environment variable for fixed size units
- Update default notification message to include file size: "New file uploaded: {filename} ({size})"
- Fix filename reference in notifications to use safeFilename
- Fix async/await handling in upload chunk handler
- Add size formatting documentation to README
- Update environment variable documentation

Example notification: "New file uploaded: example.pdf (2.54MB)"
2025-01-31 21:07:53 -08:00
abite
2b78c12009 Merge pull request #13 from greirson/title-customization
Add customizable site title feature
2025-01-31 17:24:43 -06:00
abite
32c7226611 Update README.md 2025-01-31 16:58:30 -06:00
Greirson Lee-Thorp
851fc95f1e Add customizable site title feature via DUMBDROP_TITLE environment variable 2025-01-31 01:26:55 -08:00
abite
cb58631664 Merge commit from fork
fix: path traversal vuln
2025-01-31 00:51:10 -06:00
Paul Pfeister
2acfd21778 fix: path traversal vuln 2025-01-31 01:26:19 -05:00
abite
4b7dc39717 Merge pull request #12 from greirson/add-notifications
Add notifications support via Apprise
2025-01-31 00:00:40 -06:00
Greirson Lee-Thorp
aec1265178 Add notifications support via Apprise
- Added Apprise integration for flexible notifications
- Added notification environment variables
- Added notification logging
- Updated documentation with setup instructions
- Added Python and Apprise to Dockerfile
2025-01-30 20:52:28 -08:00
abite
b102cd886f Merge pull request #10 from jon-hedgerows/multiarch-build
enable multiarch, amd64 and arm64
2025-01-30 11:52:20 -06:00