In the current (built from GIT) netcipher library https://github.com/guardianproject/NetCipher you can apply the Orbot proxy setting to your own HTTP Client (in my case okhttp3) and control some features of Orbot with the OrbotHelper. This works nicely and my HTTP requests source IP gets properly anonymized while running through the local Tor HTTP proxy (

But how can I issue programmatically a new circuit/identity/exit-country, over the netcipher library or the OrbotHelper?

I can't find any method in OrbotHelper that would provide this feature... Why not extending the Orbot API to allow (for authenticated) Apps the control of circuit issuing etc.?

  • github.com/guardianproject/NetCipher/blob/master/libnetcipher/… if you can use these to find the pid of the tor process (e.g. findProcessId) then perform kill -HUP $PID (where $PID is the pid found before), this will "work" but it's not ideal. – cacahuatl Jun 30 '16 at 13:51
  • Btw. When I use TorServiceUtils.findProcessId(ctx) it has parsing problems getting the PID of the tor service (per ps and pidof)...apparently some path issue when TorServiceUtils searches the path to the Tor service with: getFilesDir().getParentFile().getParentFile().getAbsolutePath() + OrbotHelper.ORBOT_PACKAGE_NAME + "/app_bin/tor" might be that this is a problem in Android Studio's Android 6.0 emulator, where I had to install Orbot over adb shell.... – Stilzk1n Jun 30 '16 at 15:27
  • sorry, not a java or android dev, that method will require root though, at least...and possibly SELinux exceptions in android 6.0? there are other options, like if you can be root, read the cookie file and authenticate and send SIGNAL NEWNYM or use SOCKS5 auth (which the library doesn't support (yet?)) to isolate circuits. – cacahuatl Jun 30 '16 at 20:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.