Closed alteman closed 5 months ago
Deeply sorry, but unfortunately, that's not how it works.
Obfs4proxy aka. Lyrebird is a Go module. Go uses a runtime with significant memory overhead. Just referencing that library starts the Go runtime which eats memory without doing anything.
Hence I had to remove it. I had loved not doing that, but alas... That's how it is.
If your needs are HTTP-related, you may consider using Onion Browser, which now has a built-in Tor again which works on iOS 17 an onwards. (Since Apple finally provided a proxy interface for WKWebView
.)
@tladesignz So the only remaining solution would be porting Lyrebird to Swift?
Swift, Objective-C, C, Rust.
But not just porting it once. Follow along changes. Keep maintaining it.
Challenges:
Have it working in memory constrained environments with as-low-as-possible consumption and early releases on/or file backing (memory-mapped files).
Not just port the original Lyrebird code, but also specifics of dependencies, e.g. the Go lib, which provides the TLS massaging. (Forgot the name now, but that's an important feature.)
Replicate all the other intrinsic little details which make the traffic appear innocuous and uniform to avoid fingerprinting.
If you like this challenge, you're happily invited! 🤗
In countries with DPI Tor blocking the app doesn't currently do anything. I have an older version installed on an iPhone 13 Pro and it seems to work just fine with obfs4 bridges. Removing features just because they don't work for everyone is, well,.. authoritarian :)
At least add an option to enable it in settings - could be off by default until the RAM usage is firmly under control.
ref: 1df0b9c