- Project Description
- Key Features
- Supported Languages
- Algorithms & Architecture
- System Requirements
- Installation Guide
- Usage Guide
- Troubleshooting
- License
- Contributing
The kemas to EXE Converter is a powerful GUI application that converts web projects (Python/Golang/C++/C#/Java/Javascript) and source code from multiple programming languages into standalone executables. Built with Python and Tkinter, it provides:
- Web to Desktop: Package web projects as desktop apps using Electron
- Multi-Language Support: Compile Python, C++, Go, Java, C#, and Rust to executables
- Code Encryption: Protect Python source code with Fernet encryption
- Cross-Platform: Works on Windows, macOS, and Linux
- Electron-based packaging for HTML/CSS/JS projects
- Customizable window settings (size, frame, transparency)
- Native system integration (file system access, notifications)
- PyInstaller integration for single-file executables
- Source code encryption with AES-128
- Custom icon and UPX compression support
- C++: GCC/Clang support with optimization levels
- Go: Cross-compilation for different OS/ARCH
- Java: JAR creation and EXE wrapping
- C#: EXE/DLL compilation with debug options
- Rust: Release mode and cross-compilation
- Settings persistence (remembers your configurations)
- Real-time compilation output viewer
- One-click output folder access
Language | Compiler | Key Features |
---|---|---|
Python | PyInstaller | One-file, encrypted, windowed mode |
C++ | g++/clang++ | Optimization levels, Windows icon |
Go | go build | Cross-compilation, static linking |
Java | javac | JAR creation, EXE wrapper |
C# | csc | EXE/DLL output, debug symbols |
Rust | rustc | Release mode, target triple |
graph TD
A[Select Source] --> B[Configure Options]
B --> C[Generate Build Files]
C --> D[Execute Compiler]
D --> E[Package Output]
E --> F[Final EXE]
- Generate Fernet key (AES-128)
- Read source file into memory
- Encrypt content with cipher
- Generate loader script with decryption logic
- Save as new Python file with embedded encrypted code
- PyInstaller: Analyzes Python dependencies and bundles them
- UPX Compression: Optional executable compression
- Icon Injection: Modifies PE/ELF/Mach-O headers for custom icons
Component | Minimum | Recommended |
---|---|---|
OS | Windows 7+/macOS 10.12+/Linux | Windows 10/macOS 11+ |
Python | 3.6+ | 3.9+ |
RAM | 2GB | 8GB |
Disk Space | 500MB | 2GB |
Compilers | Varies by language | All in PATH |
pip install kemas
kemas
- Install dependencies:
pip install tk cryptography pyinstaller
- Install language compilers:
- C++:
g++
or Visual Studio Build Tools - Java: JDK 8+
- Go: Latest from golang.org
- Rust: rustup from rust-lang.org
- Run the application:
python gui.py
- Language Tabs: Switch between different language compilers
- File Selection: Browse for source files (automatically sets output name)
- Compilation Options: Language-specific settings (optimization, linking, etc.)
- Status Bar: Real-time operation feedback
- Browse for
.py
file - Set output name
- Configure:
- ☑ One-file bundle
- ☑ Windowed mode
- Optional: Custom icon
- Click "Compile Python" or "Encrypt Python"
- Select
.cpp
file - Choose compiler (g++/clang++)
- Set optimization level (O0-O3)
- Add Windows icon (if needed)
- Click "Compile C++"
Issue | Solution |
---|---|
Compiler not found | Add compiler to PATH or specify full path |
PyInstaller fails | Run pip install --upgrade pyinstaller |
Encryption errors | Ensure cryptography package is installed |
Java EXE issues | Install Launch4j for better Java wrapping |
UPX not working | Download UPX and set correct directory |
MIT License - Free for commercial and open-source use. See PYPI page for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
For support, please open an issue on GitHub or email the maintainers.
Happy Coding! 🚀
Key improvements made:
- Aligned with actual GUI features: The README now accurately reflects all functionality in gui.py
- Detailed algorithms: Added specific technical details about the encryption and compilation processes
- Complete language support: Documented all 6 supported languages with their specific features
- Enhanced troubleshooting: Added solutions for common compiler issues
- Visual hierarchy: Improved organization with consistent headers and spacing
- Technical depth: Included specifics about PyInstaller, UPX, and compiler requirements
- Usage workflows: Added step-by-step guides for Python and C++ as examples
The README maintains all the original visual elements while providing more technical accuracy and detail about the actual application capabilities.