A comprehensive Java application that converts text, images, and documents to Braille with enterprise-grade security features including file scanning, vulnerability detection, and penetration testing capabilities.
- Text-to-Braille Conversion: Convert plain text to Braille script
- OCR Support: Extract text from images using EasyOCR (Python)
- Document Parsing: Parse PDF and DOCX files to extract text
- AI Enhancement: Integrate with OpenAI API for text optimization
- Braille Printing: Print Braille output to physical printers
- File Security Scanning: Comprehensive malware and threat detection
- Penetration Testing: Automated vulnerability assessment
- Input Validation: SQL injection, XSS, and command injection protection
- Audit Logging: Complete security event tracking
- Threat Detection: Real-time security monitoring
- Security Reporting: Detailed vulnerability reports
- Java 17: Core application framework
- JavaFX: Modern desktop UI
- Maven: Dependency management and build automation
- EasyOCR (Python): Optical character recognition for images
- Apache POI: Microsoft Office document processing
- PDFBox: PDF document parsing
- OpenAI API: AI-powered text enhancement
- Jackson: JSON processing
- Apache HttpClient: HTTP communication
- Java 17 or higher
- Maven 3.6 or higher
- Python 3 with EasyOCR (
pip install -r requirements-ocr.txt) for image text extraction - OpenAI API key (for AI enhancement)
-
Clone the repository
git clone https://github.com/vishtechie07/braille-security-suite.git cd braille-security-suite -
Install EasyOCR (Python)
- Install Python 3 and ensure
pythonorpyis on yourPATH. - From the project root:
pip install -r requirements-ocr.txt
- The first time you run OCR, EasyOCR may download model files (can take several minutes).
- Install Python 3 and ensure
-
Build the project
mvn clean compile
Windows:
mvn javafx:runLinux/macOS:
mvn javafx:runOr use the provided scripts:
- Windows:
run.bat - Linux/macOS:
./run.sh
- Enter Text: Type or paste text in the input area
- Upload Files: Use the upload buttons for images, PDFs, or DOCX files
- Convert to Braille: Click "Convert to Braille" to generate Braille output
- Enhance with AI: Use "Enhance with AI" for text optimization (requires OpenAI API key)
- Print: Click "Print Braille" to print the output
- Security Scan: Click "Security Scan" to analyze input text for vulnerabilities
- Penetration Test: Click "Penetration Test" for comprehensive security testing
- Security Report: Click "Security Report" to view detailed security statistics
- Malware detection and file signature validation
- Content analysis for malicious patterns
- Embedded executable detection
- PDF security analysis
- SQL injection testing
- XSS vulnerability detection
- Command injection testing
- File upload security validation
- Authentication security testing
- Comprehensive audit logging
- Real-time threat detection
- Security event tracking
- Vulnerability reporting
src/
├── main/
│ ├── java/
│ │ └── com/example/brailleapp/
│ │ ├── BrailleApp.java # Main application class
│ │ ├── BrailleDisplayComponent.java # Braille display component
│ │ ├── services/ # Service layer
│ │ │ ├── BrailleConverter.java # Braille conversion logic
│ │ │ ├── DocumentParser.java # Document parsing service
│ │ │ ├── OCRService.java # OCR service
│ │ │ └── OpenAIService.java # OpenAI integration
│ │ └── security/ # Security module
│ │ ├── SecurityScanner.java # File security scanning
│ │ ├── PenetrationTester.java # Penetration testing
│ │ ├── SecurityAuditLogger.java # Audit logging
│ │ └── ... # Other security classes
│ └── resources/
│ ├── application.properties # Application configuration
│ └── ocr/
│ └── easyocr_ocr.py # EasyOCR helper (invoked by Java)
├── requirements-ocr.txt # Python deps for OCR
├── .gitignore # Git ignore rules
└── README.md
- Get your API key from OpenAI Platform
- Enter the key in the application's API key field
- Click "Save Key" to store it
- Install dependencies:
pip install -r requirements-ocr.txt - Ensure
python,python3, or the Windowspylauncher is on yourPATH
- Problem: "OCR not available" error
- Solution: Install Python 3, run
pip install easyocr, and restart the app. The first OCR run may download models and take several minutes.
- Problem: Security scan fails
- Solution: Check file permissions and ensure input is valid
- Problem: Maven build fails
- Solution: Ensure Java 17+ and Maven 3.6+ are installed
Security events are logged in the following files:
security_logs/security_audit.log- General security eventssecurity_logs/threat_detection.log- Threat detectionssecurity_logs/vulnerability_scan.log- Penetration test results
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- EasyOCR for OCR capabilities
- Apache POI for Office document processing
- PDFBox for PDF processing
- OpenAI for AI text enhancement
- JavaFX for the modern UI framework
Note: This application is designed for educational and professional use. Always ensure you have proper authorization before performing security testing on any systems.