thaliproject / Tor_Onion_Proxy_Library

Provides a JAR and an AAR for embedding the Tor Onion Proxy into a Java or Android Program
Apache License 2.0
175 stars 98 forks source link

Upgrade for Android Q #85

Closed sisbell closed 5 years ago

sisbell commented 5 years ago

It looks like Android Q will block executing native code from the /data/data writeable space. We can configure to run from the read-only app private space but this will require changes to the way we handle setup.

Currently, by default, we use a simple flat directory, with the executable and config files in the same location. We can't do this anymore since we can't write the config files to the same directory as the executable.

This should only affect the android module, not universal.

https://www.reddit.com/r/androiddev/comments/b2inbu/psa_android_q_blocks_executing_binaries_in_your/

eighthave commented 5 years ago

The other annoyance is that the executable files have be named at least with .so on the end, perhaps even also with lib on the beginning. Seems like a better solution would be to get the Android TorService to link against tor as a proper shared library. This is working well on iOS now.

n8fr8 commented 5 years ago

Agreed we should move to actual shared libraries, but for now...

We have an initial release out for testing that hopefully addresses the Android Q issue:

https://github.com/n8fr8/tor-android/releases/tag/tor-android-binary-tor-0.3.5.8-rc

and a build of Orbot, as well, based on this: ​https://github.com/n8fr8/orbot/releases/tag/16.0.6-BETA-1-tor-0.3.5.8

There is a new gradle dependency published as well: org.torproject:tor-android-binary:0.3.5.8-rc