Perpustakaan klien untuk aplikasi untuk menangani koneksi protokol USBMUX dengan perangkat iOS.
Proyek ini adalah pustaka klien untuk koneksi multipleks dari dan ke perangkat iOS bersama utilitas baris perintah.
Ini terutama digunakan oleh aplikasi yang menggunakan perpustakaan LibimobiledEvice untuk berkomunikasi dengan layanan yang berjalan pada perangkat iOS.
Perpustakaan tidak membuat koneksi langsung dengan perangkat tetapi membutuhkan penghubung ke soket yang disediakan oleh daemon USBMuxD.
Daemon USBMUXD berjalan setelah menginstal iTunes di Windows dan Mac OS X.
Proyek LibimobiledEvice menyediakan penerapan kembali sumber terbuka dari daemon USBMUXD untuk digunakan di Linux atau sebagai alternatif untuk berkomunikasi dengan perangkat iOS tanpa perlu menginstal iTunes.
Beberapa fitur utama adalah:
iproxy ke port proxy ke perangkatinetcat untuk mengekspos koneksi mentah ke perangkatSelanjutnya Linux Build secara opsional menyediakan dukungan menggunakan Inotify jika tersedia.
Anda perlu memiliki kompiler kerja (GCC/Clang) dan lingkungan pengembangan yang tersedia. Proyek ini menggunakan AutoTools untuk proses pembangunan, memungkinkan untuk memiliki langkah -langkah pembuatan yang sama di berbagai platform. Hanya prasyarat yang berbeda dan mereka dijelaskan dalam bagian ini.
libusbmuxd membutuhkan liblist dan libimobiledevice-glue. Di Linux, juga mengharuskan USBMuxD diinstal pada sistem, sementara MacOS memiliki salinannya sendiri dan pada paket Windows ApplemobiledEvicesupport menyediakannya. Periksa Bangunan Liblist dan bagian bangunan LibimobilEvice-Glue di masing-masing Readme tentang cara membangunnya. Perhatikan bahwa beberapa platform mungkin memilikinya sebagai paket.
sudo apt-get install
build-essential
pkg-config
checkinstall
git
autoconf
automake
libtool-bin
libplist-dev
libimobiledevice-glue-dev
usbmuxd Pastikan alat baris perintah XCODE diinstal. Kemudian, gunakan MacPorts atau Homebrew untuk menginstal automake , autoconf , libtool , dll.
Menggunakan MacPorts:
sudo port install libtool autoconf automake pkgconfigMenggunakan Homebrew:
brew install libtool autoconf automake pkg-configMenggunakan MSYS2 adalah cara resmi untuk menyusun proyek ini di Windows. Unduh penginstal MSYS2 dan ikuti langkah -langkah instalasi.
Dianjurkan untuk menggunakan shell msys2 mingw 64-bit . Jalankan dan pastikan dependensi yang diperlukan diinstal:
pacman -S base-devel
git
mingw-w64-x86_64-gcc
make
libtool
autoconf
automake-wrapper
pkg-configCatatan: Anda dapat menggunakan shell yang berbeda dan kompiler yang berbeda sesuai dengan kebutuhan Anda. Menyesuaikan perintah di atas sesuai.
Anda dapat membangun kode sumber dari checkout git, atau dari rilis rilis .tar.bz2 dari rilis. Sebelum kita dapat membangunnya, pohon sumber harus dikonfigurasi untuk dibangun. Langkah -langkahnya tergantung pada dari mana Anda mendapatkan sumbernya.
Karena libusbmuxd tergantung pada paket lain, Anda harus mengatur variabel lingkungan PKG-Config PKG_CONFIG_PATH . Pastikan untuk menggunakan jalur dengan awalan yang sama dengan dependensi. Jika mereka diinstal di /usr/local Anda akan melakukannya
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfigDari git
Jika Anda belum melakukannya, mengkloning repositori proyek yang sebenarnya dan berubah menjadi direktori.
git clone https://github.com/libimobiledevice/libusbmuxd
cd libusbmuxdKonfigurasikan pohon sumber untuk membangun:
./autogen.shDari Release Tarball (.tar.bz2)
Saat menggunakan tarball rilis resmi ( libusbmuxd-xyztar.bz2 ) prosedurnya sedikit berbeda.
Ekstrak tarball:
tar xjf libusbmuxd-x.y.z.tar.bz2
cd libusbmuxd-x.y.zKonfigurasikan pohon sumber untuk membangun:
./configure Keduanya ./configure dan ./autogen.sh (yang menghasilkan dan panggilan configure ) menerima beberapa opsi, misalnya --prefix untuk memungkinkan pembangunan folder target yang berbeda. Anda bisa meneruskannya seperti ini:
./autogen.sh --prefix=/usr/localatau
./configure --prefix=/usr/localSetelah perintah berhasil, beberapa baris output terakhir akan terlihat seperti ini:
[...]
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.
Utilitas ini memungkinkan pengikatan port TCP lokal sehingga koneksi ke satu (atau lebih) port lokal akan diteruskan ke port yang ditentukan (atau port) pada perangkat USBMux.
BIND LOCAL TCP Port 2222 dan maju ke port 22 perangkat pertama yang terhubung melalui USB:
iproxy 2222:22 Ini akan memungkinkan penggunaan SSH dengan localhost:2222 untuk terhubung ke daemon SSHD pada perangkat. Harap keberatan bahwa ini hanyalah sebuah contoh dan daemon SSHD hanya tersedia untuk perangkat jailbreak yang benar -benar menginstalnya.
Silakan berkonsultasi dengan informasi penggunaan atau halaman manual untuk dokumentasi lengkap opsi baris perintah yang tersedia:
iproxy --help
man iproxyUtilitas ini adalah alat seperti NetCat sederhana yang memungkinkan membuka antarmuka baca/tulis ke port TCP pada perangkat USBMUX dan mengeksposnya melalui stdin/stdout.
Gunakan SSH ProxyCommand untuk terhubung ke perangkat iOS Jailbroken melalui SSH:
ssh -oProxyCommand= " inetcat 22 " root@localhostSilakan berkonsultasi dengan informasi penggunaan atau halaman manual untuk dokumentasi lengkap opsi baris perintah yang tersedia:
inetcat --help
man inetcat Variabel Lingkungan USBMUXD_SOCKET_ADDRESS memungkinkan untuk mengubah lokasi soket USBMUXD jauh dari yang default lokal.
Contoh menggunakan utilitas dari proyek LibimobiledEvice dengan soket usbmuxd yang terpapar pada port host jarak jauh:
export USBMUXD_SOCKET_ADDRESS=192.168.179.1:27015
ideviceinfo Ini menetapkan alamat soket USBMUXD ke 192.168.179.1:27015 untuk aplikasi yang menggunakan perpustakaan libusbmuxd.
Kami menyambut kontribusi dari siapa pun dan berterima kasih atas setiap permintaan tarik!
Jika Anda ingin berkontribusi, silakan garpu cabang master , ubah, komit dan kirim permintaan tarik untuk ditinjau. Setelah disetujui dapat digabungkan ke basis kode utama.
Jika Anda berencana untuk menyumbangkan perubahan yang lebih besar atau refactoring besar, silakan buat tiket terlebih dahulu untuk membahas ide di muka untuk memastikan lebih sedikit upaya bagi semua orang.
Pastikan kontribusi Anda menganut:
Perpustakaan ini dilisensikan di bawah GNU Lesser General Public License v2.1, juga termasuk dalam repositori dalam file COPYING .
Utilities iproxy dan inetcat dilisensikan di bawah GNU General Public License v2.0.
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TVOS, WatchOS, dan MacOS adalah merek dagang dari Apple Inc.
Proyek ini adalah perpustakaan perangkat lunak independen dan belum diizinkan, disponsori, atau disetujui oleh Apple Inc.
ReadMe Diperbarui pada: 2024-10-22