
AndroSH v26.08.23
AndroSH No-Root Multi-Distro Linux on Android via Shizuku/ADB - 전체 시스템 통합, proot 격리, Termux:X11 GUI를 갖춘 Arch, Fedora, Alpine, Debian, Ubuntu, Kali, Void, Manjaro, OpenSUSE, Chimera 실행
AndroSH - Android에서 Linux 배포판 실행 (루트 불필요, ADB/Shizuku 기반)
목차
빠른 시작
[!Important] 시작하기 전에: 먼저 Shizuku를 설치하고 실행하세요. AndroSH가 처음이라면 아래의 설치 섹션 전체를 읽어보세요 - Shizuku 설정과 문제 해결 방법이 포함되어 있습니다.
# In Termux
apt update && apt install -y python git
git clone --depth 1 https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH
pip install -r requirements.txt
python main.py install
androsh setup demo --distro debian --type stable
androsh launch demo
기능
- 멀티 배포판: 여러 Linux 배포판을 동시에 실행 (Arch, Fedora, Alpine, Debian, Ubuntu, Kali, Void, Manjaro, Chimera, openSUSE)
- ADB/Shizuku 기반 Linux: Android의 승격된 Shell 계층을 통해 전체 Linux 배포판 실행, Android 시스템과 직접 통합 - 루트 불필요
- SQLite 기반: 환경을 빠르고 안정적으로 추적
- 격리: 각 Linux 환경은 사용자 공간 파일시스템/프로세스 격리를 통해 PRoot으로 실행
- GUI 지원: Termux:X11과 연동하여 전체 데스크톱 환경 제공 - 설정 가이드
지원되는 배포판
위의 모든 배포판은 검증된 rootfs 소스에서 제공되며 격리된 proot 환경에서 실행됩니다 - 루트 권한이 필요 없습니다.
개요
AndroSH는 ADB/Shizuku 실행 계층을 통해 PRoot을 실행하여 Android에서 여러 개의 전체 Linux 배포판을 배포하고 관리할 수 있게 해줍니다. 이는 루트 없이 Android 측의 승격된 실행을 제공하면서도 Linux 환경 내부에서 Android 시스템에 직접 통합할 수 있는 기능을 유지합니다.
| 기능 | AndroSH | 일반적인 대안 |
|---|---|---|
| 동시에 여러 배포판 | 가능 | 대개 하나의 배포판만 |
| 환경 관리 | SQLite + CLI | 수동 파일 처리 |
| Android 시스템 통합 | ADB/Shizuku 실행 | 솔루션마다 상이 |
| 여러 격리 인스턴스 | 가능 | 단일 인스턴스 |
| 루트 필요 | 아니요 (ADB/Shizuku) | 종종 부트로더 잠금 해제 필요 |
스크린샷
| 명령어 | 미리보기 | 설명 |
|---|---|---|
androsh launch kali | 보기 | Kali NetHunter 환경 시작 |
androsh list | 보기 | 사용 가능한 모든 배포판 |
androsh lsd | 보기 | 이미 설치한 환경 목록 |
아키텍처
Android Device → ADB/Shizuku Execution Context→ Proot Virtualization → Linux Environment(s)
graph TD
A[Android Device] --> B[ADB / Shizuku]
B --> C[Android Shell Execution Context]
C --> D[PRoot]
D --> E[Alpine]
D --> F[Debian]
D --> G[Ubuntu]
D --> H[Kali NetHunter]
E --> I[Android System Integration]
F --> I
G --> I
H --> I
I --> K[Android Command Execution]
I --> L[Android Filesystem Access]
I --> M[Android Network Access]
style D fill:#FF6B00,color:white
style I fill:#4CAF50,color:white
모든 배포판 내부에서 Android 시스템에 직접 접근할 수 있습니다:
# List installed Android packages
pm list packages -f
# Kernel info
cat /proc/version
# Android system properties
getprop | grep version
# Network routes
ip route show
설치
요구 사항
설정
# Install prerequisites in Termux
apt update && apt install -y python git
# Get AndroSH
git clone --depth 1 https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH
# Install dependencies
pip install -r requirements.txt
# Make the `androsh` command available globally
python main.py install
[!Tip]
androsh setup을 실행하면 AndroSH가 Shizuku가 올바르게 구성되었는지 자동으로 확인하고, 그렇지 않은 경우 수정 과정을 안내합니다.
업데이트
cd AndroSH
git pull
pip install -r requirements.txt
사용법
환경 배포
androsh setup production --distro debian --type stable
실행
androsh launch production
# You're now root inside the Debian environment
root@localhost:~# apt update && apt install python3 git
환경 관리
androsh list # See what's available to install
androsh lsd # See what's already installed
androsh clean production # Free up space / remove temp files
androsh remove production --force # Delete an environment
배포판 직접 관리
androsh distro list # List available distros
androsh distro info ubuntu # Get details on a distro
androsh distro download alpine --type alpine-minirootfs --file alpine-edge.tar.gz
전체 명령어 참조
모든 명령어와 플래그에 대한 전체 내용은 AndroSH_Help.md를 참조하세요. 출력 상세 수준 제어(--verbose / --quiet)와 타임스탬프 형식(--time-style)도 포함됩니다.
사용 사례
Linux 학습
androsh setup classroom --distro ubuntu --type stable
apt install gcc python3-dev git curl wget
보안 연구 / 침투 테스트
androsh setup pentest --distro kali-nethunter --type full
apt install nmap metasploit-framework wireshark
경량 개발 환경
androsh setup devops --distro alpine --type alpine-minirootfs
apk add build-base git nodejs npm docker-cli
이동 중 워크스테이션
androsh setup field --distro debian --type stable
apt install vim tmux htop net-tools
여러 환경을 동시에 실행
androsh setup frontend --distro ubuntu -t stable
androsh setup backend --distro debian -t stable
androsh setup security --distro kali-nethunter -t nano
androsh lsd
보안 및 개인정보 보호
- Android 권한 경계: Android 측 작업은 ADB/Shizuku 실행 컨텍스트에서 사용 가능한 권한 내에서 실행되며, Android 루트가 필요하지 않습니다.
- 프로세스 격리: 각 환경은 proot을 통해 샌드박스로 실행됩니다
- 무결성 검사: SHA-256 체크섬이 모든 다운로드를 검증합니다
- 텔레메트리 없음: 데이터 수집이 전혀 없으며, 모든 것이 기기에 로컬로 유지됩니다
- 오픈 소스: 모든 구성 요소를 감사할 수 있습니다
구성 요소 및 소스
| 구성 요소 | 소스 | 용도 |
|---|---|---|
| PRoot | ahmed-alnassif/proot | 정적 링크, Android 최적화 자동 빌드 |
| BusyBox NDK | Magisk-Modules-Repo/busybox-ndk | Android용 핵심 Unix 유틸리티 (tar, grep, awk 등) |
빌드 파이프라인: PRoot 빌더 · BusyBox NDK 소스 · AndroSH 코어
모든 의존성은 업스트림 소스까지 추적 가능하며 보안 업데이트와 동기화됩니다.
문제 해결
손상된 환경 재설정
androsh setup <distro> --distro debian -t stable --resetup
임시 파일 정리
androsh clean <distro>
전역 androsh 명령어 재설치
cd AndroSH
python main.py install
Shizuku 문제
- Shizuku가 실행 중이고 AndroSH가 권한 부여되었는지 확인하세요
- 문제가 지속되면 기기를 재부팅하여 Shizuku 서비스를 복원하세요
기여
기여와 보안 연구를 환영합니다. 현재 우선 순위 영역:
- 성능 최적화
- 배포 도구
- 보안 강화
개발 환경을 설정하세요:
git clone https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
라이선스
GPLv3 - 상업적 및 연구 목적 사용이 무료입니다.
작성자
Ahmed Al-Nassif
- GitHub: @ahmed-alnassif
지원
- 도움이 되었다면 저장소에 Star를 남겨주세요
- 버그를 신고하려면 이슈를 열어주세요
- 기능을 제안하거나 AndroSH 사용 방법을 공유해 주세요
주머니 속 전문 Linux 환경 - Android 루트 권한 없이.