Tin tức iOS

IPA & Tweak

VibeContainers – fork mới của LiveContainer, gom nhiều ứng dụng iOS vào một container duy nhất

156 lượt xem0 đang xem

VibeContainers – fork mới của LiveContainer, gom nhiều ứng dụng iOS vào một container duy nhất
Mục lục bài viết17 nội dung

VibeContainers là dự án mã nguồn mở mới dành cho iPhone và iPad, cho phép nhập và chạy nhiều ứng dụng iOS bên trong một ứng dụng chủ duy nhất. Công cụ được xây dựng trên nền LiveContainer, không yêu cầu jailbreak và hướng đến người dùng thường xuyên sideload ứng dụng ngoài App Store.

1.Giới thiệu VibeContainers

1.1VibeContainers là gì?

VibeContainers là một ứng dụng chủ (host) dành cho iPhone và iPad, tích hợp trực tiếp runtime của LiveContainer để nhập và chạy các ứng dụng iOS khác dưới dạng ứng dụng khách.

Thay vì phải cài từng file IPA thành một ứng dụng riêng trên Màn hình chính, VibeContainers cho phép đưa nhiều ứng dụng vào chung một môi trường và khởi chạy chúng từ bên trong ứng dụng chủ.

Về bản chất, VibeContainers không phải trình giả lập hay máy ảo. Các ứng dụng khách vẫn là ứng dụng iOS thật, chỉ được LiveContainer chuẩn bị và nạp vào tiến trình của ứng dụng chủ theo một cơ chế đặc biệt.


VibeContainers – fork mới của LiveContainer, gom nhiều ứng dụng iOS vào một container duy nhất
Ảnh: Senumy

2.Vì sao VibeContainers đáng chú ý?

2.1Gom nhiều ứng dụng vào một app duy nhất

Điểm hấp dẫn nhất của VibeContainers đến từ cơ chế LiveContainer.

Thay vì để iOS coi mỗi ứng dụng được sideload là một ứng dụng độc lập, người dùng chỉ cần cài VibeContainers làm ứng dụng chủ. Các IPA khác sau đó được nhập vào và chạy bên trong ứng dụng này.

Nói đơn giản:

  • iOS chỉ thấy VibeContainers là ứng dụng được cài đặt, trong khi bên trong có thể chứa nhiều ứng dụng khách khác nhau.

Đây là lý do những công cụ dựa trên LiveContainer được cộng đồng sideload quan tâm, đặc biệt với người thường xuyên thử nhiều ứng dụng hoặc cần sử dụng nhiều phiên bản khác nhau của cùng một app.

2.2LiveContainer được tích hợp trực tiếp

VibeContainers không yêu cầu người dùng phải cài thêm LiveContainer riêng.

Dự án đã tích hợp trực tiếp runtime của LiveContainer 3.8.0, đóng vai trò xử lý và khởi chạy các ứng dụng khách bên trong VibeContainers.

3.Phiên bản iOS hỗ trợ và cần gì để VibeContainers hoạt động?

VibeContainers hiện hỗ trợ:

  • iOS 17 trở lên trên iPhone.
  • iPadOS 17 trở lên trên iPad.
  • Thiết bị sử dụng kiến trúc arm64.
  • Chạy trên iPhone hoặc iPad thật.

VibeContainers hiện không hỗ trợ chạy ứng dụng khách trên iOS Simulator.

3.1Cần gì để sử dụng?

Để sử dụng VibeContainers trên thiết bị thật, người dùng cần:

  • iPhone hoặc iPad arm64 chạy iOS/iPadOS 17 trở lên.
  • File IPA của VibeContainers.
  • Một phương thức ký và cài IPA phù hợp.
  • Chứng chỉ và provisioning profile hợp lệ để ký ứng dụng.

File IPA mà dự án cung cấp trên GitHub là IPA chưa ký, vì vậy người dùng phải ký lại trước khi có thể cài lên thiết bị.

3.2Nếu muốn chạy ứng dụng theo chế độ JIT-less

Bản thân VibeContainers không cần chứng chỉ PKCS#12 chỉ để mở ứng dụng chủ.

Tuy nhiên, nếu muốn chạy các ứng dụng khách theo phương thức JIT-less, người dùng cần thêm:

  • Chứng chỉ .p12 hoặc .pfx.
  • Chứng chỉ phải thuộc cùng Apple Developer Team đã dùng để ký VibeContainers.
  • Mật khẩu của chứng chỉ nếu file được bảo vệ bằng mật khẩu.

Đây là phần quan trọng nếu muốn VibeContainers tự ký và chuẩn bị các ứng dụng khách mà không phụ thuộc vào JIT.

