Eine Client -Bibliothek für Anwendungen, um USBMUX -Protokollverbindungen mit iOS -Geräten zu verarbeiten.
Dieses Projekt ist eine Client-Bibliothek, die neben den Befehlszeilen-Dienstprogrammen von und zu iOS-Geräten von und zu iOS-Geräten ausgeht.
Es wird hauptsächlich von Anwendungen verwendet, die die Bibliothek LibimobileDevice verwenden, um mit Diensten zu kommunizieren, die auf iOS -Geräten ausgeführt werden.
Die Bibliothek stellt keine direkte Verbindung mit einem Gerät her, muss jedoch eine Verbindung zu einem vom USBMUXD -Daemon bereitgestellten Socket herstellen.
Der USBMUXD -Daemon wird ausgeführt, wenn iTunes unter Windows und Mac OS X installiert wird.
Das LibimobileDevice-Projekt bietet eine Open-Source-Neuimplementierung des USBMUXD-Daemons für Linux oder als Alternative zur Kommunikation mit iOS-Geräten, ohne iTunes zu installieren.
Einige wichtige Funktionen sind:
iproxy -Dienstprogramm für Proxy -Ports für das Gerätinetcat -Dienstprogramm, um eine Rohverbindung mit dem Gerät aufzusetzenDarüber hinaus bietet der Linux -Build optional Unterstützung bei der Verwendung von Inotify, sofern verfügbar.
Sie müssen einen Arbeitskompiler (GCC/Clang) und eine Entwicklungsumgebung zur Verfügung haben. Dieses Projekt verwendet Autotools für den Build -Prozess, sodass gemeinsame Build -Schritte über verschiedene Plattformen hinweg auftreten können. Nur die Voraussetzungen unterscheiden sich und sie werden in diesem Abschnitt beschrieben.
libusbmuxd benötigt Libplist und LibimobileDevice-glue. Unter Linux müssen auch USBMUXD auf dem System installiert werden, während MacOS über eine eigene Kopie verfügt und auf Windows ApplemobileDevicesupport -Paket es bietet. Überprüfen Sie das Gebäude von LiBLIST und LibimobileDevice-Glues Gebäudeabschnitt der jeweiligen Readme, um sie zu bauen. Beachten Sie, dass einige Plattformen sie möglicherweise als Paket haben.
sudo apt-get install
build-essential
pkg-config
checkinstall
git
autoconf
automake
libtool-bin
libplist-dev
libimobiledevice-glue-dev
usbmuxd Stellen Sie sicher, dass die Xcode -Befehlszeilen -Tools installiert sind. Verwenden Sie dann entweder MacPorts oder Homebrew, um automake , autoconf , libtool usw. zu installieren.
Verwenden von MacPorts:
sudo port install libtool autoconf automake pkgconfigMit Homebrew:
brew install libtool autoconf automake pkg-configDie Verwendung von MSYS2 ist die offizielle Art, dieses Projekt unter Windows zusammenzustellen. Laden Sie den MSYS2 -Installationsprogramm herunter und befolgen Sie die Installationsschritte.
Es wird empfohlen, die MSYS2 Mingw 64-Bit -Schale zu verwenden. Führen Sie es aus und stellen Sie sicher, dass die erforderlichen Abhängigkeiten installiert sind:
pacman -S base-devel
git
mingw-w64-x86_64-gcc
make
libtool
autoconf
automake-wrapper
pkg-configHinweis: Sie können eine andere Shell und einen anderen Compiler entsprechend Ihren Anforderungen verwenden. Passen Sie den obigen Befehl entsprechend an.
Sie können den Quellcode aus einer Git -Kasse oder aus einem .tar.bz2 -Release -Tarball aus Releases erstellen. Bevor wir es bauen können, muss der Quellbaum für das Gebäude konfiguriert werden. Die Schritte hängen davon ab, woher Sie die Quelle bekommen.
Da libusbmuxd von anderen Paketen abhängt, sollten Sie die Variable der PKG-Config-Umgebung PKG_CONFIG_PATH entsprechend festlegen. Stellen Sie sicher, dass Sie einen Pfad mit demselben Präfix wie die Abhängigkeiten verwenden. Wenn sie in /usr/local installiert sind, würden Sie dies tun
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfigAus Git
Wenn Sie es noch nicht getan haben, klonen Sie das eigentliche Projektrepository und wechseln Sie in das Verzeichnis.
git clone https://github.com/libimobiledevice/libusbmuxd
cd libusbmuxdKonfigurieren Sie den Quellbaum zum Erstellen:
./autogen.shAus Release Tarball (.tar.bz2)
Bei Verwendung eines offiziellen Release-Tarballs ( libusbmuxd-xyztar.bz2 ) ist das Verfahren geringfügig unterschiedlich.
Den Tarball extrahieren:
tar xjf libusbmuxd-x.y.z.tar.bz2
cd libusbmuxd-x.y.zKonfigurieren Sie den Quellbaum zum Erstellen:
./configure Beide ./configure und ./autogen.sh (das generiert und auf Anrufe configure ) akzeptieren einige Optionen, z. B. --prefix , damit das Erstellen eines anderen Zielordners erstellt wird. Sie können sie einfach so weitergeben:
./autogen.sh --prefix=/usr/localoder
./configure --prefix=/usr/localSobald der Befehl erfolgreich ist, sehen die letzten Ausgangszeilen wie folgt aus:
[...]
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.
Dieses Dienstprogramm ermöglicht das Binden lokaler TCP -Ports so, dass eine Verbindung zu einem (oder mehr) der lokalen Ports an einem USBMUX -Gerät an den angegebenen Port (oder Ports) weitergeleitet wird.
Binden Sie den lokalen TCP -Port 2222 und leiten Sie an Port 22 des ersten Geräts über USB vor:
iproxy 2222:22 Dies würde es ermöglichen, SSH mit localhost:2222 zu verwenden, um eine Verbindung zum SSHD -Daemon auf dem Gerät herzustellen. Bitte nehmen Sie sich an, dass dies nur ein Beispiel ist und der SSHD -Daemon nur für Jailbreak -Geräte verfügbar ist, bei denen es tatsächlich installiert ist.
Bitte wenden Sie sich an die Nutzungsinformationen oder die manuelle Seite, um eine vollständige Dokumentation der verfügbaren Befehlszeilenoptionen zu erhalten:
iproxy --help
man iproxyDieses Dienstprogramm ist ein einfaches netcat-ähnliches Tool, mit dem das Öffnen einer Lese-/Schreibschnittstelle zu einem TCP-Port auf einem USBMUX-Gerät geöffnet und über stdin/stdout freigelegt wird.
Verwenden Sie SSH ProxyCommand, um eine Verbindung zu einem iOS -Gerät mit Jailbreak über SSH herzustellen:
ssh -oProxyCommand= " inetcat 22 " root@localhostBitte wenden Sie sich an die Nutzungsinformationen oder die manuelle Seite, um eine vollständige Dokumentation der verfügbaren Befehlszeilenoptionen zu erhalten:
inetcat --help
man inetcat Die Umgebungsvariable USBMUXD_SOCKET_ADDRESS ermöglicht es, den Speicherort des USBMUXD -Sockets von der lokalen Standardeinstellung zu ändern.
Ein Beispiel für die Verwendung eines Dienstprogramms aus dem LibimobileDevice -Projekt mit einem USBMUXD -Socket, das an einem Port eines Remote -Hosts ausgesetzt ist:
export USBMUXD_SOCKET_ADDRESS=192.168.179.1:27015
ideviceinfo Dadurch wird die USBMUXD -Socket -Adresse auf 192.168.179.1:27015 für Anwendungen festgelegt, die die Bibliothek libusbmuxd verwenden.
Wir begrüßen Beiträge von jedem und sind für jede Pull -Anfrage dankbar!
Wenn Sie einen Beitrag leisten möchten, geben Sie bitte die master -Filiale aus, ändern sich, verpflichten und senden Sie eine Pull -Anfrage zur Überprüfung. Sobald es genehmigt wurde, kann es in die Hauptcode -Basis verschmolzen werden.
Wenn Sie vorhaben, größere Änderungen oder ein großes Refactoring beizutragen, erstellen Sie zuerst ein Ticket, um die Idee im Voraus zu besprechen, um weniger Anstrengungen für alle zu gewährleisten.
Bitte stellen Sie sicher, dass Ihr Beitrag an:
Diese Bibliothek ist im Rahmen der GNU Lesser General Public Lizenz v2.1 lizenziert, auch im Repository in der COPYING enthalten.
Die Versorgungsunternehmen iproxy und inetcat sind gemäß der GNU General Public Lizenz v2.0 lizenziert.
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TVOS, WatchOs und MacOS sind Marken von Apple Inc.
Dieses Projekt ist eine unabhängige Softwarebibliothek und wurde nicht von Apple Inc. autorisiert, gesponsert oder auf andere Weise genehmigt.
Readme aktualisiert auf: 2024-10-22