Author Edgar Aroutiounian <>
License BSD-3-clause
Issue Tracker
Maintainer Edgar Aroutiounian <>
& base-threads
cmdliner >= 0.9.8
cohttp >= 0.21.0
lwt >= 2.5.2
oasis >= 0.4
plist 0.1
ppx_deriving >= 4.0
ppx_deriving_yojson >= 3.0
yojson >= 1.3.2
Available ocaml-version >= "4.02.0"
Published Aug 9, 2016
Source [http]
Statistics Installed 124 times in last month.

Control port remapping for iOS devices

Now you can ssh into your jailbroken iDevice using the CLI, gandalf. Simple invocation: sudo which gandalf --mappings etc/mapping --daemonize --verbose

where etc/mapping is a file which consists of an array of json objects with these fields, note that name can be null and is just a nickname for this tunnel, other fields are required.

[{"udid":"9cdfac9f74c5e18a6eff3611c0927df5cf4f2eca", "name":"i11", "forwarding": [{"local_port":2000, "device_port":22}, {"local_port":3000, "device_port":1122}]}]

See uptime, tunnels and other metadata with: gandalf --status Note that with over 13 devices usbmuxd will start to buck because of threading issue with libplist. Use the custom one provided at

The Linux kernel will also have trouble with many USB3.0 devices, ie over 15ish Fix that issue by turning off USB3.0 support in your BIOS.

Check out the man page or see the README at:

No package is dependent