Không nên sử dụng các bản IPA công khai có nhúng sẵn .p12 hoặc .pfx, bởi những file này chứa private key và có thể bị trích xuất khỏi IPA.

4.Chạy ứng dụng IPA bên trong VibeContainers

Sau khi VibeContainers được cài đặt, người dùng có thể nhập các ứng dụng iOS tương thích vào môi trường của ứng dụng.

LiveContainer sau đó sẽ xử lý ứng dụng khách và cho phép khởi chạy nó mà không cần cài ứng dụng đó thành một app độc lập trên SpringBoard theo cách thông thường.

Cơ chế này cũng mở ra khả năng lưu nhiều ứng dụng hoặc nhiều phiên bản của cùng một ứng dụng trong các container dữ liệu khác nhau.

Tuy nhiên, không phải mọi ứng dụng IPA đều tương thích hoàn toàn với LiveContainer.

Những ứng dụng phụ thuộc mạnh vào entitlement riêng, extension hệ thống hoặc các cơ chế bảo mật đặc biệt có thể không chạy hoặc mất một số chức năng.

5.JIT và JIT-less

LiveContainer hỗ trợ nhiều phương thức chạy ứng dụng tùy theo phiên bản iOS và cấu hình thiết bị.

Khi JIT khả dụng, một số cơ chế ký mã có thể được xử lý khác so với chế độ JIT-less.

Trong chế độ JIT-less, ứng dụng khách cần được ký bằng chứng chỉ phù hợp với VibeContainers. Đây cũng là lý do chứng chỉ .p12 hoặc .pfx cùng Developer Team trở thành yêu cầu quan trọng đối với cách sử dụng này.

6.Yêu cầu nếu muốn tự build VibeContainers

Người dùng muốn tự biên dịch VibeContainers từ mã nguồn cần chuẩn bị:

  • Máy Mac.
  • Xcode 26 trở lên.
  • Gói nền tảng iOS được cài trong Xcode.
  • Git 2.13 trở lên.
  • iPhone hoặc iPad arm64 chạy iOS/iPadOS 17+.
  • Tài khoản Apple Developer.
  • Development Team được cấu hình trong Xcode.
  • Bundle Identifier riêng để ký ứng dụng.

Dự án sử dụng OpenSSL làm dependency và cung cấp script để chuẩn bị môi trường cũng như đóng gói file IPA.

7.Một số giới hạn của VibeContainers

7.1Không phải ứng dụng nào cũng chạy được

Một số ứng dụng có thể gặp lỗi hoặc không thể khởi chạy trong LiveContainer.

Đặc biệt, những ứng dụng yêu cầu entitlement đặc biệt hoặc phụ thuộc sâu vào dịch vụ hệ thống có khả năng không tương thích.

7.2App Extension bị hạn chế

App Extension của ứng dụng khách không thể hoạt động giống hoàn toàn ứng dụng được cài trực tiếp lên iOS.

SpringBoard không nhận các ứng dụng bên trong VibeContainers như những ứng dụng độc lập thông thường, vì vậy một số extension sẽ không thể đăng ký với hệ thống.

7.3Remote Push Notification không hoạt động

Các ứng dụng khách hiện không thể sử dụng Remote Push Notification theo cách thông thường.

Đây là điểm cần chú ý nếu muốn chạy những ứng dụng phụ thuộc nhiều vào thông báo đẩy.

8.Lưu ý bảo mật: Container không đồng nghĩa với Sandbox

Một điều rất quan trọng cần hiểu là VibeContainers không phải một lớp sandbox bảo mật giữa các ứng dụng khách.

Các ứng dụng được chạy chung bên trong môi trường của ứng dụng chủ và có khả năng truy cập dữ liệu của các guest app khác.

Vì vậy, người dùng nên hạn chế chạy các ứng dụng chứa dữ liệu đặc biệt nhạy cảm như:

  • Ứng dụng ngân hàng.
  • Ví điện tử.
  • Trình quản lý mật khẩu.
  • Ứng dụng xác thực hai lớp.
  • Tài khoản chứa dữ liệu quan trọng. Đặc biệt khi VibeContainers vẫn đang là một dự án còn khá mới.

9.Mã nguồn mở

VibeContainers được phát hành dưới giấy phép:

  • GNU Affero General Public License v3.0 – AGPL-3.0

Mã nguồn LiveContainer được tích hợp trực tiếp vào repository, trong khi OpenSSL được quản lý dưới dạng submodule.

Mã nguồn chính thức:

https://github.com/GenericCoding/VibeContainers

CỘNG ĐỒNG

Thảo luận bài viết

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