reverse_proxy_client_create_with_port
reverse_proxy_client_create_with_service
reverse_proxy_client_free
reverse_proxy_client_set_data_callback
reverse_proxy_client_set_log_callback
reverse_proxy_client_set_status_callback
reverse_proxy_client_start_proxy
reverse_proxy_client_t
reverse_proxy_client_type_t
reverse_proxy_data_cb_t
reverse_proxy_data_direction_t
REVERSE_PROXY_DEFAULT_PORT
reverse_proxy_error_t
reverse_proxy_get_type
reverse_proxy_log_cb_t
reverse_proxy_status_cb_t
reverse_proxy_status_t

## reverse_proxy_client_create_with_service()

LIBIMOBILEDEVICE_API reverse_proxy_error_t reverse_proxy_client_create_with_service | ( | idevice_t | device,
|  | reverse_proxy_client_t * | client,
|  | const char * | label )

Create a reverse proxy client using com.apple.PurpleReverseProxy.Ctrl and com.apple.PurpleReverseProxy.Conn lockdown services.

This will open a port 1083 on the device that iOS apps could connect to; however that is only allowed if an app has the com.apple.private.PurpleReverseProxy.allowed entitlement, which currently only `/usr/libexec/fdrhelper` holds.

Note
  This function only creates and initializes the reverse proxy; to make it operational, call reverse_proxy_client_start_proxy().

Parameters

  device | The device to connect to.
  client | Pointer that will be set to a newly allocated reverse_proxy_client_t upon successful return.
  label | A label to pass to lockdownd when creating the service connections, usually the program name.

Returns
  REVERSE_PROXY_E_SUCCESS on success, or a REVERSE_PROXY_E_* error code otherwise.