3 puan yazan GN⁺ 2024-08-01 | 1 yorum | WhatsApp'ta paylaş

Docker-OSX

Docker-OSX’e giriş

  • Docker-OSX, Docker konteyneri içinde macOS çalıştırmayı mümkün kılan bir projedir.
  • X11 forwarding, iMessage güvenlik araştırması, iPhone USB çalıştırma gibi çeşitli özellikler sunar.
  • Linux ve Windows üzerinde macOS güvenlik araştırması yapılabilir.

Topluluk ve destek

  • Docker-OSX, Discord ve Telegram sunucuları işletmektedir.
  • Soruların veya fikirlerin paylaşılabileceği aktif bir topluluk vardır.
  • Kişisel iletişim için LinkedIn veya Sick.Codes web sitesi kullanılabilir.

Yazar ve katkıda bulunanlar

  • Bu projenin bakımı Sick.Codes tarafından yapılmaktadır.
  • Ek katkıda bulunanların listesi GitHub’da görülebilir.
  • OSX-KVM ve KVM-OpenCore projelerine teşekkür edilmektedir.

Hızlı başlangıç kılavuzu

  • Video kurulum öğreticisi sunulmaktadır.
  • Windows kullanıcıları ek notları kontrol etmelidir.
  • Catalina, Big Sur, Monterey, Ventura, Sonoma gibi çeşitli macOS sürümleri desteklenmektedir.

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

Önceden kurulmuş 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

Eski sistemler

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

İmajı elle indirip kullanma

  • Docker’ın CDN’i yavaşsa imaj elle indirilip kullanılabilir.
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

iPhone USB passthrough

  • iPhone USB passthrough için çeşitli yöntemler sunulmaktadır.
  • Masaüstü PC’lerde @Silfalion’ın yönergeleri izlenebilir.
  • Dizüstü bilgisayarlarda usbfluxd kullanılarak ağ tarzı passthrough yapılabilir.

Performans optimizasyonu

  • osx-optimizer kullanılarak performans artırılabilir.
  • GUI giriş ekranını atlama, Spotlight indekslemeyi devre dışı bırakma gibi çeşitli optimizasyon seçenekleri sunulmaktadır.

Disk alanını artırma

  • Disk alanı açmak için /var/lib/docker harici bir sürücüye taşınabilir.
  • Ayrıntılı öğretici Sick.Codes web sitesinde bulunabilir.

Teknik ayrıntılar

  • Çeşitli macOS sürümleri desteklenmektedir: High Sierra, Mojave, Catalina, Big Sur, Monterey, Ventura, Sonoma.
  • iPhone OSX KVM, klasör paylaşımı, USB passthrough, SSH ve VNC desteği sunulmaktadır.
  • X11 forwarding ile QEMU + KVM tabanlı çalıştırma sağlanmaktadır.

Gereksinimler

  • En az 20GB disk alanı gereklidir.
  • BIOS ayarlarında sanallaştırmanın etkinleştirilmesi gerekir.
  • x86_64 KVM host gereklidir.

TODO

  • Güvenlik araştırması için dokümantasyon.
  • GPU hızlandırma desteği.
  • virt-manager desteği.

Docker imajları

  • Docker-OSX imajları Docker Hub’dan indirilebilir.

Kubernetes desteği

  • Docker-OSX, Kubernetes’i desteklemektedir.
  • Kubernetes Helm Chart ve dokümantasyon helm dizininde görülebilir.

Destek

  • Küçük sorular veya sorunlar GitHub issue’ları üzerinden iletilebilir.
  • Profesyonel destek hizmeti de sunulmaktadır.

Lisans ve katkı

  • Docker-OSX, GPL v3+ lisansı ile sunulmaktadır.
  • Katkılar memnuniyetle karşılanır; katkıda bulunanların listesi GitHub’da görülebilir.

