Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-13T15:47:37Zhttps://gitlab.torproject.org/legacy/trac/-/issues/32334do not throw enable_tool_name_check error when compiling for Android and iOS2020-06-13T15:47:37Zeighthavedo not throw enable_tool_name_check error when compiling for Android and iOSThis check only fails when building for Android and iOS, it does not do something useful there. So when compiling for Android or iOS, it should be disabled by default. Or perhaps even better: it should only be enabled on platforms wher...This check only fails when building for Android and iOS, it does not do something useful there. So when compiling for Android or iOS, it should be disabled by default. Or perhaps even better: it should only be enabled on platforms where it is useful. The Guardian Project, Thali, and Briar Android builds have always used --disable-name-tool-check. The iCepa Tor.framework also does.
Some examples:
* LarryBitcoin: https://trac.torproject.org/projects/tor/ticket/31552#comment:4
* n8fr8: https://trac.torproject.org/projects/tor/ticket/31301#comment:2
* iCepa Tor.framework: https://github.com/iCepa/Tor.framework/blob/30480101b3bd2166baced913347fc8bb7392b3da/Tor/tor.sh#L139
* tor-android: https://github.com/guardianproject/tor-android/blob/0830c87a29ea197ecd9a0b5aee7d9a4fb88dce25/external/Makefile#L271Tor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/32299read GeoIPFile and GeoIP6File straight out of ZIP (.apk, .jar, .zip, .ipa)2020-06-13T15:47:31Zeighthaveread GeoIPFile and GeoIP6File straight out of ZIP (.apk, .jar, .zip, .ipa)Right now, the _geoip_ and _geoip6_ files are packed into the APK, which is basically a ZIP/JAR file. Then when Orbot/TorBrowser/etc starts, it unzips those files to a local folder. Since those files are read only, they could be read d...Right now, the _geoip_ and _geoip6_ files are packed into the APK, which is basically a ZIP/JAR file. Then when Orbot/TorBrowser/etc starts, it unzips those files to a local folder. Since those files are read only, they could be read directly out of the zip file. This would mean faster startup times and less disk space in use. Right now, there is a full ZIP read, then a full write, then a full read from disk.
I believe that tor is already linked against zlib, so the functions are there. In any case, zlib is one of the few libs that are provided by the NDK.
Android already does things like this. For example, PNG files are stored uncompressed in the APK. The whole ZIP file is byte aligned for each PNG reading. Then the APK maintains a list of pointers to the byte position in the APK file a PNG file can be read from.Tor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/32091optional TUN interface to tor for mobile2020-06-13T15:46:39Zeighthaveoptional TUN interface to tor for mobileOrbot uses tun2socks to connect the Android VPN interface to the tor SOCKS port. iCepa/OnionBrowser on iOS uses tun2tor for a similar setup. Both of these approaches have issues since they involve setting up network sockets. Since bot...Orbot uses tun2socks to connect the Android VPN interface to the tor SOCKS port. iCepa/OnionBrowser on iOS uses tun2tor for a similar setup. Both of these approaches have issues since they involve setting up network sockets. Since both Android and iOS now both load tor as a shared library, the best possible interface would be for the tor shared library to directly provide the TUN interface on both platforms. It could be an optional feature like the HTTP CONNECT feature.
* https://github.com/iCepa/tun2tor is written in Rust with an MIT License
* https://github.com/ambrop72/badvpn/blob/master/tun2socks/tun2socks.c is written in C with a BSD 3-Clause licenseTor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/30272Gracefully Handle Loss of Connection on Startup2020-06-16T01:02:47ZShane IsbellGracefully Handle Loss of Connection on StartupIf I put in airplane mode, the logs will show that tor keeps trying to connect, saying its stuck at 0%. We should detect if app goes into airplane mode (or does not have a connection). The user-device interaction in this case is still un...If I put in airplane mode, the logs will show that tor keeps trying to connect, saying its stuck at 0%. We should detect if app goes into airplane mode (or does not have a connection). The user-device interaction in this case is still undefined.