rymga ← Volver a Lock Master

La CLI

Un solo comando sube tu JAR, lo protege en la nube y guarda el resultado. No necesitas herramientas locales, solo Java para ejecutar la propia CLI.

Instalación

Descarga la CLI desde tu cuenta — un único archivo rymga-cli.jar que funciona en cualquier sistema con Java 21+ (Windows, macOS y Linux). Guárdalo donde prefieras y ejecútalo con java -jar rymga-cli.jar.

La descarga se habilita cuando tienes un plan activo. Si tu cuenta está aprobada pero aún no tienes una suscripción, activa primero un plan.

Autenticación

La CLI se autentica con una clave de API de plaza. Créala en Plazas y claves (las claves tienen un formato similar a obf_sk_… y solo se muestran una vez). Pásala mediante --key, define OBF_KEY, o deja que el modo interactivo la guarde una vez en ~/.rymga/cli.properties (solo para el propietario), para que no vuelva a solicitarla.

Ejecución

Ejecútala sin argumentos y te guiará paso a paso: solicitará la clave —y ofrecerá recordarla—, el JAR de entrada, la configuración y el archivo de salida:

java -jar rymga-cli.jar

# It asks for what it needs:
Seat API key: ••••••••
Save this key for next time (~/.rymga/cli.properties)? [Y/n] y
Input JAR to protect: app.jar
Config file (JSON): config.json
Output JAR [app-protected.jar]:

También puedes pasar todos los valores como opciones, algo útil en scripts y CI. La URL predeterminada es https://licenses.rymga.com y el producto predeterminado es lock-master, por lo que basta con esta forma abreviada:

export OBF_URL=https://licenses.rymga.com
export OBF_KEY=obf_sk_your_seat_key

java -jar rymga-cli.jar --product lock-master --in app.jar --config config.json --out app-obf.jar

La forma completa y explícita es:

java -jar rymga-cli.jar \
  --url https://licenses.rymga.com \
  --key obf_sk_your_seat_key \
  --product lock-master \
  --in app.jar \
  --config config.json \
  --out app-obf.jar

Cada ejecución completada consume un token, sea cual sea el tamaño de la compilación; consulta Tokens. El JAR protegido se guarda en --out.

Si tu proyecto depende de JAR que no incluye —como la API de Paper o bibliotecas sombreadas—, la CLI también sube los JAR de biblioteca declarados en la configuración para usarlos como referencia de jerarquía. Estas bibliotecas no se cobran, aunque cuentan para el límite de 350 MB por trabajo. Si la carpeta de dependencias es grande, usa mode: "DEMAND_SAFE" para que el proceso de trabajo solicite solo los JAR necesarios y recurra expresamente a ALL. Consulta Configuración → libraries.

Opciones

OpciónQué hace
--config <file>Obligatorio. Ruta a la configuración JSON. Debe ser un objeto no vacío que active al menos una técnica; se rechaza un vacío, porque no haría nada y desperdiciaría un token.
--in <file>El JAR que se va a proteger.
--out <file>Ruta donde se guardará el JAR protegido.
--mapping <file>Opcional. Ofuscación incremental: reutiliza los nombres de este archivo para los símbolos que no han cambiado —si el archivo existe— y escribe en él la nueva correspondencia. Así, una API renombrada se mantiene estable entre versiones. Incluye el archivo en el repositorio. Consulta el archivo de correspondencias.
--key <key>Tu clave de API de plaza. También puedes definir OBF_KEY.
--url <url>La URL del servicio. Opcional — el valor predeterminado es https://licenses.rymga.com. También puedes definir OBF_URL.
--product <code>El código de producto. Opcional — el valor predeterminado es lock-master.
status / logs / resume / cancelConsulta, recupera o cancela un trabajo por su ID después de que se interrumpa un comando o mientras siga ejecutándose.
doctor / versionComprueba el plano de control o muestra la versión de la CLI o la API.
--json / --quiet / --verboseSalida procesable por máquinas, ejecución silenciosa o progreso detallado para CI y soporte.
-h, --helpMuestra la ayuda de uso y finaliza.

Si una ejecución falla, la CLI explica el motivo —configuración incorrecta, falta de tokens, autenticación o límite de tamaño— y termina con un código distinto de cero, por lo que puedes usarla con seguridad como condición de una compilación.

En CI

Guarda la clave de plaza como secreto de CI y ejecuta la CLI como un paso de compilación. Ejemplo para GitHub Actions:

# GitHub Actions step
- name: Obfuscate
  env:
    OBF_URL: https://licenses.rymga.com
    OBF_KEY: ${{ secrets.RYMGA_KEY }}
  run: |
    java -jar rymga-cli.jar --product lock-master --in build/libs/app.jar \
      --config config.json --out build/libs/app-obf.jar

Usa una plaza exclusiva para CI, de modo que puedas rotarla o revocarla sin afectar a tu portátil.