Kemas Backend untuk menjadi .exe
Project description
🚀 Pip install Kemas
- kemas
📋 Table of Contents
- Project Description
- Key Features
- Supported Languages
- Algorithms & Architecture
- System Requirements
- Installation Guide
- Usage Guide
- Troubleshooting
- License
- Contributing
📌 Project Description
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
✨ Key Features
🌐 Web to EXE Conversion
- Electron-based packaging for HTML/CSS/JS projects
- Customizable window settings (size, frame, transparency)
- Native system integration (file system access, notifications)
🐍 Python Features
- PyInstaller integration for single-file executables
- Source code encryption with AES-128
- Custom icon and UPX compression support
⚙️ Multi-Language Compilation
- 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
🔧 Advanced Tools
- Settings persistence (remembers your configurations)
- Real-time compilation output viewer
- One-click output folder access
📚 Supported Languages
| 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 |
⚙ Algorithms & Architecture
🔄 Core Workflow
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]
🧠 Python Encryption Process
- 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
📦 EXE Packaging Architecture
- PyInstaller: Analyzes Python dependencies and bundles them
- UPX Compression: Optional executable compression
- Icon Injection: Modifies PE/ELF/Mach-O headers for custom icons
🖥 System Requirements
| 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 |
📥 Installation Guide
Basic Installation (PyPI):
pip install kemas
kemas
Manual Installation:
- 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
🖱 Usage Guide
Main Interface Components:
- 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
Python Workflow:
- Browse for
.pyfile - Set output name
- Configure:
- ☑ One-file bundle
- ☑ Windowed mode
- Optional: Custom icon
- Click "Compile Python" or "Encrypt Python"
C++ Workflow:
- Select
.cppfile - Choose compiler (g++/clang++)
- Set optimization level (O0-O3)
- Add Windows icon (if needed)
- Click "Compile C++"
⚠ Troubleshooting
| 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 |
📜 License
MIT License - Free for commercial and open-source use. See PYPI page for details.
🤝 Contributing
- 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
🎉 Getting Help
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kemas-1.1.2.tar.gz.
File metadata
- Download URL: kemas-1.1.2.tar.gz
- Upload date:
- Size: 97.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9c396d873ed957ce7e6d729ad7ba3a0dfa7fe88f07108b8e76dbe9749a74223
|
|
| MD5 |
84060688793ad18ec821beeb0f214221
|
|
| BLAKE2b-256 |
87e4bff4f2f1de2883dcad2ad2aa623b2c562708cb0c3b8bc8a991c1c89b6448
|
File details
Details for the file kemas-1.1.2-py3-none-any.whl.
File metadata
- Download URL: kemas-1.1.2-py3-none-any.whl
- Upload date:
- Size: 94.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3731f9b32ddb2e14ce92537edde8a03a38432901c6cb1094565a8f329ae58918
|
|
| MD5 |
5daf0a451a518b025419b5e999175cef
|
|
| BLAKE2b-256 |
bbfe1bef0c0592b96c694c04e7326bab054d34b68d1223747491feebdc18baa1
|