用於處理使用iOS設備的USBMUX協議連接的應用程序庫。
該項目是一個客戶庫,可與命令行實用程序一起從iOS設備和到iOS設備。
它主要由使用Libimobiledevice庫的應用程序使用,以與在iOS設備上運行的服務進行通信。
該庫不與設備建立直接連接,而需要連接到USBMUXD守護程序提供的套接字。
USBMUXD守護程序正在在Windows和Mac OS X上安裝iTunes時運行。
Libimobiledevice項目提供了用於Linux上使用的USBMUXD守護程序的開源重新實現,或者作為與iOS設備通信的替代方法,而無需安裝iTunes。
一些關鍵功能是:
iproxy實用程序inetcat實用程序,以暴露與設備的原始連接此外,Linux構建可選地使用Inotify提供支持。
您需要有一個可用的編譯器(GCC/CLANG)和開發環境。該項目使用自動工具進行構建過程,從而可以在不同平台上具有通用的構建步驟。只有先決條件有所不同,在本節中進行了描述。
Libusbmuxd需要Libplist和Libimobiledevice-Glue。在Linux上,它還需要在系統上安裝USBMUXD,而MACOS擁有自己的副本,並且在Windows Applemobiledevicesupport Package上提供了usbmuxd。查看Libplist的建築物和Libimobiledevice-Glue的建築部分,以了解如何建造它們。請注意,有些平台可能將它們作為包裝。
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使用自製:
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( 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,然後向前轉到通過USB連接的第一個設備的22端口:
iproxy 2222:22這將允許將SSH與localhost:2222連接到設備上的SSHD守護程序。請注意,這只是一個示例,SSHD守護程序僅適用於實際安裝的越獄設備。
請諮詢使用信息或手動頁面以獲取可用命令行選項的完整文檔:
iproxy --help
man iproxy該實用程序是一種簡單的類似NetCat的工具,它允許在USBMUX設備上的TCP端口打開讀/寫入接口,並通過STDIN/STDOUT將其暴露。
使用SSH ProxyCommand通過SSH連接到越獄的iOS設備:
ssh -oProxyCommand= " inetcat 22 " root@localhost請諮詢使用信息或手動頁面以獲取可用命令行選項的完整文檔:
inetcat --help
man inetcat環境變量USBMUXD_SOCKET_ADDRESS允許將USBMUXD套接字的位置從本地默認值更改。
使用Libimobiledevice項目中使用USBMUXD插座的extost端口上的USBMUXD插座的一個示例:
export USBMUXD_SOCKET_ADDRESS=192.168.179.1:27015
ideviceinfo這將USBMUXD套接字地址設置為使用LibusbmuxD庫的應用程序192.168.179.1:27015 。
我們歡迎任何人的捐款,並感謝每個拉的請求!
如果您想做出貢獻,請分配master分支,更改,提交並發送拉動請求進行審查。批准後,它可以合併到主代碼庫中。
如果您打算貢獻更大的變化或重大重構,請先創建一張票,以預先討論這個想法,以確保每個人的精力減少。
請確保您的貢獻遵循:
該庫是根據GNU較少的通用公共許可證v2.1許可的,該庫也包含在COPYING文件中的存儲庫中。
iproxy和inetcat公用事業是根據GNU通用公共許可證v2.0獲得許可的。
蘋果,iPhone,iPad,iPod,iPod Touch,Apple TV,Apple Watch,Mac,iOS,iPados,TVOS,WatchOS和MacOS是Apple Inc.的商標。
該項目是一個獨立的軟件庫,尚未獲得Apple Inc.的授權,贊助或以其他方式批准。
README更新:2024-10-22