用于处理使用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