Skip to content

Remove image standardization and implement consistent filename sanitization#12

Merged
Wal33D merged 1 commit intomainfrom
claude-image-sanitization
Jul 20, 2025
Merged

Remove image standardization and implement consistent filename sanitization#12
Wal33D merged 1 commit intomainfrom
claude-image-sanitization

Conversation

@Wal33D
Copy link
Owner

@Wal33D Wal33D commented Jul 20, 2025

Summary

This PR removes the standardized image naming convention from the Internet Archive indexer and implements consistent filename sanitization across all indexers for improved security.

Changes Made

  • Removed image standardization: Internet Archive indexer no longer renames images to screenshot_original.{ext} and thumbnail_original.{ext}
  • Preserve original filenames: Images now retain their original names from all sources
  • Consistent sanitization: Applied FileUtils.sanitizeFilename() to all downloaded files across all indexers:
    • Internet Archive: Now sanitizes image filenames (previously only .dat files)
    • Discord indexers: Now sanitizes all attachment filenames (.dat, images, and .zip files)
    • Hognose indexer: Now sanitizes all asset filenames from GitHub releases

Testing

  • ✅ TypeScript compilation passes
  • ✅ All ESLint checks pass
  • ✅ Code formatting is consistent
  • ✅ Tested Internet Archive indexer - images retain original, sanitized names

Impact

This change improves security by preventing path traversal attacks and filesystem issues while maintaining better traceability to source files through preserved original filenames.

…zation

- Removed standardized naming (screenshot_original, thumbnail_original) from Internet Archive indexer
- Images now retain their original filenames from all sources
- Implemented consistent filename sanitization across all indexers:
  - Internet Archive: Now sanitizes image filenames in addition to .dat files
  - Discord indexers: Now sanitizes all attachment filenames (.dat, images, .zip)
  - Hognose indexer: Now sanitizes all asset filenames from GitHub releases
- Security improvements prevent path traversal attacks and filesystem issues
- All filenames are sanitized using FileUtils.sanitizeFilename() which:
  - Removes dangerous characters (<>:"/\|?*)
  - Replaces spaces with underscores
  - Limits filename length to 100 characters
@Wal33D Wal33D merged commit 10a91c4 into main Jul 20, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant