This action integrates Jscrambler Code Integrity Protection into your GitHub build workflow. It automates the protection of your JavaScript Applications so you can run it whenever a new version of your application is built.
Jscrambler Code Integrity protects your application against automated abuse, piracy, tampering, and code theft with enterprise-grade JavaScript obfuscation, code locks, and self-defensive techniques.
A Jscrambler account is required to use this Action.
If you haven’t tried Jscrambler Code Integrity product, we advise you to read our 101 First Use guide
First, you need to download the "No Secrets" Jscrambler Settings File and place it into your GitHub application repository.
The following inputs are small subset of the fields you can find in above Settings file, and for that reason they are all optional:
access-key
andsecret-key
: User keys for authentication. For security reasons, you should use the GitHub Secrets to securely store secret and access key.application-id
: User application IDjscrambler-config-path (default: jscrambler.json)
: Relative path from the root's repository to JSON with Jscrambler configuration, including protection parametersfiles-src
: Paths of source files to protect. Glob patterns allowed. Use multiline strings to specify multiple files.files-dest
: Path of protected outputjscrambler-version
: Jscrambler version to useprotocol
,host
,port
andbase-path
: Alternative path of protection serversource-maps
: If you want to generate source-mapssource-maps-source-content (default: true)
: If you want to include the original source code in the source map filesource-maps-output-path
: Relative path from the root's repository of output source mapssymbol-table-output-path
: Relative path from the root's repository of output symbol tabledebug-mode
: Whether to turn on debug mode
Jscrambler generates a protection-id
as an output
Place the "No Secrets" Jscrambler Settings File - jscrambler.json - into the root of your GitHub Application Repository, and then add the following steps to your GitHub Workflow:
steps:
- uses: jscrambler/code-integrity-actions/protect@v6
with:
secret-key: ${{ secrets.JSCRAMBLER_SECRET_KEY }}
access-key: ${{ secrets.JSCRAMBLER_ACCESS_KEY }}
application-id: ${{ secrets.JSCRAMBLER_APPLICATION_ID }}
Please refer to the following link for the complete integration guide.