iOS 장치와 USBMUX 프로토콜 연결을 처리하기위한 응용 프로그램을위한 클라이언트 라이브러리.
이 프로젝트는 명령 줄 유틸리티와 함께 iOS 장치에서 멀티 플렉스 연결을위한 클라이언트 라이브러리입니다.
주로 iOS 장치에서 실행되는 서비스와 통신하기 위해 LibimoBiledevice 라이브러리를 사용하는 응용 프로그램에서 주로 사용됩니다.
라이브러리는 장치와 직접 연결되지 않지만 USBMUXD 데몬이 제공하는 소켓에 연결해야합니다.
USBMUXD 데몬은 Windows 및 Mac OS X에 iTunes를 설치할 때 실행 중입니다.
Libimobiledevice 프로젝트는 Linux에서 사용할 USBMUXD 데몬의 오픈 소스 상환을 제공하거나 iTunes를 설치할 필요없이 iOS 장치와 통신하는 대안으로 제공합니다.
몇 가지 주요 기능은 다음과 같습니다.
iproxy 유틸리티를 제공합니다.inetcat 유틸리티를 제공합니다.또한 Linux 빌드는 선택적으로 사용 가능한 경우 Inotify를 사용하여 지원을 제공합니다.
작업 컴파일러 (GCC/Clang)와 개발 환경이 있어야합니다. 이 프로젝트는 빌드 프로세스에 자동 툴을 사용하여 다른 플랫폼에서 공통 빌드 단계를 가질 수 있습니다. 전제 조건만이 다르며이 섹션에서 설명되어 있습니다.
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홈브류 사용 :
brew install libtool autoconf automake pkg-configMSYS2를 사용하는 것은이 프로젝트를 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 릴리스에서 릴리스에서 소스 코드를 작성할 수 있습니다. 우리가 그것을 만들기 전에, 소스 트리는 빌드를 위해 구성되어야합니다. 단계는 출처를 어디에서 얻었는지에 따라 다릅니다.
libusbmuxd는 다른 패키지에 의존하기 때문에 PKG-Config 환경 변수 PKG_CONFIG_PATH 설정해야합니다. 종속성과 동일한 접두사가있는 경로를 사용하십시오. /usr/local 에 설치되면 그렇게 할 것입니다
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfiggit에서
아직하지 않은 경우 실제 프로젝트 저장소를 복제하고 디렉토리로 변경하십시오.
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 이를 통해 localhost:2222 와 함께 SSH를 사용하여 장치의 SSHD 데몬에 연결할 수 있습니다. 이것은 단지 예일 뿐이며 SSHD 데몬은 실제로 설치 한 Jailbroken 장치에서만 사용할 수 있습니다.
사용 가능한 명령 줄 옵션에 대한 전체 문서를 보려면 사용 정보 또는 설명서 페이지를 참조하십시오.
iproxy --help
man iproxy이 유틸리티는 USBMUX 장치의 TCP 포트에 읽기/쓰기 인터페이스를 열고 STDIN/STDOUT를 통해 노출 할 수있는 간단한 NetCat와 같은 도구입니다.
SSH ProxyCommand를 사용하여 SSH를 통해 JailBroken iOS 장치에 연결하십시오.
ssh -oProxyCommand= " inetcat 22 " root@localhost사용 가능한 명령 줄 옵션에 대한 전체 문서를 보려면 사용 정보 또는 설명서 페이지를 참조하십시오.
inetcat --help
man inetcat 환경 변수 USBMUXD_SOCKET_ADDRESS 통해 USBMUXD 소켓의 위치를 로컬 기본값에서 멀리 변경할 수 있습니다.
원격 호스트의 포트에 노출 된 USBMUXD 소켓을 사용하여 LibimoBileDevice 프로젝트의 유틸리티를 사용하는 예 :
export USBMUXD_SOCKET_ADDRESS=192.168.179.1:27015
ideviceinfo LibusBMUXD 라이브러리를 사용하는 응용 프로그램의 경우 USBMUXD 소켓 주소를 192.168.179.1:27015 로 설정합니다.
우리는 모든 사람의 기여를 환영하며 모든 풀 요청에 대해 감사합니다!
기여하고 싶다면 master 브랜치를 포크하고, 변경, 커밋 및 검토 요청을 보내십시오. 일단 승인되면 주 코드 기반으로 병합 될 수 있습니다.
더 큰 변경 사항이나 주요 리팩토링을 제공 할 계획이라면 먼저 티켓을 만들어 아이디어를 선불에 대해 논의하여 모든 사람을위한 노력을 덜 보장하십시오.
귀하의 기여가 다음을 준수하는지 확인하십시오.
이 라이브러리는 COPYING 파일의 저장소에 포함 된 GNU Lesser General Public License v2.1에 따라 라이센스가 부여됩니다.
유틸리티 iproxy 및 inetcat GNU General Public License v2.0에 따라 라이센스가 부여됩니다.
Apple, iPhone, iPad, iPod, iPod T
이 프로젝트는 독립 소프트웨어 라이브러리이며 Apple Inc.에서 승인, 후원 또는 다른 승인을받지 않았습니다.
ReadMe 업데이트 : 2024-10-22