While the TCP query to Google DNS before provided more robust DNS services,
it could still leak outside the VPN service based on platform version
and other circumstances. By using PDNSD as a proxy back into Tor's limited DNS
service, we ensure DNS does not leak.
Tor's DNS port doesn't work well with the VPN mode, so we
will use PDSND to resolve DNS over Tor using OpenDNS. This is
a hack/solution that we learned from SocksDroid.
Since running stopService() automatically triggers Service.onDestroy(),
there is a nice way to hook in and run the shutdown procedure. This
provides an obvious point of entry as well as simplifying the shutdown
procedure.
When clicking on "Wizard" from the menu, then clicking back, it gets stuck
in a strange back stack purgatory, and then randomly changes the language.
So purge the wizard stuff for now, and add back the parts that are still
needed once that is all figured out.
This also simplifies the refactoring of the Intent handling.
The Languages utility class merges the techniques from ChatSecure and
Courier. It fetches the supported locales from the APK itself, and fetches
the native names of the languages from the system.
There are a couple of different times when Orbot will be unable to kill the
running processes. One example is when Orbot is running, then uninstalled,
then installed again.
closes#5254https://dev.guardianproject.info/issues/5254
Since most people using devices without Google Play will be in China, where
Google is generally blocked, instead direct people to f-droid.org unless
they have Google Play installed.
This automatically detects whether Google Play or FDroid is installed, if
so, clicking the promo app button will take the user straight to the
install page. If neither is installed, then the user is taken to the page
for that app on https://f-droid.org
We now refresh the VPN and tun2socks interfaces when the network
type switches, and we do so in a way that does not cause traffic to leak.
The new interface is established before we close the old one.
You can use Bridges with VPN "App Mode" proxying
On Pre-Lollipop this uses a local loop back SOCKS server to flag outbound sockets as not for the VPN network
On Lollipop+ this uses the "disallow app" feature to set anything in the Orbot process to not be sent through the VPN
this is needed for sharing of bridge data between people in the
same physical space, or by easily sharing it through chat or other
private messaging system
- some devices seem to not like these new expanded/remoteviews notifications, so we are turning them off by default. This will also help with load issues on onionoo servers