3 poin oleh GN⁺ 2024-08-01 | 1 komentar | Bagikan ke WhatsApp

Docker-OSX

Pengenalan Docker-OSX

  • Docker-OSX adalah proyek yang memungkinkan menjalankan macOS di dalam kontainer Docker.
  • Menyediakan berbagai fitur seperti X11 forwarding, riset keamanan iMessage, dan penggunaan USB iPhone.
  • Memungkinkan riset keamanan macOS dilakukan di Linux dan Windows.

Komunitas dan dukungan

  • Docker-OSX mengoperasikan server Discord dan Telegram.
  • Terdapat komunitas aktif untuk berbagi pertanyaan maupun ide.
  • Pertanyaan pribadi dapat disampaikan melalui LinkedIn atau situs web Sick.Codes.

Penulis dan kontributor

  • Proyek ini dikelola oleh Sick.Codes.
  • Daftar kontributor tambahan dapat dilihat di GitHub.
  • Ucapan terima kasih disampaikan kepada proyek OSX-KVM dan KVM-OpenCore.

Panduan mulai cepat

  • Tersedia tutorial instalasi dalam bentuk video.
  • Pengguna Windows sebaiknya memeriksa catatan tambahan.
  • Mendukung berbagai versi macOS seperti Catalina, Big Sur, Monterey, Ventura, dan Sonoma.

Catalina

docker run -it \
  --device /dev/kvm \
  -p 50922:10022 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e "DISPLAY=${DISPLAY:-:0.0}" \
  sickcodes/docker-osx:latest

Big Sur

docker run -it \
  --device /dev/kvm \
  -p 50922:10022 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e "DISPLAY=${DISPLAY:-:0.0}" \
  sickcodes/docker-osx:big-sur

Monterey

docker run -it \
  --device /dev/kvm \
  -p 50922:10022 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e "DISPLAY=${DISPLAY:-:0.0}" \
  -e GENERATE_UNIQUE=true \
  -e MASTER_PLIST_URL='https://raw.githubusercontent.com/sickcodes/osx-serial-generator/…' \
  sickcodes/docker-osx:monterey

Ventura

docker run -it \
  --device /dev/kvm \
  -p 50922:10022 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e "DISPLAY=${DISPLAY:-:0.0}" \
  -e GENERATE_UNIQUE=true \
  -e MASTER_PLIST_URL='https://raw.githubusercontent.com/sickcodes/osx-serial-generator/…' \
  sickcodes/docker-osx:ventura

Sonoma

docker run -it \
  --device /dev/kvm \
  -p 50922:10022 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e "DISPLAY=${DISPLAY:-:0.0}" \
  -e GENERATE_UNIQUE=true \
  -e CPU='Haswell-noTSX' \
  -e CPUID_FLAGS='kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on' \
  -e MASTER_PLIST_URL='https://raw.githubusercontent.com/sickcodes/osx-serial-generator/…' \
  sickcodes/docker-osx:sonoma

Pra-instalasi Catalina

docker pull sickcodes/docker-osx:auto
docker run -it \
  --device /dev/kvm \
  -p 50922:10022 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e "DISPLAY=${DISPLAY:-:0.0}" \
  -e GENERATE_UNIQUE=true \
  sickcodes/docker-osx:auto

Sistem lama

High Sierra

docker run -it \
  --device /dev/kvm \
  -p 50922:10022 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e "DISPLAY=${DISPLAY:-:0.0}" \
  sickcodes/docker-osx:high-sierra

Mojave

docker run -it \
  --device /dev/kvm \
  -p 50922:10022 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e "DISPLAY=${DISPLAY:-:0.0}" \
  sickcodes/docker-osx:mojave

Mengunduh dan menggunakan image secara manual

  • Jika CDN Docker lambat, image dapat diunduh dan digunakan secara manual.
wget https://images2.sick.codes/mac_hdd_ng_auto.img
docker run -it \
  --device /dev/kvm \
  -p 50922:10022 \
  -v "${PWD}/mac_hdd_ng_auto.img:/image" \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e "DISPLAY=${DISPLAY:-:0.0}" \
  -e GENERATE_UNIQUE=true \
  -e MASTER_PLIST_URL=https://raw.githubusercontent.com/sickcodes/Docker-OSX/… \
  sickcodes/docker-osx:naked

USB passthrough iPhone

  • Menyediakan berbagai metode untuk USB passthrough iPhone.
  • Di PC desktop, Anda dapat mengikuti panduan dari @Silfalion.
  • Di laptop, passthrough bergaya jaringan dimungkinkan dengan menggunakan usbfluxd.

Optimasi performa

  • Performa dapat ditingkatkan menggunakan osx-optimizer.
  • Menyediakan berbagai opsi optimasi seperti melewati layar login GUI dan menonaktifkan pengindeksan Spotlight.

Menambah ruang disk

  • Ruang disk dapat dihemat dengan memindahkan /var/lib/docker ke drive eksternal.
  • Tutorial rinci dapat dilihat di situs web Sick.Codes.