Benzer projeler

  • Dock Droid: Docker konteynerinde Android çalıştırma.
  • Docker-eyeOS: Docker konteynerinde iOS 12 çalıştırma.
  • Bluebubbles.app: Docker’da iMessage relay çalıştırma.

Sorumluluk reddi

  • Apple güvenlik araştırmasıyla ilgileniyorsanız bu proje faydalı olabilir.
  • Hackintosh, OSX-KVM ve Docker-OSX’in hukuki meseleleri herkesin kendi sorumluluğundadır.

GN⁺ özeti

  • Docker-OSX, Docker konteyneri içinde macOS çalıştırmayı mümkün kılan kullanışlı bir araçtır.
  • Çeşitli macOS sürümlerini destekler ve güvenlik araştırması ile geliştirme için faydalıdır.
  • Topluluk desteği aktiftir ve çeşitli kurulum ile optimizasyon seçenekleri sunar.
  • Benzer işlevlere sahip projeler arasında Dock Droid ve Docker-eyeOS bulunur.

1 yorum

 
GN⁺ 2024-08-01
Hacker News görüşleri
  • GPU hızlandırması için PCI passthrough üzerinden desteklenen bir dGPU (AMD RX 6xxx ve üzeri) kullanmak gerekiyor

    • Intel iGPU, Comet Lake ve bazı Ice Lake sürümlerine kadar çalışıyor, ancak daha yeni sürümler çalışmıyor
    • Apple Silicon yapılarındaki macOS’un bir süre daha emüle edilemeyeceği görünüyor
    • Intel VT-x AMD’de bulunmadığı için AMD host üzerinde sanallaştırma mümkün değil
    • Eski VirtualBox sürümleriyle Docker’ı emülasyon üzerinden çalıştırmanın bir yolu var
  • İlgili projeler:

    • Docker-OSX: Docker içinde macOS VM çalıştırma
    • macOS in QEMU in Docker: Docker içinde QEMU’da macOS çalıştırma
  • Sick Codes ile yapılan bir röportajda bu ürüne yaklaşım tartışılıyor

    • OSX-PROXMOX: Proxmox ev sunucusunda benzer işlev sunan bir proje
    • HP Z420 Xeon üzerinde kullanılıyor ve GPU passthrough ile birlikte oldukça stabil
  • Ev sunucusunda iCloud senkronizasyonu çalıştırmak güzel olurdu

    • Şu anda iCloud’u ev sunucusuna/NAS’e fiziksel olarak yedeklemenin iyi bir yolu yok
  • Bu proje şu anda yalnızca x86-64 Docker image’ları sunuyor, aarch64 sunmuyor

  • iOS build denemek istiyorum

    • Unity, React Native vb. kullanarak build olasılıklarını keşfetmek istiyorum
    • Build süresi 5 kat daha uzun sürse bile, özgürlük açısından harika olurdu
  • QEMU bir container içinde çalışıyor ve onun içinde macOS çalışıyor

    • Kurulum çok kolay ve manuel yapılandırma adımı yok
    • macOS EULA’sını açıkça ihlal etme ihtimali var
    • Apple yazılımı yalnızca Apple markalı bilgisayarlarda çalıştırılabilir
    • Projeyi indirip arşivlemeniz öneriliyor; yasal uyarı alabilir
  • macOS image’larının yeniden dağıtımına lisansın izin verip vermediğini merak ediyorum

    • Bu projenin Docker Hub üzerinde yasa dışı kopyalar dağıtıp dağıtmadığı soru işareti
  • Intel desteği olmayan yeni bir macOS sürümü çıktığında ilerleme durur mu diye merak ediyorum

    • Bu container içinde Docker çalıştırarak macOS’u macOS içinde çalıştırmanın mümkün olup olmadığını merak ediyorum
  • "USB passthrough" teriminin yanlış kullanılmasından hoşlanmıyorum

    • Aslında "USB over ethernet proxy" kullanılıyor
    • Bu da normal passthrough’da olmayan çeşitli dezavantajlara yol açıyor