مكتبة عميل للتطبيقات للتعامل مع اتصالات بروتوكول USBMUX مع أجهزة iOS.
هذا المشروع عبارة عن مكتبة عميل لتوصيلات متعددة الإرسال من أجهزة iOS إلى جانب أدوات سطر الأوامر.
يتم استخدامه بشكل أساسي من قبل التطبيقات التي تستخدم مكتبة LibimobileDevice للتواصل مع الخدمات التي تعمل على أجهزة iOS.
لا تقوم المكتبة بإنشاء اتصال مباشر مع جهاز ولكنه يتطلب الاتصال بمقبس يوفره خفي USBMUXD.
يتم تشغيل Daemon USBMUXD عند تثبيت iTunes على Windows و Mac OS X.
يوفر مشروع LibimobileDevice إعادة تفسير مفتوح المصدر لخفي USBMUXD لاستخدامه على Linux أو كبديل للتواصل مع أجهزة iOS دون الحاجة إلى تثبيت iTunes.
بعض الميزات الرئيسية هي:
iproxy للمنافذ الوكيل للجهازinetcat لفضح الاتصال الخام بالجهازعلاوة على ذلك ، يوفر Build Linux اختياريًا الدعم باستخدام Inootify إذا كان ذلك متاحًا.
تحتاج إلى أن يكون لديك مترجم عمل (GCC/CLANG) وبيئة التطوير المتاحة. يستخدم هذا المشروع Autotools لعملية الإنشاء ، مما يتيح أن يكون لديك خطوات بناء مشتركة عبر منصات مختلفة. فقط المتطلبات المسبقة تختلف ويتم وصفها في هذا القسم.
يتطلب libusbmuxd libplist و libimobilevice-glue. على Linux ، يتطلب أيضًا تثبيت USBMUXD على النظام ، بينما يحتوي MacOS على نسخته الخاصة وعلى حزمة Windows ApplemobileDevicesupport التي توفرها. تحقق من مبنى Libplist و LibimobileDevice-Glue في قسم ReadMe المعني حول كيفية بنائها. لاحظ أن بعض المنصات قد يكون لها كحزمة.
sudo apt-get install
build-essential
pkg-config
checkinstall
git
autoconf
automake
libtool-bin
libplist-dev
libimobiledevice-glue-dev
usbmuxd تأكد من تثبيت أدوات سطر أوامر Xcode. ثم ، استخدم Macports أو Homebrew لتثبيت automake أو autoconf و libtool ، إلخ.
باستخدام macports:
sudo port install libtool autoconf automake pkgconfigباستخدام Homebrew:
brew install libtool autoconf automake pkg-configاستخدام MSYS2 هو الطريقة الرسمية لتجميع هذا المشروع على Windows. قم بتنزيل مثبت MSYS2 واتبع خطوات التثبيت.
يوصى باستخدام قذيفة MSYS2 Mingw 64 بت . قم بتشغيله وتأكد من تثبيت التبعيات المطلوبة:
pacman -S base-devel
git
mingw-w64-x86_64-gcc
make
libtool
autoconf
automake-wrapper
pkg-configملاحظة: يمكنك استخدام غلاف مختلف ومترجم مختلف وفقًا لاحتياجاتك. تكييف الأمر أعلاه وفقًا لذلك.
يمكنك إنشاء الرمز المصدر من الخروج من GIT ، أو من .tar.bz2 Tarball من الإصدارات. قبل أن نتمكن من بنائه ، يجب تكوين شجرة المصدر للبناء. تعتمد الخطوات على المكان الذي حصلت فيه على المصدر.
نظرًا لأن libusbmuxd يعتمد على الحزم الأخرى ، يجب عليك تعيين متغير بيئة PKG-Config PKG_CONFIG_PATH وفقًا لذلك. تأكد من استخدام مسار مع نفس البادئة مثل التبعيات. إذا تم تثبيتها في /usr/local ستفعلها
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfigمن git
إذا لم تكن قد فعلت ذلك بالفعل ، فقم باستنساخ مستودع المشروع الفعلي ويتحول إلى الدليل.
git clone https://github.com/libimobiledevice/libusbmuxd
cd libusbmuxdتكوين شجرة المصدر للبناء:
./autogen.shمن إطلاق Tarball (.Tar.BZ2)
عند استخدام Tarball Release الرسمي ( libusbmuxd-xyztar.bz2 ) يكون الإجراء مختلفًا قليلاً.
استخراج كرة القضبان:
tar xjf libusbmuxd-x.y.z.tar.bz2
cd libusbmuxd-x.y.zتكوين شجرة المصدر للبناء:
./configure configure ./configure --prefix ./autogen.sh يمكنك ببساطة تمريرهم مثل هذا:
./autogen.sh --prefix=/usr/localأو
./configure --prefix=/usr/localبمجرد نجاح الأمر ، ستبدو الأسطر القليلة الأخيرة من الإخراج هكذا:
[...]
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Configuration for libusbmuxd 2.1.0:
-------------------------------------------
Install prefix: .........: /usr/local
inotify support (Linux) .: no
Now type 'make' to build libusbmuxd 2.1.0,
and then 'make install' for installation.
تتيح هذه الأداة المساعدة ربط منافذ TCP المحلية بحيث يتم إعادة توجيه اتصال بواحد (أو أكثر) من المنافذ المحلية إلى المنفذ المحدد (أو المنافذ) على جهاز USBMUX.
ربط منفذ TCP المحلي 2222 وإلى الأمام إلى المنفذ 22 من الجهاز الأول المتصل عبر USB:
iproxy 2222:22 هذا من شأنه أن يسمح باستخدام SSH مع localhost:2222 للاتصال بالخفي SSHD على الجهاز. يرجى الاعتماد على أن هذا مجرد مثال وأن SSHD Daemon متاح فقط للأجهزة المكسورة التي تم تثبيتها بالفعل.
يرجى الرجوع إلى معلومات الاستخدام أو الصفحة اليدوية للحصول على وثائق كاملة لخيارات سطر الأوامر المتاحة:
iproxy --help
man iproxyهذه الأداة المساعدة هي أداة بسيطة تشبه Netcat تتيح فتح واجهة قراءة/كتابة إلى منفذ TCP على جهاز USBMUX وفضحه عبر stdin/stdout.
استخدم SSH ProxyCommand للاتصال بجهاز iOS من Jailbroken عبر SSH:
ssh -oProxyCommand= " inetcat 22 " root@localhostيرجى الرجوع إلى معلومات الاستخدام أو الصفحة اليدوية للحصول على وثائق كاملة لخيارات سطر الأوامر المتاحة:
inetcat --help
man inetcat يسمح متغير البيئة USBMUXD_SOCKET_ADDRESS بتغيير موقع مقبس USBMUXD بعيدًا عن المقبس الافتراضي المحلي.
مثال على استخدام الأداة المساعدة من مشروع LibimobileDevice مع مقبس USBMUXD مكشوف على منفذ مضيف بعيد:
export USBMUXD_SOCKET_ADDRESS=192.168.179.1:27015
ideviceinfo هذا يعين عنوان مقبس USBMUXD إلى 192.168.179.1:27015 للتطبيقات التي تستخدم مكتبة libusbmuxd.
نرحب بالمساهمات من أي شخص ونشعر بالامتنان لكل طلب سحب!
إذا كنت ترغب في المساهمة ، فالرجاء تافهة الفرع master ، وتغيير ، والالتزام وإرسال طلب سحب للمراجعة. بمجرد الموافقة عليها ، يمكن دمجها في قاعدة الكود الرئيسية.
إذا كنت تخطط للمساهمة في تغييرات أكبر أو إعادة بناء كبيرة ، فيرجى إنشاء تذكرة أولاً لمناقشة الفكرة مقدمًا لضمان جهد أقل للجميع.
يرجى التأكد من أن مساهمتك تلتزم بـ:
تم ترخيص هذه المكتبة بموجب ترخيص GNU Lesser General Public V2.1 ، كما تم تضمينه في المستودع في ملف COPYING .
المرافق iproxy و inetcat مرخصة بموجب ترخيص GNU العام v2.0.
Apple و iPhone و iPad و iPod و iPod Touch و Apple TV و Apple Watch و Mac و iOS و iPados و TVOS و Watchos و MacOS هي علامات تجارية لشركة Apple Inc.
هذا المشروع هو مكتبة برمجيات مستقلة ولم يتم تفويضها أو رعايتها أو الموافقة عليها بطريقة أخرى من قبل Apple Inc.
تم تحديث ReadMe في: 2024-10-22