Detail teknis

  • Mendukung berbagai versi macOS: High Sierra, Mojave, Catalina, Big Sur, Monterey, Ventura, Sonoma.
  • Mendukung iPhone OSX KVM, berbagi folder, USB passthrough, SSH, dan VNC.
  • Menjalankan sistem berbasis X11 forwarding serta QEMU + KVM.

Persyaratan

  • Memerlukan ruang disk minimal 20GB.
  • Virtualisasi harus diaktifkan di pengaturan BIOS.
  • Memerlukan host KVM x86_64.

TODO

  • Dokumentasi untuk riset keamanan.
  • Dukungan akselerasi GPU.
  • Dukungan virt-manager.

Image Docker

  • Image Docker-OSX dapat diunduh dari Docker Hub.

Dukungan Kubernetes

  • Docker-OSX mendukung Kubernetes.
  • Helm Chart Kubernetes dan dokumentasi dapat dilihat di direktori helm.

Dukungan

  • Pertanyaan kecil atau isu dapat diajukan melalui GitHub Issues.
  • Layanan dukungan profesional juga tersedia.

Lisensi dan kontribusi

  • Docker-OSX menggunakan lisensi GPL v3+.
  • Kontribusi disambut, dan daftar kontributor dapat dilihat di GitHub.

Proyek serupa

  • Dock Droid: Menjalankan Android di dalam kontainer Docker.
  • Docker-eyeOS: Menjalankan iOS 12 di dalam kontainer Docker.
  • Bluebubbles.app: Menjalankan relayer iMessage di Docker.

Penafian

  • Jika Anda tertarik pada riset keamanan Apple, proyek ini akan berguna.
  • Masalah hukum terkait Hackintosh, OSX-KVM, dan Docker-OSX merupakan tanggung jawab masing-masing.

Ringkasan GN⁺

  • Docker-OSX adalah alat yang berguna untuk menjalankan macOS di dalam kontainer Docker.
  • Mendukung berbagai versi macOS dan berguna untuk riset keamanan maupun pengembangan.
  • Dukungan komunitasnya aktif, serta menyediakan beragam opsi instalasi dan optimasi.
  • Proyek dengan fungsi serupa antara lain Dock Droid dan Docker-eyeOS.

1 komentar

 
GN⁺ 2024-08-01
Opini Hacker News
  • Untuk akselerasi GPU, harus menggunakan dGPU yang didukung (AMD RX 6xxx atau lebih baru) melalui PCI passthrough

    • Intel iGPU berfungsi hingga Comet Lake dan sebagian Ice Lake, tetapi versi terbaru tidak berfungsi
    • Build macOS untuk Apple Silicon tampaknya tidak akan bisa diemulasikan untuk sementara waktu
    • Virtualisasi tidak dimungkinkan di host AMD karena Intel VT-x tidak ada di AMD
    • Ada cara menjalankan Docker melalui emulasi dengan versi VirtualBox yang lama
  • Proyek terkait:

    • Docker-OSX: Menjalankan VM macOS di Docker
    • macOS in QEMU in Docker: Menjalankan macOS di QEMU
  • Dalam wawancara dengan Sick Codes, dibahas pendekatan terhadap produk ini

    • OSX-PROXMOX: proyek yang menyediakan fungsi serupa di home server Proxmox
    • Digunakan di HP Z420 Xeon dan sangat stabil bersama GPU passthrough
  • Menjalankan sinkronisasi iCloud di home server terdengar keren

    • Saat ini belum ada cara yang baik untuk mencadangkan iCloud secara fisik ke home server/NAS
  • Proyek ini saat ini hanya menyediakan image Docker x86-64, tidak menyediakan aarch64

  • Ingin mencoba build iOS

    • Ingin mengeksplorasi kemungkinan build menggunakan Unity, React Native, dan sebagainya
    • Meski waktu build 5 kali lebih lama, dari sisi kebebasan rasanya tetap keren
  • QEMU berjalan di dalam container, dan di dalamnya macOS berjalan

    • Instalasinya sangat mudah dan tidak ada langkah konfigurasi manual
    • Sangat mungkin melanggar EULA macOS secara terang-terangan
    • Perangkat lunak Apple hanya boleh dijalankan di komputer bermerek Apple
    • Disarankan mengunduh dan menyimpan proyek ini, karena bisa saja menerima peringatan hukum
  • Penasaran apakah mendistribusikan ulang image macOS diizinkan oleh lisensinya

    • Bertanya-tanya apakah proyek ini mendistribusikan salinan ilegal di Docker Hub
  • Penasaran apakah perkembangan ini akan terhenti saat versi macOS terbaru tanpa dukungan Intel dirilis

    • Juga penasaran apakah Docker bisa dijalankan di dalam container ini untuk menjalankan macOS di dalam macOS
  • Tidak suka istilah "USB passthrough" digunakan secara keliru

    • Yang sebenarnya dipakai adalah "USB over ethernet proxy"
    • Ini menimbulkan berbagai kekurangan yang tidak dimiliki passthrough biasa