{"id":24160661,"url":"https://github.com/murilochianfa/ioncube-encoder-action","last_synced_at":"2026-04-10T00:31:03.797Z","repository":{"id":211477355,"uuid":"728453785","full_name":"MuriloChianfa/ioncube-encoder-action","owner":"MuriloChianfa","description":"Github action to automate IonCube encoding for your PHP project.","archived":false,"fork":false,"pushed_at":"2024-12-23T04:10:39.000Z","size":353,"stargazers_count":4,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-04T12:55:44.060Z","etag":null,"topics":["actions","encryption","ioncube","ioncube-encoder","ioncube-php","laravel","php","php-encoder","pipeline"],"latest_commit_sha":null,"homepage":"https://www.ioncube.com","language":"JavaScript","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/MuriloChianfa.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}},"created_at":"2023-12-07T01:15:51.000Z","updated_at":"2025-01-03T04:11:25.000Z","dependencies_parsed_at":"2024-10-24T01:54:52.813Z","dependency_job_id":"420e02d4-544d-4ae0-8b3c-d8be703c13f8","html_url":"https://github.com/MuriloChianfa/ioncube-encoder-action","commit_stats":null,"previous_names":["murilochianfa/ioncube-encoder-action"],"tags_count":3,"template":false,"template_full_name":"actions/javascript-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuriloChianfa%2Fioncube-encoder-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuriloChianfa%2Fioncube-encoder-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuriloChianfa%2Fioncube-encoder-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuriloChianfa%2Fioncube-encoder-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MuriloChianfa","download_url":"https://codeload.github.com/MuriloChianfa/ioncube-encoder-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233626868,"owners_count":18704811,"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","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":["actions","encryption","ioncube","ioncube-encoder","ioncube-php","laravel","php","php-encoder","pipeline"],"created_at":"2025-01-12T16:15:05.273Z","updated_at":"2026-04-10T00:31:03.784Z","avatar_url":"https://github.com/MuriloChianfa.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Banner](banner.png)\n\n![Coverage](./badges/coverage.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Releases](https://img.shields.io/github/v/release/MuriloChianfa/ioncube-encoder-action)](https://github.com/MuriloChianfa/ioncube-encoder-action/releases)\n[![CI](https://github.com/MuriloChianfa/ioncube-encoder-action/actions/workflows/ci.yml/badge.svg)](https://github.com/MuriloChianfa/ioncube-encoder-action/actions/workflows/ci.yml)\n[![GitHub Super-Linter](https://github.com/MuriloChianfa/ioncube-encoder-action/actions/workflows/linter.yml/badge.svg)](https://github.com/MuriloChianfa/ioncube-encoder-action/actions/workflows/linter.yml)\n[![CodeQL](https://github.com/MuriloChianfa/ioncube-encoder-action/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/MuriloChianfa/ioncube-encoder-action/actions/workflows/codeql-analysis.yml)\n\nAutomate and streamline IonCube encoding for your PHP project under Laravel,\nJoomla, WordPress frameworks with this powerful GitHub Action. Encode your\nsource code effortlessly, ensuring an extra layer of security for your\nproprietary codebase.\n\n## Features\n\n- **Seamless Integration:** Easily integrate IonCube encoding into your CI/CD\n  workflows with a straightforward setup using this GitHub Action.\n\n- **Version Control:** Specify the IonCube version to use for encoding, ensuring\n  compatibility with your project requirements.\n\n- **Flexible Configuration:** Customize the source and output directories,\n  making it adaptable to various project structures.\n\n- **Efficient Workflow:** Save time and resources by automating the encoding\n  process, allowing you to focus on building and deploying your applications.\n\n## Getting Started\n\n- **Configure Workflow**: Copy the example workflow into your project's\n  .github/workflows directory, adjusting parameters as needed.\n- **Setup secrets**: Setup the needed action secrets into your repository\n  .github/workflows directory, adjusting parameters as needed.\n- **Run Workflow**: Push your changes to trigger the IonCube encoding workflow\n  and enjoy the automated process.\n\n### Usage\n\n\u003e For vanilla PHP projects:\n\n```yaml\nname: Encode with IonCube\n\non: [push]\n\njobs:\n  encode:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout Repository\n        uses: actions/checkout@v2\n\n      - name: IonCube Encode\n        uses: MuriloChianfa/ioncube-encoder-action@v3.0.1\n        # If you're dont using trial version you need to setup the ioncube download url\n        # env:\n        #   IONCUBE_DOWNLOAD_URL: ${{ secrets.IONCUBE_DOWNLOAD_URL }}\n        with:\n          source: 'src'\n          output: 'encrypted'\n```\n\n\u003e For Laravel projects:\n\n- **Setup Secrets**: Create a secret named IONCUBE_PASSPHRASE containing the\n  passphrase to encode files.\n- **Install composer packages**: Sometimes you need to install the composer\n  packages before of project encode.\n\n```yaml\nname: Encode Laravel with IonCube\n\non: [push]\n\njobs:\n  encode:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout Repository\n        uses: actions/checkout@v2\n\n      - name: IonCube Encode Project\n        uses: MuriloChianfa/ioncube-encoder-action@v3.0.1\n        # If you're dont using trial version you need to setup the ioncube download url\n        # env:\n        #   IONCUBE_DOWNLOAD_URL: ${{ secrets.IONCUBE_DOWNLOAD_URL }}\n        with:\n          source: 'src'\n          output: 'encrypted'\n          passphrase: ${{ secrets.IONCUBE_PASSPHRASE }}\n          # License file path in runtime\n          with-license: /opt/project/license\n          # Callback file path in runtime\n          callback-file: /opt/project/public/ioncube.php\n\n      - name: IonCube Encode Callback File\n        uses: MuriloChianfa/ioncube-encoder-action@v3.0.1\n        # If you're dont using trial version you need to setup the ioncube download url\n        # env:\n        #   IONCUBE_DOWNLOAD_URL: ${{ secrets.IONCUBE_DOWNLOAD_URL }}\n        with:\n          source: 'src/public/ioncube.php'\n          output: 'encrypted/public/ioncube.php'\n          passphrase: ${{ secrets.IONCUBE_PASSPHRASE }}\n```\n\n### Inputs\n\n- **_trial_**: Encode file with trial version of ioncube. _(default: true)_\n- **_template_**: The template to choose the best parameters for type of\n  projects. _(default: php)_\n- **_source_**: The file or directory containing your PHP project. _(default:\n  src)_\n- **_output_**: The file or directory where the encoded project will be saved.\n  _(default: encrypted)_\n- **_encoder-version_**: The Ioncube encoder version. _(default: current)_\n- **_php-target-version_**: The PHP encoded files target version. _(default:\n  8.2)_\n- **_arch_**: Architecture of target environment runner. _(default: 64)_\n- **_allow-reflection_**: Names or globs for functions or classes to allow the\n  reflection API. Supports multiple values (space-separated). _(default: false)_\n- **_allow-reflection-all_**: Allow the reflection API at all the PHP code.\n  _(default: false)_\n- **_encrypt_**: Names or globs to files to encrypt. Supports multiple values\n  (space-separated). _(default: false)_\n- **_binary_**: Encode files in binary format. _(default: false)_\n- **_optimize_**: Level of encoding performance. _(default: more)_\n- **_no-doc-comments_**: Not allow doc comments on encoded files. _(default:\n  false)_\n- **_without-loader-check_**: Disable the ioncube loader installation\n  verification. _(default: false)_\n- **_preamble-file_**: File for insert into header of all encoded files.\n  _(default: false)_\n- **_passphrase_**: Text to identify and encode the project unically. _(default:\n  false)_\n- **_license-check_**: Mode of license validation for encoded files. _(default:\n  auto)_\n- **_with-license_**: The license file path at runtime environment. _(default:\n  false)_\n- **_callback-file_**: File to validate manually when license is invalid.\n  _(default: false)_\n- **_create-target_**: Mode to create target file/directory if not exists.\n  _(default: false)_\n- **_replace-target_**: Mode to replace target file/directory if not exists.\n  _(default: false)_\n- **_copy_**: Patterns of files to copy without encrypt or encode. Supports\n  multiple values (space-separated). _(default: '')_\n- **_ignore_**: Patterns of files to ignore on ioncube walkthrough. Supports\n  multiple values (space-separated). _(default: '')_\n- **_skip_**: Patterns of files to skip on ioncube walkthrough. Supports\n  multiple values (space-separated). _(default: '')_\n- **_obfuscate_**: PHP entities to obfuscate:\n  all,locals,functions,methods,classes,linenos,none. _(default: 'none')_\n- **_obfuscation-key_**: Key to obfuscation method to apply on PHP entities.\n  _(default: '')_\n\n#### Using Multiple Values\n\nSeveral inputs support multiple values (`copy`, `ignore`, `skip`, `encrypt`,\n`allow-reflection`). You can provide multiple patterns using different formats:\n\n**Newline-separated (YAML multiline syntax):**\n\n```yaml\nwith:\n  copy: |\n    *.txt\n    *.md\n    *.json\n  ignore: |\n    */cache/*\n    */logs/*\n    */temp/*\n```\n\n**Comma-separated:**\n\n```yaml\nwith:\n  copy: '*.txt,*.md,*.json'\n  ignore: '*/cache/*,*/logs/*'\n```\n\nWhen multiple values are provided, each pattern is passed as a separate flag to\nthe IonCube encoder.\n\n\u003chr\u003e\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e Make sure to ignore the commits for encrypted files. After encrypt your\n\u003e project, test them for make sure your correct functionality.\n\n## Example\n\nExplore a complete example of a workflow that utilizes this action in the\n\u003ca href=\"https://github.com/MuriloChianfa/ioncube-encoder-action\"\u003eexample\nproject\u003c/a\u003e.\n\n## Testing this package\n\n```bash\nnpm install\n```\n\n```bash\nnpm run lint\nnpm run test\nnpm run bundle\n# or simple\nnpm run all\n```\n\n### Dependencies\n\n- _Node.js 20.8.0 or higher._\n- _NPM 10.1.0 or higher._\n\n## Commitment to Quality\n\nDuring package development, try as best as possible to embrace good design and\ndevelopment practices to try to ensure that this package is as good as it can\nbe. The checklist for package development includes:\n\n- ✅ Have no linting warnings throughout all code.\n- ✅ Include comprehensive documentation in README.md.\n\n## Contributions\n\nWe welcome contributions! Feel free to open issues for suggestions or bug\nreports, and pull requests are highly appreciated.\n\n## Security\n\nIf you discover any security related issues, please email\nmurilo.chianfa@outlook.com instead of using the issue tracker.\n\n## Credits\n\n- [Murilo Chianfa](https://github.com/MuriloChianfa)\n- [All Contributors](../../contributors)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.md)\nfile for details.\n\n## Acknowledgments\n\nSpecial thanks to \u003ca href=\"https://www.ioncube.com/\"\u003eIonCube\u003c/a\u003e for providing\nrobust encoding technology.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmurilochianfa%2Fioncube-encoder-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmurilochianfa%2Fioncube-encoder-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmurilochianfa%2Fioncube-encoder-action/lists"}