#ios #iphone #ipad #usb

peertalk

Library for communicating with an iPad or iPhone over USB

2 unstable releases

0.2.0 Nov 17, 2021
0.1.0 Jan 27, 2021

#2 in #iphone

Download history 21/week @ 2025-08-28 27/week @ 2025-09-04 23/week @ 2025-09-11 36/week @ 2025-09-18 19/week @ 2025-09-25 28/week @ 2025-10-02 58/week @ 2025-10-09 33/week @ 2025-10-16 25/week @ 2025-10-23 19/week @ 2025-10-30 16/week @ 2025-11-06 1/week @ 2025-11-13 16/week @ 2025-11-20 52/week @ 2025-11-27 49/week @ 2025-12-04

118 downloads per month

MIT/Apache

27KB
612 lines

Cross-platform PeerTalk Implemented in Rust

This implements the ability to negotiate a network connection over USB to iOS devices via Apple's USB muxer. This can work across platforms assuming iTunes or Apple Mobile Supprot is present. May work with open source usbmuxd/libimobiledevice on linux, but is untested.

Based on PeerTalk by Rasmus Andersson

Usage

This just provides the necessary code for the host (mac/windows) side to detect an iPad/iPhone & negotiate a connection to the device if it's listening.

  1. iOS app sets up a TCP listener on a known port
  2. Host app uses peertalk to wait for device to be plugged in
  3. Upon plug, tell peertalk to establish a connection to the device with the port used in step 1
  4. You'll have a ready to use TcpStream upon success

Status

  • Basic device listen protocol work started
  • macOS/linux UNIX domain socket support
  • Connect (network sockets) support

Dependencies

~3.5–5MB
~89K SLoC