Hidden service cannot be created
Hidden service creation and activation no longer works in the latest Orbot. Tested all the way up to 13.0.6 (nightly).
I've started a small HTTP server (KWS for Android) on port 8888 and set port 8888 in the "Hidden Services Ports" field and checked "Hidden Service Hosting". The hostname and private_key files are created (checked from root shell) but the service is not accessible.
Manually adding the service to app_bin/torrc and re-running tor makes the hidden service appear. I added this:
HiddenServiceDir /data/data/org.torproject.android/app_data/ HiddenServicePort 8888 127.0.0.1:8888
If I understand the Orbot sources correctly, the line it tries to add when enabling a service is
HiddenServicePort 8888 0.0.0.0:8888 (not sure if that makes a difference)
The ".Onion Hostname" field is never populated, once again if I understand the sources correctly the getHiddenServiceHostname() private method in TorService is never called (in the latest version from Git).
Finally, when using the REQUEST_HS_PORT intent to trigger this externally, I get the dialog asking me to confirm the activation of the hidden service, then Orbot hangs altogether and must be force-killed.
I suspect this is due to the fact that the enableHiddenServicePort method in the Orbot class (https://gitweb.torproject.org/orbot.git/blob/HEAD:/src/org/torproject/android/Orbot.java#l357) is called from https://gitweb.torproject.org/orbot.git/blob/HEAD:/src/org/torproject/android/Orbot.java#l444 upon pressing the Accept button, on the UI thread, so the UI hangs while waiting for the hidden service to be created (and due to the defect above, it never returns).
Trac:
Username: drazvan