Um daemon de soquete para conexões multiplex de e para dispositivos iOS.
USBMUXD significa "Daemon Multiplexing USB". Este daemon é responsável por conexões multiplexador sobre USB para um dispositivo iOS.
Para os usuários, significa que você pode usar vários aplicativos para interagir com o seu dispositivo.
Para os desenvolvedores, isso significa que você pode se conectar a qualquer soquete de localhost de escuta no dispositivo.
Alguns recursos importantes são:
O USBMUXD não é usado para amarrar transferências de dados que usam uma interface USB dedicada para atuar como um dispositivo de rede virtual.
As camadas de nível superior, especialmente se você deseja escrever um aplicativo para interagir com o dispositivo, são tratadas pelo LibimobileDevice.
A camada de baixo nível é tratada pelo libusbmuxd.
Primeiro instale todas as dependências necessárias e ferramentas de construção:
sudo apt-get install
build-essential
pkg-config
checkinstall
git
autoconf
automake
libtool-bin
libplist-dev
libusbmuxd-dev
libimobiledevice-dev
libimobiledevice-glue-dev
libusb-1.0-0-dev
udevSe o Systemd não estiver instalado e deverá controlar a geração do uso de daemon:
sudo apt-get install
systemdEm seguida, clone o repositório real do projeto:
git clone https://github.com/libimobiledevice/usbmuxd.git
cd usbmuxdAgora você pode construí -lo e instalá -lo:
./autogen.sh
make
sudo make install Se você precisar de um prefixo personalizado ou outra opção sendo passada para ./configure , poderá passá -lo diretamente para ./autogen.sh como este:
./autogen.sh --prefix=/opt/local --without-preflight --without-systemd
make
sudo make installPara produzir uma lista de opções de configuração disponíveis, use:
./autogen.sh --helpO daemon é iniciado automaticamente por UDEV ou Systemd, dependendo do que você configurou com o HotPlug de um dispositivo iOS e sai se o último dispositivo não estivesse desconectado.
Quando o USBMUXD está sendo executado, ele fornece uma interface de soquete em /var/run/usbmuxd , projetado para ser compatível com a interface de soquete fornecida no macOS.
Você também deve criar um usuário usbmux que tenha acesso a dispositivos USB no seu sistema. Como alternativa, basta passar em um nome de usuário diferente usando o argumento -U .
O Daemon também gerencia registros de emparelhamento com dispositivos iOS e o host em /var/lib/lockdown (linux) ou /var/db/lockdown (macOS).
Verifique se as permissões adequadas são configuradas para o daemon acessar o diretório.
Para fins de depuração, é útil iniciar o USBMUXD usando o argumento em primeiro plano -f e ativar o modo verboso -v para obter logs adequados.
Consulte as informações de uso ou a página manual para obter uma documentação completa das opções de linha de comando disponíveis:
usbmuxd --help
man usbmuxdCongratulamo -nos com contribuições de qualquer pessoa e agradecemos todas as solicitações de tração!
Se você quiser contribuir, bifurque a filial master , altere, comprometa e envie uma solicitação de revisão. Uma vez aprovado, ele pode ser mesclado na base de código principal.
Se você planeja contribuir com alterações maiores ou uma grande refatoração, crie um ingresso primeiro para discutir a idéia adiantada para garantir menos esforço para todos.
Por favor, verifique se sua contribuição adere a:
Ainda estamos trabalhando nas diretrizes, então fique conosco!
Esta biblioteca e utilitários são licenciados sob a licença pública geral da GNU v3.0, também incluídos no repositório no arquivo COPYING.GPLv3 .
A implementação inicial de daemon USBMUXD foi de autoria de Hector Martin.
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TvOS, WatchOS e MacOS são marcas comerciais da Apple Inc.
O USBMUXD é um aplicativo de software independente e não foi autorizado, patrocinado ou aprovado pela Apple Inc.
Readme atualizado em: 2024-12-02