The CLI
A single command uploads your JAR, protects it in the cloud, and writes the result back. No local toolchain — just Java to run the CLI itself.
Install
Download the CLI for your platform from your account — a build for Windows, macOS and Linux. It needs Java 21+ on your PATH. Put it somewhere on your PATH and you're set.
Authenticate
The CLI authenticates with a seat API key. Create one underSeats & keys (keys look like obf_sk_…and are shown once). Pass it with --key, or set it once as an environment variable so you don't repeat it.
Run it
The full form, spelled out:
rymga \
--url https://licenses.rymga.com \
--key obf_sk_your_seat_key \
--product lock-master \
--in app.jar \
--config config.json \
--out app-obf.jarCleaner with environment variables — set the URL and key once:
export OBF_URL=https://licenses.rymga.com
export OBF_KEY=obf_sk_your_seat_key
rymga --product lock-master --in app.jar --config config.json --out app-obf.jarEach successful run spends tokens metered by the build's size (1 up to 10 MB, +1 per extra 10 MB — see Tokens). The protected JAR is written to--out.
Flags
| Flag | What it does |
|---|---|
| --config <file> | Required. Path to your JSON config. It must be a non-empty object that enables at least one technique — an empty is rejected (it would do nothing and waste a token). |
| --in <file> | The JAR to protect. |
| --out <file> | Where to write the protected JAR. |
| --key <key> | Your seat API key. Or set OBF_KEY. |
| --url <url> | The service URL (https://licenses.rymga.com). Or set OBF_URL. |
| --product <code> | The product code — lock-master. |
If a run fails, the CLI prints why (bad config, no tokens, auth, size limits) and exits non-zero, so it's safe to gate a build on it.
In CI
Store your seat key as a CI secret and run the CLI as a build step. Example for GitHub Actions:
# GitHub Actions step
- name: Obfuscate
env:
OBF_URL: https://licenses.rymga.com
OBF_KEY: ${{ secrets.RYMGA_KEY }}
run: |
rymga --product lock-master --in build/libs/app.jar \
--config config.json --out build/libs/app-obf.jarUse a dedicated seat for CI so you can rotate or revoke it independently of your laptop.