Nhà phát triển 34306 vừa công khai vphone-web, một dự án mã nguồn mở xây dựng giao diện web cho vphone-cli, cho phép chạy và quản lý nhiều máy ảo iPhone cùng lúc trên Mac, sau đó truy cập và điều khiển chúng trực tiếp thông qua trình duyệt.
Khác với các trình giả lập chạy trực tiếp bằng JavaScript hay WebAssembly, vphone-web không chạy iOS ngay trong trình duyệt. Máy Mac Apple Silicon vẫn đảm nhiệm việc chạy các máy ảo iPhone, còn trình duyệt đóng vai trò giao diện quản lý và điều khiển từ xa.
1.vphone-web là gì?
vphone-web là một lớp giao diện web được xây dựng phía trên vphone-cli, dự án của Lakr233 sử dụng Virtualization.framework của Apple và môi trường PV=3 để chạy iOS dưới dạng máy ảo trên Apple Silicon.
Repo vphone-web tích hợp vphone-cli dưới dạng submodule và bổ sung thêm hệ thống tài khoản, quản lý máy ảo, truyền màn hình, điều khiển cảm ứng, quản lý file và nhiều công cụ khác.
1.1Không phải trình giả lập iPhone chạy trên trình duyệt
Điểm cần phân biệt là vphone-web không biến Chrome, Safari hay Firefox thành một trình giả lập iPhone độc lập.
Máy Mac vẫn là máy chủ thực sự chạy iOS VM. Khi người dùng mở vphone-web trên một thiết bị khác, trình duyệt chỉ nhận luồng hình ảnh từ máy ảo và gửi thao tác điều khiển trở lại máy Mac.
Vì vậy, có thể hiểu vphone-web giống một nền tảng quản lý iPhone ảo từ xa hơn là một trình giả lập web truyền thống.
2.Các tính năng chính
Theo README của dự án, vphone-web hiện hỗ trợ nhiều tính năng đáng chú ý.
2.1Chạy nhiều iPhone ảo cùng lúc
Người dùng có thể tạo nhiều máy ảo iPhone từ một base VM có sẵn.
Các máy ảo mới được tạo theo cơ chế copy-on-write, giúp giảm thời gian sao chép và hạn chế việc phải nhân bản toàn bộ image iOS mỗi lần tạo VM mới.
2.2Quản lý tài khoản và phân quyền
vphone-web có hệ thống tài khoản người dùng cùng cơ chế RBAC.
Quản trị viên có thể:
- Tạo máy ảo.
- Chọn phiên bản iOS.
- Gán máy ảo cho từng tài khoản.
- Quản lý nhiều người dùng.
- Theo dõi log của từng VM.
Điều này giúp dự án phù hợp hơn với các phòng lab hoặc môi trường có nhiều người cùng sử dụng.
2.3Điều khiển iPhone ngay trong trình duyệt
Sau khi khởi động VM, người dùng có thể mở màn hình iPhone ngay trên giao diện web.
vphone-web hỗ trợ:
- Chạm và kéo trực tiếp trên màn hình.
- Home.
- Power.
- Volume Up.
- Volume Down.
- Các thao tác điều khiển cơ bản khác.
Luồng màn hình chủ yếu sử dụng WebRTC để giảm độ trễ.
2.4WebRTC và MJPEG/WebSocket
Trong mạng nội bộ, vphone-web ưu tiên truyền hình ảnh bằng WebRTC.
Nếu truy cập thông qua môi trường không phù hợp với WebRTC UDP, chẳng hạn Cloudflare Tunnel, hệ thống có thể tự động chuyển sang MJPEG truyền qua WebSocket.
Cơ chế này giúp người dùng vẫn có thể truy cập iPhone ảo từ xa thông qua Internet.
2.5Cài IPA và TIPA
vphone-web cho phép kéo thả file:
- .ipa
- .tipa
trực tiếp vào khu vực cài đặt trên giao diện web.
File sau đó được chuyển tới máy ảo để cài đặt mà không cần thao tác thủ công qua Terminal.
2.6Root shell trong trình duyệt
Một tính năng đáng chú ý khác là khả năng truy cập root shell của máy ảo ngay trên web.
Người dùng có thể sử dụng Terminal tích hợp để thực hiện các lệnh trực tiếp bên trong môi trường iOS VM.
2.7Trình quản lý file
vphone-web cũng tích hợp trình duyệt file.
Người dùng có thể truy cập và quản lý dữ liệu của máy ảo mà không cần sử dụng thêm công cụ SSH hoặc SCP bên ngoài.
3.Yêu cầu để sử dụng vphone-web
vphone-web không thể chạy trên Windows hay Linux thông thường.
3.1Phần cứng
Dự án yêu cầu:
- Máy Mac sử dụng Apple Silicon.
- Ổ SSD tốc độ cao.
- Nên sử dụng SSD trong máy thay vì ổ USB chậm.
Việc boot iOS lần đầu có thể tạo ra hàng nghìn thao tác đọc ghi nhỏ, vì vậy tốc độ lưu trữ ảnh hưởng khá lớn tới trải nghiệm.
3.2Hệ điều hành
Theo README, yêu cầu hiện tại là:
- macOS 15 Sequoia trở lên.
- Xcode.
- Xcode Command Line Tools.
- Homebrew.
- Python 3.11 trở lên.
Để vphone-cli có thể sử dụng các entitlement virtualization riêng của Apple, người dùng có thể cần vô hiệu hóa SIP và AMFI theo hướng dẫn của dự án gốc.
Đây là thay đổi ảnh hưởng trực tiếp tới bảo mật của macOS.
Do đó, vphone-web phù hợp hơn với máy Mac chuyên dùng để nghiên cứu, thử nghiệm hoặc chạy lab thay vì máy chính đang chứa dữ liệu quan trọng.
4.Người dùng phải tự tạo base VM
Repo vphone-web không cung cấp sẵn image iOS hoàn chỉnh.
Người dùng phải build vphone-cli, sau đó tự tạo một base VM.
Quá trình phía vphone-cli có thể bao gồm:
- Tải IPSW.
- Tải cloudOS.
- Restore.
- Patch hệ thống.
- Cài thành phần cần thiết.
- Boot lần đầu.
Sau khi hoàn thành, base VM sẽ chứa các thành phần như:
- Disk.img
- nvram.bin
- SEPStorage
- config.plist
- AVPBooter
- .vphoned.signed
vphone-web sau đó sử dụng base này để tạo các máy ảo cho người dùng.
4.1Có thể tạo nhiều base cho nhiều bản iOS
Dự án khuyến nghị mỗi phiên bản iOS nên có một base VM riêng.
Ví dụ:
- vm/
- vm-26.5/
- vm-27/
Người dùng có thể khai báo từng đường dẫn trong file .env.
Giao diện web chỉ hiển thị những phiên bản iOS có Disk.img hợp lệ.
5.Cấu hình tài nguyên máy ảo
Trong file cấu hình mẫu, vphone-web mặc định cấp cho mỗi VM:
- 4 CPU
- 4096 MB RAM
Giới hạn RAM tổng mặc định dành cho các VM đang chạy là:
- 12288 MB
Các thông số này có thể thay đổi trong file .env tùy cấu hình máy Mac.
6.Có thể đưa iPhone ảo lên Internet
Mặc định server của vphone-web chỉ bind tại:
- 127.0.0.1:8080
Điều này có nghĩa hệ thống chỉ truy cập được từ máy Mac.
Tuy nhiên, dự án hỗ trợ sử dụng Cloudflare Tunnel để đưa giao diện web ra Internet mà không phải trực tiếp mở port trên router.
6.1Điều khiển iPhone từ xa
Sau khi cấu hình Cloudflare Tunnel, người dùng có thể đặt Mac tại nhà hoặc phòng lab rồi truy cập iPhone ảo từ:
- Laptop.
- PC.
- Tablet.
- Điện thoại.
- Các thiết bị có trình duyệt hiện đại.
Đây là một trong những điểm khiến vphone-web khác biệt đáng kể so với việc chỉ sử dụng vphone-cli qua Terminal.
7.Công nghệ được sử dụng
Phần web của dự án sử dụng nhiều thư viện Python phổ biến.
Một số thành phần chính gồm:
- FastAPI.
- Uvicorn.
- aiortc.
- PyAV.
- Pillow.
- NumPy.
- SQLAlchemy.
- bcrypt.
- python-multipart.
Trong đó, aiortc được sử dụng cho phần WebRTC, còn SQLAlchemy đảm nhiệm lớp cơ sở dữ liệu.
8.Dự án vẫn mang tính thử nghiệm
Nhà phát triển 34306 cho biết repo được phát triển theo phong cách “vibe coding”, đồng thời nói rằng các chức năng đã được kiểm tra trước khi chia sẻ.
Dù vậy, vphone-web hiện vẫn phù hợp hơn với:
- Nhà phát triển.
- Người nghiên cứu iOS.
- Người nghiên cứu bảo mật.
- Phòng lab.
- Người đã có kinh nghiệm với vphone-cli.
Đây chưa phải một ứng dụng chỉ cần tải về và nhấn nút là có thể chạy iPhone ảo ngay lập tức.
9.Tiềm năng của vphone-web
Nếu vphone-cli giải quyết bài toán boot iOS VM trên Apple Silicon, thì vphone-web tập trung vào việc biến các VM đó thành một hệ thống dễ sử dụng hơn.
Thay vì phải quản lý từng máy ảo bằng Terminal, người dùng có thể:
- Tạo VM trên web.
- Gán VM cho từng tài khoản.
- Khởi động và tắt VM.
- Điều khiển iPhone.
- Cài IPA/TIPA.
- Truy cập shell.
- Quản lý file.
- Theo dõi log.
- Truy cập từ xa qua Internet.
Điều này có thể hữu ích trong các hệ thống kiểm thử nhiều phiên bản iOS, nghiên cứu ứng dụng, nghiên cứu bảo mật hoặc xây dựng một phòng lab iPhone ảo tập trung.
vphone-web hiện được phát hành mã nguồn mở theo giấy phép GPL-3.0 và được công khai trên GitHub vào ngày 5/9/2026.
10.Repo tải xuống
vphone-web:
https://github.com/34306/vphone-web
vphone-cli:
https://github.com/Lakr233/vphone-cli






Chưa có bình luận. Hãy là người đầu tiên chia sẻ.