
AndroSH v26.08.23
AndroSH No-Root Android上のマルチディストロLinux(Shizuku/ADB経由) - Arch, Fedora, Alpine, Debian, Ubuntu, Kali, Void, Manjaro, OpenSUSE & Chimeraを完全なシステム統合、proot隔離、Termux:X11 GUIで実行。
AndroSH - Android上でLinuxディストリビューションを実行(root不要、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システムと直接統合できます - rootは不要です
- SQLiteベース: 環境を高速かつ確実に追跡できます
- 分離: 各Linux環境はPRootを通じてユーザースペースのファイルシステム/プロセス分離で実行されます
- GUIサポート: Termux:X11で完全なデスクトップ環境として動作します - セットアップガイド
対応ディストリビューション
上記のすべてのディストリビューションは、検証済みのrootfsソースから提供され、分離されたproot環境で実行されます - rootは不要です。
概要
AndroSHは、ADB/Shizuku実行レイヤーを通じてPRootを実行することで、Android上に複数の完全なLinuxディストリビューションをデプロイおよび管理できます。これにより、rootなしでAndroid側の昇格された実行が可能になり、Linux環境内からAndroidシステムと直接統合できます。
| 機能 | AndroSH | 一般的な代替手段 |
|---|---|---|
| 複数ディストロの同時実行 | 可能 | 通常は1つのディストロのみ |
| 環境管理 | SQLite + CLI | 手動でのファイル操作 |
| Androidシステム統合 | ADB/Shizuku実行 | ソリューションにより異なる |
| 複数の分離インスタンス | 可能 | 単一インスタンス |
| rootの必要性 | 不要(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のrootは不要です。
- プロセス分離: 各環境はprootを通じてサンドボックス化されて実行されます
- 整合性チェック: SHA-256チェックサムですべてのダウンロードを検証します
- テレメトリなし: データ収集は一切なく、すべてがデバイス上にローカルに留まります
- オープンソース: すべてのコンポーネントが監査可能です
コンポーネントとソース
| コンポーネント | ソース | 目的 |
|---|---|---|
| PRoot | ahmed-alnassif/proot | 静的リンクされた、Android向けに最適化された自動ビルド |
| BusyBox NDK | Magisk-Modules-Repo/busybox-ndk | Android向けのコアUnixユーティリティ(tar、grep、awkなど) |
ビルドパイプライン: PRoot builder · BusyBox NDK sources · AndroSH core
すべての依存関係は上流のソースまで追跡可能で、セキュリティアップデートと同期が保たれています。
トラブルシューティング
壊れた環境のリセット
androsh setup <distro> --distro debian -t stable --resetup
一時ファイルのクリーンアップ
androsh clean <distro>
グローバルなandroshコマンドの再インストール
cd AndroSH
python main.py install
Shizukuの問題
- Shizukuが実行中で、AndroSHがその中で認証されていることを確認してください
- 問題が解決しない場合は、デバイスを再起動してShizukuサービスを復元してください
コントリビューション
あらゆる種類のコントリビューションを歓迎します - コード、ドキュメント、バグ報告、機能のアイデア、翻訳、テスト、あるいは単なるフィードバックの共有でも構いません。タイポの修正でも、新しいディストロのサポートの追加でも、すべてのコントリビューションが役立ちます。
参加方法:
- コード: バグの修正、機能の追加、パフォーマンスの改善
- ドキュメント: READMEの改善、ガイドの作成、例の追加
- テスト: さまざまなデバイス/AndroidバージョンでAndroSHを試し、発見したことを報告する
- バグ報告: 再現手順を明確にしたissueの作成
- 機能リクエスト: サポートしてほしいアイデアやワークフローの提案
- コミュニティサポート: issue/ディスカッションでの質問への回答を手伝う
どんなに小さなコントリビューションでも歓迎します - どこから始めればよいかわからない場合は、issueを開いて質問してください。
開発環境のセットアップ:
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
サポート
- リポジトリにスターを付ける - 役に立ったと思ったら、他の人がプロジェクトを見つける助けになります
- 共有する - AndroSHが役に立ったなら、友人、コミュニティ、またはソーシャルメディアで共有してください
- issueを開く - バグを報告する
- ディスカッションを開始する - 機能を提案したり質問したりする
- ユースケースを共有する - AndroSHをどのように使っているか教えてください。今後の開発の参考になります
- 広める - 記事を書いたり、動画を作ったり、Android/Linux愛好家が集まる場所で推薦したりしてください
どんなに小さなサポートでも、プロジェクトの成長を支えます。
Androidのrootを必要とせず、プロフェッショナルなLinux環境をポケットに。