Une bibliothèque client pour les applications pour gérer les connexions de protocole USBMux avec les appareils iOS.
Ce projet est une bibliothèque client pour multiplexer les connexions depuis et vers les appareils iOS aux côtés des utilitaires de ligne de commande.
Il est principalement utilisé par les applications qui utilisent la bibliothèque LibimobileSice pour communiquer avec des services exécutés sur des appareils iOS.
La bibliothèque n'établit pas de connexion directe avec un périphérique mais nécessite la connexion à une prise fournie par le démon USBMuxd.
Le démon USBMuxd est en cours d'exécution lors de l'installation d'iTunes sur Windows et Mac OS X.
Le projet LibimobileDevice fournit une réimplémentation open source du démon USBMuxd à utiliser sur Linux ou comme alternative pour communiquer avec les appareils iOS sans avoir à installer iTunes.
Certaines fonctionnalités clés sont:
iproxy aux ports proxy sur l'appareilinetcat pour exposer une connexion brute à l'appareilDe plus, la construction Linux fournit éventuellement la prise en charge en utilisant Inotify si disponible.
Vous devez avoir un compilateur de travail (GCC / Clang) et un environnement de développement disponible. Ce projet utilise les AutoTools pour le processus de construction, permettant d'avoir des étapes de construction courantes sur différentes plates-formes. Seules les conditions préalables diffèrent et elles sont décrites dans cette section.
Libusbmuxd nécessite Libplist et Libimobilevice-Glue. Sur Linux, il nécessite également USBMuxd installé sur le système, tandis que MacOS a sa propre copie et sur le package Windows AppleMobileSicesupport le fournit. Vérifiez le bâtiment de Libplist et la section de construction de Libimobilevice-Glue du Readme respectif sur la façon de les construire. Notez que certaines plates-formes pourraient les avoir comme package.
sudo apt-get install
build-essential
pkg-config
checkinstall
git
autoconf
automake
libtool-bin
libplist-dev
libimobiledevice-glue-dev
usbmuxd Assurez-vous que les outils de ligne de commande Xcode sont installés. Ensuite, utilisez Macports ou Homebrew pour installer automake , autoconf , libtool , etc.
Utilisation de Macports:
sudo port install libtool autoconf automake pkgconfigUtilisation de Homebrew:
brew install libtool autoconf automake pkg-configL'utilisation de MSYS2 est le moyen officiel de compiler ce projet sur Windows. Téléchargez l'installateur MSYS2 et suivez les étapes d'installation.
Il est recommandé d'utiliser la coque MSYS2 Mingw 64 bits . Exécutez-le et assurez-vous que les dépendances requises sont installées:
pacman -S base-devel
git
mingw-w64-x86_64-gcc
make
libtool
autoconf
automake-wrapper
pkg-configRemarque: vous pouvez utiliser un shell différent et un compilateur différent en fonction de vos besoins. Adaptez la commande ci-dessus en conséquence.
Vous pouvez construire le code source à partir d'une caisse GIT ou à partir d'un tarball de libération .tar.bz2 à partir des versions. Avant de pouvoir le construire, l'arbre source doit être configuré pour la construction. Les étapes dépendent de l'où vous avez obtenu la source.
Étant donné que LibusBmuxd dépend d'autres packages, vous devez définir la variable d'environnement PKG-Config PKG_CONFIG_PATH en conséquence. Assurez-vous d'utiliser un chemin avec le même préfixe que les dépendances. S'ils sont installés dans /usr/local vous feriez
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfigDe Git
Si vous ne l'avez pas déjà fait, clonez le référentiel de projet et transformez en répertoire.
git clone https://github.com/libimobiledevice/libusbmuxd
cd libusbmuxdConfigurer l'arborescence source pour la construction:
./autogen.shDe la sortie du tarball (.tar.bz2)
Lors de l'utilisation d'un tarball officiel ( libusbmuxd-xyztar.bz2 ), la procédure est légèrement différente.
Extraire le tarball:
tar xjf libusbmuxd-x.y.z.tar.bz2
cd libusbmuxd-x.y.zConfigurer l'arborescence source pour la construction:
./configure Les deux ./configure et ./autogen.sh (qui génère et les appels configure ) acceptent quelques options, par exemple --prefix pour permettre la construction d'un dossier cible différent. Vous pouvez simplement les passer comme ceci:
./autogen.sh --prefix=/usr/localou
./configure --prefix=/usr/localUne fois la commande réussie, les dernières lignes de sortie ressembleront à ceci:
[...]
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.
Cet utilitaire permet de lier les ports TCP locaux de liaison afin qu'une connexion à un (ou plusieurs) des ports locaux soit transmise au port (ou ports) spécifié sur un périphérique USBMux.
Bonnez-vous le port TCP local 2222 et vers le port 22 du premier périphérique connecté via USB:
iproxy 2222:22 Cela permettrait d'utiliser SSH avec localhost:2222 pour se connecter au démon sshd sur l'appareil. Veuillez vous soucier que ce n'est qu'un exemple et le démon SSHD n'est disponible que pour les appareils jailbreakés qui l'ont réellement installé.
Veuillez consulter les informations d'utilisation ou la page manuelle pour une documentation complète des options de ligne de commande disponibles:
iproxy --help
man iproxyCet utilitaire est un simple outil de type NetCAT qui permet d'ouvrir une interface de lecture / écriture à un port TCP sur un périphérique USBMux et de l'expose via STDIN / STDOUT.
Utilisez SSH ProxyCommand pour se connecter à un appareil iOS jailbreaké via SSH:
ssh -oProxyCommand= " inetcat 22 " root@localhostVeuillez consulter les informations d'utilisation ou la page manuelle pour une documentation complète des options de ligne de commande disponibles:
inetcat --help
man inetcat La variable d'environnement USBMUXD_SOCKET_ADDRESS permet de modifier l'emplacement de la prise USBMuxd loin du par défaut local.
Un exemple d'utilisation d'un utilitaire du projet LibimobileDevice avec une prise USBMuxd exposée sur un port d'un hôte distant:
export USBMUXD_SOCKET_ADDRESS=192.168.179.1:27015
ideviceinfo Cela définit l'adresse de socket USBMuxd à 192.168.179.1:27015 pour les applications qui utilisent la bibliothèque Libusbmuxd.
Nous accueillons les contributions de quiconque et sommes reconnaissants pour chaque demande de traction!
Si vous souhaitez contribuer, veuillez débarquer la branche master , modifier, commettre et envoyer une demande de révision. Une fois approuvé, il peut être fusionné dans la base de code principale.
Si vous prévoyez de contribuer des changements plus importants ou un refactorisation majeure, veuillez d'abord créer un billet pour discuter de l'idée d'avance pour assurer moins d'efforts pour tout le monde.
Veuillez vous assurer que votre contribution adhère à:
Cette bibliothèque est sous licence en vertu de la licence publique générale de GNU Leser V2.1, également incluse dans le référentiel dans le fichier COPYING .
Les utilitaires iproxy et inetcat sont sous licence en vertu de la licence publique générale GNU v2.0.
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TVOS, Watchos et MacOS sont des marques d'Apple Inc.
Ce projet est une bibliothèque de logiciels indépendante et n'a pas été autorisé, parrainé ou approuvé par Apple Inc.
Readme mis à jour le: 2024-10-22