ไลบรารีไคลเอนต์สำหรับแอปพลิเคชันเพื่อจัดการการเชื่อมต่อโปรโตคอล USBMUX กับอุปกรณ์ iOS
โครงการนี้เป็นไลบรารีไคลเอนต์ไปยังการเชื่อมต่อแบบมัลติเพล็กซ์จากและไปยังอุปกรณ์ iOS ควบคู่ไปกับยูทิลิตี้บรรทัดคำสั่ง
มันถูกใช้เป็นหลักโดยแอปพลิเคชันที่ใช้ไลบรารี Libimobiledevice เพื่อสื่อสารกับบริการที่ทำงานบนอุปกรณ์ iOS
ห้องสมุดไม่ได้สร้างการเชื่อมต่อโดยตรงกับอุปกรณ์ แต่ต้องเชื่อมต่อกับซ็อกเก็ตที่จัดทำโดย USBMuxd daemon
USBMUXD Daemon กำลังทำงานเมื่อติดตั้ง iTunes บน Windows และ Mac OS X
โครงการ Libimobiledevice ให้การปรับปรุงโอเพนซอร์ซของ USBMuxd daemon เพื่อใช้กับ Linux หรือเป็นทางเลือกในการสื่อสารกับอุปกรณ์ iOS โดยไม่จำเป็นต้องติดตั้ง iTunes
คุณสมบัติที่สำคัญบางอย่างคือ:
iproxy ให้กับพอร์ตพร็อกซีไปยังอุปกรณ์inetcat เพื่อเปิดเผยการเชื่อมต่อแบบดิบกับอุปกรณ์นอกจากนี้ Linux Build ยังให้การสนับสนุนโดยใช้ Inotify หากมี
คุณต้องมีคอมไพเลอร์ที่ใช้งานได้ (GCC/Clang) และสภาพแวดล้อมการพัฒนาที่มีอยู่ โครงการนี้ใช้ autotools สำหรับกระบวนการสร้างช่วยให้มีขั้นตอนการสร้างทั่วไปในแพลตฟอร์มที่แตกต่างกัน มีเพียงข้อกำหนดเบื้องต้นที่แตกต่างกันและอธิบายไว้ในส่วนนี้
libusbmuxd ต้องการ libplist และ libimobiledevice-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 และทำตามขั้นตอนการติดตั้ง
ขอแนะนำให้ใช้เชลล์ 64 บิต MSYS2 MINGW เรียกใช้และตรวจสอบให้แน่ใจว่ามีการติดตั้งการพึ่งพาที่ต้องการ:
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 อย่างเป็นทางการ ( libusbmuxd-xyztar.bz2 ) ขั้นตอนจะแตกต่างกันเล็กน้อย
สกัด tarball:
tar xjf libusbmuxd-x.y.z.tar.bz2
cd libusbmuxd-x.y.zกำหนดค่าแผนผังต้นทางสำหรับการสร้าง:
./configure ทั้ง ./configure และ ./autogen.sh (ซึ่งสร้างและ configure การโทร) ยอมรับตัวเลือกสองสามตัวตัวอย่างเช่น --prefix เพื่อให้สามารถสร้างโฟลเดอร์เป้าหมายที่แตกต่างกัน คุณสามารถผ่านพวกเขาเช่นนี้ได้:
./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 daemon บนอุปกรณ์ โปรดทราบว่านี่เป็นเพียงตัวอย่างและ SSHD daemon มีให้เฉพาะสำหรับอุปกรณ์เจลเบรคที่ติดตั้งจริง
โปรดปรึกษาข้อมูลการใช้งานหรือหน้าคู่มือสำหรับเอกสารฉบับเต็มของตัวเลือกบรรทัดคำสั่งที่มีอยู่:
iproxy --help
man iproxyยูทิลิตี้นี้เป็นเครื่องมือคล้าย NetCat ที่ง่าย ๆ ที่อนุญาตให้เปิดอินเทอร์เฟซอ่าน/เขียนไปยังพอร์ต TCP บนอุปกรณ์ USBMUX และเปิดเผยผ่าน STDIN/STDOUT
ใช้ SSH ProxyCommand เพื่อเชื่อมต่อกับอุปกรณ์ Jailbroken iOS ผ่าน 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 ทั่วไป 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