r Lock MasterAccount

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.

The download unlocks once you have an active plan. Approved but not subscribed? Activate a plan first.

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.jar

Cleaner 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.jar

Each 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

FlagWhat 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.jar

Use a dedicated seat for CI so you can rotate or revoke it independently of your laptop.