3 पॉइंट द्वारा GN⁺ 2024-08-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Docker-OSX

Docker-OSX परिचय

  • Docker-OSX एक प्रोजेक्ट है जो Docker कंटेनर में macOS चलाने की सुविधा देता है।
  • यह X11 forwarding, iMessage security research, iPhone USB support जैसी कई सुविधाएँ प्रदान करता है।
  • Linux और Windows पर macOS security research की जा सकती है।

कम्युनिटी और सपोर्ट

  • Docker-OSX Discord और Telegram सर्वर चलाता है।
  • सवालों या आइडियाज़ को साझा करने के लिए एक सक्रिय कम्युनिटी मौजूद है।
  • व्यक्तिगत पूछताछ LinkedIn या Sick.Codes वेबसाइट के माध्यम से की जा सकती है।

लेखक और योगदानकर्ता

  • इस प्रोजेक्ट का रखरखाव Sick.Codes करता है।
  • अतिरिक्त योगदानकर्ताओं की सूची GitHub पर देखी जा सकती है।
  • OSX-KVM और KVM-OpenCore प्रोजेक्ट्स को धन्यवाद दिया गया है।

क्विक स्टार्ट गाइड

  • वीडियो इंस्टॉलेशन ट्यूटोरियल उपलब्ध है।
  • Windows उपयोगकर्ता अतिरिक्त नोट्स देखें।
  • Catalina, Big Sur, Monterey, Ventura, Sonoma सहित macOS के कई वर्ज़न सपोर्ट किए जाते हैं।

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

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

पुराने सिस्टम

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

इमेज को मैन्युअली डाउनलोड करके उपयोग करना

  • अगर Docker का CDN धीमा हो, तो इमेज को मैन्युअली डाउनलोड करके इस्तेमाल किया जा सकता है।
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 के लिए कई तरीके उपलब्ध हैं।
  • डेस्कटॉप PC पर @Silfalion के निर्देशों का पालन किया जा सकता है।
  • लैपटॉप पर usbfluxd का उपयोग करके network-style passthrough किया जा सकता है।

परफॉर्मेंस ऑप्टिमाइज़ेशन

  • osx-optimizer का उपयोग करके परफॉर्मेंस बेहतर की जा सकती है।
  • GUI login screen को skip करना, Spotlight indexing को disable करना जैसे कई optimization options उपलब्ध हैं।

डिस्क स्पेस बढ़ाना

  • /var/lib/docker को external drive पर ले जाकर डिस्क स्पेस खाली किया जा सकता है।
  • विस्तृत ट्यूटोरियल Sick.Codes वेबसाइट पर उपलब्ध है।

तकनीकी विवरण

  • macOS के कई वर्ज़न सपोर्ट किए जाते हैं: High Sierra, Mojave, Catalina, Big Sur, Monterey, Ventura, Sonoma।
  • iPhone OSX KVM, folder sharing, USB passthrough, SSH और VNC का सपोर्ट।
  • X11 forwarding और QEMU + KVM आधारित रनटाइम।

आवश्यकताएँ

  • कम से कम 20GB डिस्क स्पेस आवश्यक है।
  • BIOS settings में virtualization सक्षम होना चाहिए।
  • x86_64 KVM host आवश्यक है।

TODO

  • security research के लिए documentation।
  • GPU acceleration support।
  • virt-manager support।

Docker इमेज

  • Docker Hub से Docker-OSX इमेज डाउनलोड की जा सकती है।

Kubernetes support

  • Docker-OSX Kubernetes को सपोर्ट करता है।
  • Kubernetes Helm Chart और documentation को helm डायरेक्टरी में देखा जा सकता है।

सपोर्ट

  • छोटे सवाल या issues के लिए GitHub issues के माध्यम से संपर्क किया जा सकता है।
  • प्रोफेशनल सपोर्ट सेवाएँ भी उपलब्ध हैं।

लाइसेंस और योगदान

  • Docker-OSX GPL v3+ लाइसेंस का पालन करता है।
  • योगदान का स्वागत है, और contributors की सूची GitHub पर देखी जा सकती है।

