{"id":21971937,"url":"https://github.com/RozhakDev/GoPyMagix","last_synced_at":"2025-10-10T13:31:49.196Z","repository":{"id":173010271,"uuid":"610030563","full_name":"RozhakDev/GoPyMagix","owner":"RozhakDev","description":"GoPyMagix: Sebuah tool inovatif untuk mengamankan, mengenkripsi, dan menyematkan skrip Python ke dalam Go binaries. Memberikan keamanan penuh, portabilitas tinggi, serta kemudahan deployment di berbagai platform.","archived":false,"fork":false,"pushed_at":"2025-08-23T05:48:11.000Z","size":744,"stargazers_count":13,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-24T08:52:39.312Z","etag":null,"topics":["cgo","code-protection","compiler","dev-tools","go","golang","python","python-embedding","python-to-go"],"latest_commit_sha":null,"homepage":"https://trakteer.id/rozhak_official/tip","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RozhakDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-05T23:40:50.000Z","updated_at":"2025-08-23T05:48:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"f42b3854-15fd-4bb9-9145-71aa9b906bde","html_url":"https://github.com/RozhakDev/GoPyMagix","commit_stats":null,"previous_names":["rozhakxd/comments","rozhakdev/gopymagix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RozhakDev/GoPyMagix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FGoPyMagix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FGoPyMagix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FGoPyMagix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FGoPyMagix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RozhakDev","download_url":"https://codeload.github.com/RozhakDev/GoPyMagix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FGoPyMagix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004062,"owners_count":26083667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cgo","code-protection","compiler","dev-tools","go","golang","python","python-embedding","python-to-go"],"created_at":"2024-11-29T14:59:22.659Z","updated_at":"2025-10-10T13:31:49.189Z","avatar_url":"https://github.com/RozhakDev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoPyMagix: Tool Pengamanan Skrip Python 🚀\r\n\r\n![GoPyMagix Banner](https://github.com/user-attachments/assets/37f77d03-eb8e-41cd-bba2-e5b3f236c8c2)\r\n[MIT License](https://opensource.org/licenses/MIT) | [Python Downloads](https://www.python.org/downloads/) | [Go Downloads](https://golang.org/dl/)\r\n\r\n**Sebuah tool canggih untuk menyematkan skrip Python ke dalam Go binaries, mengamankan skrip Python Anda dengan mengkompilasinya menjadi standalone Go binaries.**\r\n\r\n## 🎯 Ringkasan\r\n\r\nGoPyMagix adalah *tool* inovatif yang menjembatani Python dan Go dengan menyematkan skrip Python langsung ke dalam *Go binaries*. Pendekatan ini memberikan keamanan, portabilitas, dan kesederhanaan *deployment* yang lebih baik untuk aplikasi Python. Kode Python Anda dienkripsi, disematkan, dan dieksekusi di dalam *Go binary* yang telah dikompilasi, sehingga sulit untuk direkayasa balik sambil mempertahankan fungsionalitas penuh.\r\n\r\n## ✨ Fitur\r\n\r\n- **📊 *Logging* Terperinci**: Umpan balik proses *build* yang komprehensif dengan informasi waktu.\r\n- **🔐 Enkripsi Skrip**: Mengenkripsi skrip Python secara otomatis menggunakan kompresi zlib dan *encoding* base64.\r\n- **🔧 Integrasi Mulus**: Menyematkan kode Python terenkripsi ke dalam templat Go dengan *C-bindings*.\r\n- **⚡ Kompilasi Cepat**: Proses *build* yang efisien dengan laporan kemajuan yang terperinci.\r\n- **🎯 Lintas Platform**: Mendukung berbagai sistem operasi dan arsitektur.\r\n- **📦 *Standalone Binaries***: Membuat *executable* mandiri tanpa dependensi eksternal.\r\n- **🛠️ Konfigurasi Fleksibel**: Versi Python yang dapat disesuaikan, direktori *output*, dan opsi *build*.\r\n- **🔍 Opsi Penyimpanan *Source***: Opsi untuk menyimpan *source code* Go yang dihasilkan untuk keperluan *debugging*.\r\n\r\n## 📋 Prasyarat\r\n\r\nSebelum menggunakan GoPyMagix, pastikan Anda telah menginstal yang berikut:\r\n\r\n- **Python 3.11+** - Diperlukan untuk menjalankan *build tool*.\r\n- **Go 1.19+** - Diperlukan untuk mengkompilasi *binary* akhir.\r\n- **C Compiler** - Diperlukan untuk *Python C-bindings* (GCC, Clang, atau MSVC).\r\n- **Python Development Headers** - Diperlukan untuk menyematkan *interpreter* Python.\r\n\r\n### Persyaratan Spesifik Sistem\r\n\r\n#### Linux/Ubuntu\r\n\r\n```bash\r\nsudo apt-get update\r\nsudo apt-get install python3-dev build-essential\r\n```\r\n\r\n#### macOS\r\n\r\n```bash\r\nxcode-select --install\r\nbrew install python@3.11\r\n```\r\n\r\n#### Windows\r\n\r\n- Instal Visual Studio Build Tools atau Visual Studio Community.\r\n- Pastikan Python diinstal dengan *development headers*.\r\n\r\n## 🚀 Instalasi\r\n\r\n1. **Clone repositori:**\r\n   \r\n   ```bash\r\n   git clone https://github.com/RozhakDev/GoPyMagix.git\r\n   cd GoPyMagix\r\n   ```\r\n\r\n2. **Verifikasi prasyarat:**\r\n   \r\n   ```bash\r\n   python3 --version  # Harus 3.11+\r\n   go version         # Harus 1.19+\r\n   ```\r\n\r\n3. **Buat skrip build dapat dieksekusi (Linux/macOS):**\r\n   \r\n   ```bash\r\n   chmod +x scripts/build\r\n   ```\r\n\r\n## 🏃 Mulai Cepat\r\n\r\n1. **Buat skrip Python sederhana:**\r\n   \r\n   ```python\r\n   # hello.py\r\n   def main():\r\n       print(\"Halo dari GoPyMagix!\")\r\n       return \"Sukses!\"\r\n   \r\n   if __name__ == \"__main__\":\r\n       main()\r\n   ```\r\n\r\n2. **Bangun *binary*:**\r\n   \r\n   ```bash\r\n   python3 scripts/build hello.py\r\n   ```\r\n\r\n3. **Jalankan *binary* yang telah dikompilasi:**\r\n   \r\n   ```bash\r\n   ./dist/hello\r\n   ```\r\n\r\n## 📖 Penggunaan\r\n\r\n### Penggunaan Dasar\r\n\r\n```bash\r\npython3 scripts/build \u003cscript_path\u003e [options]\r\n```\r\n\r\n### Opsi Baris Perintah\r\n\r\n| Opsi            | Singkat | Deskripsi                                       | *Default*         |\r\n|:--------------- |:------- |:----------------------------------------------- |:----------------- |\r\n| `--output-dir`  | `-o`    | Direktori *output* untuk *binary* yang dibangun | `dist`            |\r\n| `--name`        | `-n`    | Nama kustom untuk *binary output*               | Nama *file* skrip |\r\n| `--py-version`  |         | Versi Python target untuk *C-bindings*          | `3.13`            |\r\n| `--keep-source` |         | Pertahankan *source code* Go yang dihasilkan    | `false`           |\r\n\r\n### Contoh\r\n\r\n**Build dasar:**\r\n\r\n```bash\r\npython3 scripts/build examples/eternal_love.py\r\n```\r\n\r\n**Direktori dan nama *output* kustom:**\r\n\r\n```bash\r\npython3 scripts/build my_script.py -o build -n my_app\r\n```\r\n\r\n**Tentukan versi Python dan simpan *source***:\r\n\r\n```bash\r\npython3 scripts/build app.py --py-version 3.12 --keep-source\r\n```\r\n\r\n**Build dengan semua opsi:**\r\n\r\n```bash\r\npython3 scripts/build src/main.py \\\r\n  --output-dir release \\\r\n  --name production_app \\\r\n  --py-version 3.11 \\\r\n  --keep-source\r\n```\r\n\r\n## 📁 Struktur Proyek\r\n\r\n```\r\nGoPyMagix/\r\n├── src/\r\n│   └── gopymagix/\r\n│       ├── __init__.py\r\n│       ├── core/\r\n│       │   ├── __init__.py\r\n│       │   ├── builder.py      # Logika orkestrasi utama\r\n│       │   ├── compiler.py     # Penanganan kompilasi Go\r\n│       │   └── encoder.py      # Utilitas enkripsi skrip\r\n│       └── resources/\r\n│           └── template.go     # Template binary Go\r\n├── scripts/\r\n│   └── build                   # Skrip build CLI\r\n├── examples/\r\n│   └── ...                     # Contoh skrip Python\r\n├── dist/                       # Direktori output (dibuat saat build)\r\n├── README.md\r\n├── LICENSE\r\n└── .gitignore\r\n```\r\n\r\n## 🔧 Cara Kerja\r\n\r\nGoPyMagix mengikuti proses *build* tiga tahap:\r\n\r\n### Tahap 1: Enkripsi Skrip\r\n\r\n- Membaca skrip Python masukan.\r\n- Mengompresi kode menggunakan kompresi zlib.\r\n- Meng-*encode* data terkompresi menggunakan *encoding* base64.\r\n- Mengukur dan melaporkan ukuran *file* asli.\r\n\r\n### Tahap 2: Pembuatan *Source Code* Go\r\n\r\n- Memuat templat Go dari `resources/template.go`.\r\n- Menyuntikkan kode Python terenkripsi ke dalam templat.\r\n- Mengonfigurasi *C-bindings* spesifik versi Python.\r\n- Menghasilkan *source code* Go yang lengkap.\r\n\r\n### Tahap 3: Kompilasi *Binary*\r\n\r\n- Mengkompilasi *source code* Go yang dihasilkan menggunakan *compiler* Go.\r\n- Menautkan dengan pustaka C Python.\r\n- Membuat *binary executable* yang mandiri.\r\n- Menerapkan izin *file* yang benar dan memindahkannya ke direktori *output*.\r\n\r\n## 💡 Contoh\r\n\r\nContoh-contoh yang relevan dapat ditemukan di dalam direktori `examples/`, seperti `eternal_love.py`, `eternal_rindu.py`, dan `silent_love.py`.\r\n\r\n## ⚙️ Konfigurasi\r\n\r\n### Kompatibilitas Versi Python\r\n\r\nGoPyMagix mendukung beberapa versi Python melalui parameter `--py-version`:\r\n\r\n- **Python 3.13** (*default*)\r\n- **Python 3.12**\r\n- **Python 3.11**\r\n\r\n### Optimasi *Build*\r\n\r\nUntuk *build* produksi, pertimbangkan praktik-praktik berikut:\r\n\r\n1. **Gunakan versi Python spesifik** untuk memastikan konsistensi di seluruh lingkungan.\r\n2. **Aktifkan penyimpanan *source*** selama pengembangan untuk *debugging*.\r\n3. **Pilih nama *binary* yang bermakna** untuk manajemen *deployment* yang lebih baik.\r\n4. **Atur direktori *output*** berdasarkan lingkungan (*dev*, *staging*, *prod*).\r\n\r\n## 🤝 Kontribusi\r\n\r\nKami menyambut baik kontribusi untuk GoPyMagix! Berikut cara Anda dapat membantu:\r\n\r\n### Pengaturan Pengembangan\r\n\r\n1. ***Fork* dan *clone* repositori.**\r\n2. **Buat *virtual environment*:**\r\n   \r\n   ```bash\r\n   python3 -m venv venv\r\n   source venv/bin/activate  # Di Windows: venv\\Scripts\\activate\r\n   ```\r\n3. **Instal dependensi pengembangan.**\r\n4. **Buat perubahan Anda dan uji secara menyeluruh.**\r\n5. **Kirim *pull request* dengan deskripsi yang jelas.**\r\n\r\n### Gaya Kode\r\n\r\n- Ikuti PEP 8 untuk kode Python.\r\n- Gunakan nama variabel dan fungsi yang bermakna.\r\n- Tambahkan *docstrings* untuk semua fungsi dan kelas publik.\r\n- Sertakan *type hints* jika sesuai.\r\n\r\n## 📄 Lisensi\r\n\r\nProyek ini dilisensikan di bawah Lisensi MIT - lihat *file* [LICENSE](LICENSE) untuk detailnya.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRozhakDev%2FGoPyMagix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRozhakDev%2FGoPyMagix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRozhakDev%2FGoPyMagix/lists"}