CLI 레퍼런스

모든 magiclock 하위 명령과 플래그를 한곳에 모았습니다.

모든 것은 하나의 명령입니다: magiclock <subcommand> [options]. magiclock --version은 설치된 버전을 출력하고, 인자 없이 magiclock만 실행하면 도움말을 출력합니다.

activate

이 머신을 인증하고 프로비저닝합니다. 멱등적(idempotent)이므로 다시 실행해도 안전합니다.

플래그의미
--server URL라이선스 서버 URL(저장된 세션, 그다음 $MAGICLOCK_SERVER 순으로 대체됩니다).
--token TOKENBearer 토큰(저장된 세션, 그다음 $MAGICLOCK_TOKEN 순으로 대체됩니다).
--with-token헤드리스 모드: $MAGICLOCK_TOKEN 또는 표준 입력에서 포털이 발급한 토큰을 읽습니다.
--no-browser로그인이 필요할 경우, 브라우저를 여는 대신 링크와 코드를 출력합니다.

status

이 머신의 계정 및 활성화 상태를 표시합니다.

플래그의미
--offline서버와의 실시간 왕복을 건너뛰고, 로컬 상태만으로 보고합니다.

protect

.py 파일(또는 디렉터리를 재귀적으로)을 게이트가 걸린 .pya로 암호화합니다.

shell
magiclock protect PATH [-o OUT] [--remove]
                  [--trial | --expires-in DURATION | --expires-at DATE]
                  [--lock-passphrase | --no-bind-machine [--passphrase | --emit-key]]
플래그의미
PATH보호할 .py 파일 또는 재귀적으로 보호할 디렉터리(.venv, venv, __pycache__, .git, dist, build는 자동으로 건너뜁니다).
-o, --out출력 경로(디렉터리의 경우 출력 루트).
--remove암호화 후 평문 .py 파일을 삭제합니다.
--trial고정 48시간 자동 소멸 — 데모용.
--expires-in DURATION지정한 기간 이후 복호화를 멈춥니다(예: 30d).
--expires-at DATE지정한 날짜에 복호화를 멈춥니다(예: 2026-12-31).
--lock-passphrase2단계 잠금: 이 머신 그리고 패스프레이즈.
--no-bind-machine포터블 산출물 — 머신 잠금 없음.
--passphrase--no-bind-machine과 함께: 패스프레이즈로 잠금 해제($MAGICLOCK_PASSPHRASE 또는 프롬프트).
--emit-key--no-bind-machine과 함께: 패스프레이즈 대신 대역 외 배포용으로 생성된 키를 출력합니다.

--trial/--expires-in/--expires-at는 서로 배타적입니다. --lock-passphrase--no-bind-machine 그룹과 배타적입니다.

protect-model

모델이나 그 외 리소스를 .enc 봉투로 암호화합니다. protect와 동일한 유효 기간, --lock-passphrase, 포터블 플래그를 사용하며, 추가로 다음이 있습니다.

플래그기본값의미
PATH암호화할 파일.
-o, --out<path>.enc출력 경로.
--feature NAMEai_model이 산출물을 잠금 해제하는 데 필요한 라이선스 역량.
--removeoff암호화 후 평문 파일을 삭제합니다.

build

앱을 네이티브 바이너리로 컴파일하면서 라이선스 게이트를 모든 모듈에 자동으로 삽입합니다. 전체 설명은 컴파일 빌드를 참고하세요.

플래그기본값의미
entry진입점 .py 파일.
-o, --output-dirdist빌드 출력 디렉터리.
--source-root진입점 파일스캔/변환할 프로젝트 루트.
--moduleon단일 파일 네이티브 확장 모듈로 컴파일.
--standalone대신 독립 실행형 앱 디렉터리로 컴파일. --module과 상호 배타적.
--no-compileoff스캔 + 주입 + 임베드만 수행하고 네이티브 컴파일은 건너뜁니다.
--keep-tmpoff중간 변환 디렉터리를 유지합니다.
--model PATHnone모델을 암호화해 번들로 포함합니다(반복 지정 가능).
--model-lock-passphraseoff번들된 모델에 대한 2단계 잠금(--model 1개 이상 필요).
--model-trial / --model-expires-in / --model-expires-atnone번들된 모델의 유효 기간 — 서로 배타적입니다.

run

.py 또는 .pya를 게이트 포함하여 실행합니다.

플래그기본값의미
entry실행할 파일.
--app-version1.0.0라이선스에 설정된 max_app_version과 대조해 검사하는 앱 버전.
--passphraseoff복호화 패스프레이즈를 입력받습니다(또는 $MAGICLOCK_PASSPHRASE를 읽음) — 포터블 또는 2단계 산출물용.
--key KEY포터블 산출물의 복호화 키(base64), 또는 $MAGICLOCK_DECRYPT_KEY를 읽습니다.

deactivate

계정에서 이 머신을 제거합니다.

플래그의미
--local-only시트를 해제하거나 서버에서 취소하지 않고 로컬 볼트만 지웁니다.
--server URL해제 호출에 사용할 서버 URL.
--token TOKEN해제 호출에 사용할 Bearer 토큰.

completion

셸 탭 완성 스크립트를 출력합니다.

shell
magiclock completion bash > /etc/bash_completion.d/magiclock
magiclock completion zsh  > "${fpath[1]}/_magiclock"