Skip to content
This repository has been archived by the owner on Nov 23, 2022. It is now read-only.
/ Secret-Tunnel Public archive

A loopback magic box for lockdownd connections on device

Notifications You must be signed in to change notification settings

jkcoxson/Secret-Tunnel

Repository files navigation

SECRET TUNNEL!

So I accidently wrote software that is a ton faster than this and way simpler. Rip secret tunnel.

...Yeah, and I forget the next couple of lines, but then it goes...
Secret tunnel!
Secret tunnel!
Through the mountain! 
Secret, secret, secret, secret tunnel!"

In all seriousness, this library is meant to create loopback connections to lockdownd. It tricks lockdownd into thinking it's not a loopback connection using Wireguard.

Basic Functional Overview

  1. Listens on a port for incoming Wireguard connections
  2. Handshakes with Wireguard
  3. Create and send fake IP/TCP packets to Wireguard
  4. Adapt libimobiledevice to use the fake IP/TCP packets
  5. Profit

Completeness: 5/5

TCP Stack

The TCP stack is a barebones implementation of a TCP/IP stack. It makes many assumptions about the reliability of the underlying transport layer, and makes little effort to handle any errors.

  • Packets are generated and checksummed
  • Maximum segment size is negotiated.
  • Window scaling is negotiated.
  • Multiple packets are transmitted without waiting for an acknowledgement.
  • Reassembly of out-of-order segments is supported, with no more than 4 or 32 gaps in sequence space.
  • Keep-alive packets may be sent at a configurable interval.
  • Retransmission timeout
  • Time-wait timeout
  • Delayed acknowledgements are supported, with configurable delay.
  • Nagle's algorithm is implemented.

How to use

Don't

ETA: July of 2069

About

A loopback magic box for lockdownd connections on device

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published