본문으로 건너뛰기

트렌딩 - GitHub 인기 레포 & HuggingFace 모델

roro2239/Stellar

Kotlin0 / 0

Shizuku 호환성을 유지하면서 세밀한 권한과 Shell 강등 실행을 추가한 Android 특권 API 프레임워크입니다.

TL;DR

Stellar는 Android 생태계의 Shizuku를 깊게 수정한 프레임워크로, 앱이 ADB 또는 Root로 시작한 서비스와 Binder로 통신해 시스템 수준 API를 호출하게 합니다. `StellarProvider`와 JitPack의 `com.github.roro2239:Stellar-API:latest.release`를 앱에 연결하고 권한을 신청한 뒤 특권 작업을 실행하는 구조입니다. Shizuku 호환 계층이 `IShizukuService` 호출을 Stellar 서비스로 전달하므로 기존 Shizuku 앱의 이전 비용을 낮추지만, 권한 매핑과 제거된 기능의 차이는 따로 확인해야 합니다. `newProcess()`와 런타임 권한 API를 계속 사용해야 하거나 서비스 동반 실행과 Shell 사용자 강등이 필요한 Android 앱이라면 검토할 가치가 있습니다.

핵심 포인트

  • Stellar는 Android 앱이 Root나 ADB 자체 권한 없이 시스템 API를 호출하도록 하는 Shizuku 기반 프레임워크입니다. ADB 무선 디버깅 또는 Root로 서비스를 시작한 뒤 앱과 Binder로 연결하며, 기존 Shizuku API를 사용하는 앱은 호환 계층을 통해 코드 변경 없이 연결할 수 있습니다. Android 특권 기능을 앱에 통합하려는 개발자에게 적합하지만 일반 앱 기능만 필요한 프로젝트에는 과한 선택입니다.
  • 권한 모델을 `stellar`와 `follow_stellar_startup`으로 나누고 영구授权과 일회성授权을 구분하는 콜백을 사용합니다. 클라이언트는 권한 조회·신청·철회 API를 호출하고 서비스는 요청을 Stellar 권한으로 매핑해 처리합니다. 세밀한 권한 수명과 서비스 연동을 제어해야 하는 앱에는 유용하지만 Shizuku와 다른 권한 동작을 별도로 검증해야 합니다.
  • Stellar는 Root로 시작한 뒤 `su (root) → libchid.so 2000 → libstellar.so --apk=...` 순서로 프로세스를 Shell 사용자 uid=2000으로 낮출 수 있습니다. 이 방식은 서비스가 Root 권한으로 계속 실행되는 범위를 줄이지만 시스템 속성 쓰기와 보호 디렉터리 접근 같은 Root 전용 기능은 잃게 됩니다. ADB 모드에서는 이미 uid=2000으로 실행되므로 해당 설정이 적용되지 않습니다.
  • Shizuku의 `newProcess()`와 런타임 권한 부여·철회 API를 유지하면서 rish와 Zygisk-Sui 지원은 제거한 Kotlin 프로젝트입니다. 서비스 동반 실행, 듀얼 프로세스 감시 재시작, TCP 기반 사전 활성화, MediaTek 기기 관련 수정과 Material Design 3 관리 UI를 포함합니다. 수정 부분은 Mozilla Public License 2.0이고 원본 Shizuku 코드는 Apache License 2.0이므로 배포 전 두 라이선스의 적용 범위를 확인해야 합니다.

1.3k

STARS

43

FORKS

+206

TRENDING

0

조회수

watchers 1.3kopen issues 13Mozilla Public License 2.0

관련 토론

아직 관련 토론이 없습니다.

댓글

댓글을 작성하려면 로그인이 필요합니다.