Files
hasher/CHANGELOG.md
2025-12-04 00:58:40 +01:00

3.9 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.0] - 2025-12-03

Added

Core Features

  • Hash search functionality for MD5, SHA1, SHA256, SHA512, and Bcrypt
  • Hash generation from plaintext input
  • Automatic detection of hash types based on length and pattern
  • Real-time hash generation with instant results
  • Copy to clipboard functionality for all hash values
  • Bcrypt verification support

Backend

  • Elasticsearch integration with configurable endpoint
  • Custom index mapping with 10 shards for horizontal scaling
  • Automatic index creation on first use
  • Auto-indexing of searched plaintext for future lookups
  • RESTful API endpoints for search and health checks
  • Lowercase analyzer for case-insensitive searches

Frontend

  • Modern, responsive UI with gradient design
  • Real-time search with loading states
  • Visual feedback for all user actions
  • Copy-to-clipboard with confirmation animations
  • Error handling with user-friendly messages
  • Mobile-responsive design
  • Accessibility features

Bulk Indexing

  • Command-line script for bulk hash indexing
  • Configurable batch size for performance tuning
  • Progress indicator with percentage completion
  • Performance metrics (docs/sec)
  • Error reporting and handling
  • Support for large wordlist files

Documentation

  • Comprehensive README with installation instructions
  • API documentation with request/response examples
  • Deployment guide for multiple platforms
  • Contributing guidelines
  • Testing guide with checklist
  • License (MIT)
  • Sample wordlist for testing

Developer Tools

  • TypeScript for type safety
  • ESLint configuration
  • Environment variable support
  • Health check endpoint for monitoring
  • Detailed error logging

Technical Details

Dependencies

  • Next.js 16.0.7
  • React 19.2.0
  • Elasticsearch Client 8.x
  • Lucide React (icons)
  • Tailwind CSS 4.x
  • TypeScript 5.x

Project Structure

hasher/
├── app/                    # Next.js app directory
│   ├── api/               # API routes
│   ├── layout.tsx         # Root layout
│   └── page.tsx           # Main page
├── lib/                   # Utility libraries
│   ├── elasticsearch.ts   # ES client
│   └── hash.ts           # Hash utilities
├── scripts/              # CLI scripts
│   └── index-file.ts     # Bulk indexer
└── docs/                 # Documentation

Elasticsearch Index Schema

  • Index name: hasher
  • Shards: 10
  • Replicas: 1
  • Fields: plaintext, md5, sha1, sha256, sha512, created_at

Configuration

Environment Variables

Performance

  • Bulk indexing: 1000-5000 docs/sec
  • Search latency: < 50ms typical
  • Horizontal scaling ready

Security

  • Input validation on all endpoints
  • Case-insensitive hash matching
  • Safe NoSQL queries (no injection risks)
  • Error message sanitization

[Unreleased]

Planned Features

  • Argon2 hash support
  • Search history tracking
  • Batch hash lookup
  • Export results (CSV, JSON)
  • API rate limiting
  • Authentication/authorization
  • Advanced search filters
  • Hash strength analyzer
  • Custom hash algorithms

Planned Improvements

  • Add unit tests
  • Add integration tests
  • Implement caching layer
  • Add Prometheus metrics
  • Improve error messages
  • Add more documentation
  • Performance optimizations
  • UI animations
  • Dark mode toggle
  • Internationalization (i18n)

Version History

  • 1.0.0 (2025-12-03) - Initial release

Migration Guide

Not applicable for initial release.


Support

For issues, feature requests, or questions, please open an issue on GitHub.