[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74493":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},74493,"Podroid","ExTV\u002FPodroid","ExTV","A rootless Android app that boots Alpine Linux: run containers (Podman\u002FDocker\u002FLXC) and GUI desktop apps.","https:\u002F\u002Fextv.github.io\u002FPodroid\u002F",null,"Kotlin",1467,84,10,4,0,12,38,131,36,18.79,"GNU General Public License v2.0",false,"main",true,[27,28,29,30],"android-app","linux","shell","virtual-machine","2026-06-12 02:03:26","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FExTV.png\" width=\"96\" height=\"96\" alt=\"Podroid\" style=\"border-radius: 24px\" \u002F>\n\n# Podroid\n\n**Linux containers and a Linux desktop on Android. No root.**\n\nA real Alpine VM, a real Linux kernel, rootless Podman, and an in-app X11 viewer, all in one APK.\n\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FExTV\u002FPodroid\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FExTV\u002FPodroid?include_prereleases&style=flat-square&label=release&color=blue\" alt=\"Release\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FExTV\u002FPodroid\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002FExTV\u002FPodroid\u002Ftotal?style=flat-square&color=brightgreen\" alt=\"Downloads\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FExTV\u002FPodroid\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FExTV\u002FPodroid?style=flat-square&color=yellow\" alt=\"Stars\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FExTV\u002FPodroid?style=flat-square\" alt=\"License\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Android%209%2B-3DDC84?style=flat-square&logo=android&logoColor=white\" alt=\"Android 9+\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Farch-arm64-orange?style=flat-square\" alt=\"arm64\" \u002F>\n\u003C\u002Fp>\n\n\u003Ca href=\"https:\u002F\u002Fextv.github.io\u002FPodroid\u002F\">\u003Cstrong>Website\u003C\u002Fstrong>\u003C\u002Fa> ·\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FExTV\u002FPodroid\u002Freleases\u002Flatest\">\u003Cstrong>Download\u003C\u002Fstrong>\u003C\u002Fa> ·\n\u003Ca href=\"#quick-start\">\u003Cstrong>Quick Start\u003C\u002Fstrong>\u003C\u002Fa> ·\n\u003Ca href=\"#build\">\u003Cstrong>Build\u003C\u002Fstrong>\u003C\u002Fa>\n\n\u003C\u002Fdiv>\n\n---\n\n## What it is\n\nPodroid boots a standard Alpine 3.23 VM under QEMU, with a custom Linux **7.0.5** kernel that has every option real containers need (overlayfs, netfilter, bridge, FUSE, binfmt_misc, …) compiled in. You get rootless Podman, Docker and LXC out of the box, plus an in-app X11 desktop for GUI apps, without root, without ADB tricks, on stock Android 9+.\n\n## Quick start\n\n1. Grab the APK from [Releases](https:\u002F\u002Fgithub.com\u002FExTV\u002FPodroid\u002Freleases\u002Flatest).\n2. Open Podroid → **Start VM** (boots in 6–30 s).\n3. Tap **Open Terminal** when status turns *Ready*.\n\n```bash\n# Containers\npodman run --rm alpine echo hello\npodman run -d -p 8080:80 nginx          # reachable from Android at 127.0.0.1:8080\n\n# GUI apps: tap the monitor icon in the terminal to open the X11 viewer\napk add firefox\nfirefox &\n```\n\nDefault login: **root \u002F podroid**.\n\n## Features\n\n- **Linux 7.0.5 kernel**, custom-built. Every container option compiled `=y`; the build fails if any get demoted.\n- **Podman, Docker and LXC pre-installed.** Rootless Podman wired up with crun + netavark + slirp4netns; `rc-service docker start` or `lxc-create …` work out of the box.\n- **OpenRC as PID 1.** `apk add` whatever you want, `rc-service ... start`, and it persists across reboots.\n- **In-app X11 viewer** (Xvnc + PulseAudio) with touch→mouse, soft-keyboard input, and PCM audio over loopback.\n- **Built-in terminal** powered by the Termux engine: xterm-256color, mouse tracking, debounced resize, customizable extra-keys row.\n- **Persistent ext4 overlay** on a read-only Alpine squashfs. Your installs and configs survive every reboot.\n- **Adaptive Material 3 UI** for phone, tablet and landscape, with dynamic color and a foreground service that keeps the VM alive.\n\n## Themes & fonts\n\nOpen the terminal's **Quick Settings** (top sheet) for both pickers.\n\n- **122 bundled color themes:** Dracula, Nord, Solarized, Tokyo Night, Catppuccin, Gruvbox, Monokai, the full base16 family, and more.\n- **13 bundled monospace fonts:** JetBrains Mono, Fira Code, Cascadia Code, Source Code Pro, Hack, Iosevka, Victor Mono, Monofur, Anonymous Pro, DejaVu Sans Mono, Liberation Mono, Ubuntu Mono, Terminus.\n- **Bring your own font.** The Fonts picker has a **+ Add** chip; pick any `.ttf` from the system file chooser and it's instantly available. Long-press a custom font to remove it.\n- **Bring your own theme.** The Color-themes picker has an **Import** chip that accepts a URL to a Gogh-style `.properties` file. Long-press to remove.\n- Font size, color theme, font, dark\u002Flight and haptics: all change live, no VM restart.\n\n## VM is fully configurable\n\nEverything below is editable from **Settings**:\n\n- **Memory:** 512 MB · 1 GB · 2 GB · 4 GB\n- **CPU cores:** 1 · 2 · 4 · 6 · 8\n- **Persistent storage:** 2 GB to 64 GB (chosen at first setup; reset to change)\n- **Downloads folder sharing** (virtio-9p): toggle on\u002Foff; mounted inside the VM at `\u002Fmnt\u002Fdownloads`\n- **SSH** (Dropbear on `127.0.0.1:9922`): toggle on\u002Foff\n- **Port forwards:** add\u002Fremove host ↔ guest TCP\u002FUDP rules live, no VM restart (sent to QEMU over QMP)\n- **Advanced QEMU args:** full `-cpu` \u002F `-accel` \u002F RNG \u002F device line, editable\n- **Advanced kernel cmdline:** extras appended to the boot cmdline\n- **Full App Reset:** wipe the persistent storage image and start over\n\nRAM and CPU changes take effect on the next start; everything else is hot.\n\n## Diagnostics\n\n**Settings → Export Diagnostic Log** bundles app info, current settings, VM state, app logcat and the full QEMU console output into a single `log.txt` and shares it via the standard Android share sheet. Attach this to bug reports; it's almost always enough to diagnose a boot or container issue without ADB.\n\n## Requirements\n\n| | |\n|---|---|\n| Architecture | ARM64 only (`aarch64`) |\n| OS           | Android 9.0+ (API 28), targets API 36 |\n| Storage      | ~200 MB app + chosen VM disk (default 2 GB, max 64 GB) |\n| Memory       | 2 GB device RAM recommended (VM defaults to 512 MB) |\n\n## Build\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FExTV\u002FPodroid.git && cd Podroid\n\n.\u002Fbuild-all.sh all          # kernel + initramfs + rootfs + qemu + termux + APK\n.\u002Fbuild-all.sh deploy       # the above, plus install + launch\n.\u002Fbuild-all.sh test         # boot validation: deploys APK, polls console.log for \"Ready!\"\n```\n\nIndividual stages: `kernel`, `initramfs`, `rootfs`, `qemu`, `termux`, `apk`. All container builds are Docker-cached.\n\n**Prereqs:** Docker 20.10+, Android NDK r27c, Android SDK with platform 36 + build-tools.\n\n## Contributing\n\nContributions of every size are welcome: bug reports, kernel-config tweaks, new themes, UI polish, X11 input fixes, anything.\n\n- **Pull requests:** read [CONTRIBUTING.md](CONTRIBUTING.md) first. Keep changes scoped, run `.\u002Fbuild-all.sh test` before pushing, and explain *why* in the PR description.\n- **Bug reports:** [open an issue](https:\u002F\u002Fgithub.com\u002FExTV\u002FPodroid\u002Fissues\u002Fnew) with your device + Android version, a short repro, and the diagnostic log (**Settings → Export Diagnostic Log** in the app).\n- **Diving into the engine:** [`skill.md`](skill.md) is the deep map: boot pipeline, every native binary, every quirk, every common task. AI assistants should read it before touching anything.\n\n## Credits\n\n| | |\n|---|---|\n| [QEMU](https:\u002F\u002Fwww.qemu.org)                   | Machine emulation |\n| [Termux](https:\u002F\u002Fgithub.com\u002Ftermux\u002Ftermux-app) | Terminal emulator engine |\n\nFull list (Linux, Alpine, Podman, TigerVNC, PulseAudio, Limbo and more) in [CREDITS.md](CREDITS.md).\n\n## License\n\n[GNU General Public License v2.0](LICENSE). QEMU, Linux, Alpine, Podman and the rest are distributed under their respective upstream licenses.\n","Podroid 是一个无需 root 权限即可在 Android 设备上运行 Linux 容器的应用。它基于 QEMU 启动一个标准的 Alpine 3.23 虚拟机，并使用自定义的 Linux 7.0.5 内核，该内核集成了容器所需的全部功能（如 overlayfs、netfilter 等）。核心功能包括预装了 Podman、Docker 和 LXC 的无根容器环境，以及内置的 X11 查看器以支持 GUI 应用。此外，还提供了一个由 Termux 引擎驱动的强大终端。此项目适用于需要在移动设备上进行 Linux 开发或测试的场景，尤其适合那些希望在没有 root 权限的情况下也能享受到完整 Linux 环境的用户。",2,"2026-06-11 03:50:10","high_star"]