समान प्रोजेक्ट्स

  • Dock Droid: Docker कंटेनर में Android चलाना।
  • Docker-eyeOS: Docker कंटेनर में iOS 12 चलाना।
  • Bluebubbles.app: Docker में iMessage relayer चलाना।

अस्वीकरण

  • यदि आपको Apple security research में रुचि है, तो यह प्रोजेक्ट उपयोगी हो सकता है।
  • Hackintosh, OSX-KVM, Docker-OSX से जुड़े कानूनी मुद्दों की ज़िम्मेदारी संबंधित उपयोगकर्ता की होगी।

GN⁺ का सारांश

  • Docker-OSX एक उपयोगी टूल है जो Docker कंटेनर में macOS चलाने की सुविधा देता है।
  • यह macOS के कई वर्ज़न सपोर्ट करता है और security research व development के लिए उपयोगी है।
  • कम्युनिटी सपोर्ट सक्रिय है, और यह कई installation व optimization options प्रदान करता है।
  • समान कार्यक्षमता वाले प्रोजेक्ट्स में Dock Droid और Docker-eyeOS शामिल हैं।

1 टिप्पणियां

 
GN⁺ 2024-08-01
Hacker News की राय
  • GPU acceleration के लिए PCI passthrough के ज़रिए समर्थित dGPU (AMD RX 6xxx या उससे ऊपर) का उपयोग करना होगा

    • Intel iGPU Comet Lake और कुछ Ice Lake तक काम करता है, लेकिन नए versions काम नहीं करते
    • Apple Silicon build वाले macOS का emulation फिलहाल संभव नहीं लगता
    • Intel VT-x के AMD में न होने की वजह से AMD host पर virtualization संभव नहीं है
    • पुराने VirtualBox version के साथ emulation के ज़रिए Docker चलाने का एक तरीका है
  • संबंधित projects:

    • Docker-OSX: Docker में macOS VM चलाना
    • macOS in QEMU in Docker: QEMU में macOS चलाना
  • Sick Codes के साथ एक इंटरव्यू में इस product के approach पर चर्चा की गई है

    • OSX-PROXMOX: Proxmox home server पर मिलती-जुलती functionality देने वाला project
    • HP Z420 Xeon पर उपयोग में है, और GPU passthrough के साथ बहुत stable है
  • home server पर iCloud sync चलाना अच्छा रहेगा

    • अभी iCloud को home server/NAS पर physically backup करने का कोई अच्छा तरीका नहीं है
  • यह project फिलहाल सिर्फ x86-64 Docker images देता है, aarch64 नहीं

  • iOS build आज़माना चाहूँगा

    • Unity, React Native आदि का उपयोग करके build की संभावना तलाशना चाहता हूँ
    • build time 5 गुना ज़्यादा लगे तब भी freedom के हिसाब से यह अच्छा लगेगा
  • QEMU container में चलता है, और उसके अंदर macOS चलता है

    • install करना बहुत आसान है और manual setup steps नहीं हैं
    • यह macOS EULA का स्पष्ट उल्लंघन हो सकता है
    • Apple software सिर्फ Apple-branded computers पर ही चल सकता है
    • project को download करके सुरक्षित रखने की सलाह है, क्योंकि कानूनी चेतावनी मिल सकती है
  • सोच रहा हूँ कि क्या macOS images को redistribute करना license के तहत अनुमति है

    • यह भी सवाल है कि क्या यह project Docker Hub पर illegal copies distribute कर रहा है
  • सोच रहा हूँ कि जब Intel support के बिना नया macOS version आएगा तो क्या प्रगति रुक जाएगी

    • यह भी सोच रहा हूँ कि क्या इस container के अंदर Docker चलाकर macOS के अंदर macOS चलाया जा सकता है
  • मुझे "USB passthrough" शब्द का गलत इस्तेमाल पसंद नहीं है

    • असल में "USB over ethernet proxy" इस्तेमाल होता है
    • इससे कई ऐसे नुकसान होते हैं जो सामान्य passthrough में नहीं होते