News

Addons (1 comment)

Added by amoghbl1 over 2 years ago

Currently, two addons are shipped by default.
1) HttpsEverywhere
2) NoScripts

The folder layout was changed from including the xpi's in the repo to moving it out into a submodule(https://github.com/amoghbl1/orfox-addons).

Mobile mode changed back to the way it was, after the discussion about fingerprinting regardless of the UA that Orfox uses.

How is Orfox different than Tor Browser for desktop?

Added by n8fr8 over 2 years ago

We have started a wiki page to answer questions about Orfox: Orfox_vs_Tor_Browser_FAQ

How is Orfox different than Tor Browser for desktop?

Orfox is built from the same source code as Tor Browser, but with a few minor modifications to the privacy enhancements to make them compatible with Android.

  • Orfox includes a "Request Mobile Site" option that allows you to change the user-agent from the standard Tor Browser agent to a modified android/mobile one: "Mozilla/5.0 (Android; Mobile; rv:31.0) Gecko/20100101 Firefox/31.0". (https://dev.guardianproject.info/issues/5404)

How is Orfox different than Firefox for Android?

  • Beyond the core Tor Browser components, Orfox also must ensure all Android-specific code is properly routed through the Tor proxy, and otherwise hardened to protect against data and privacy leaks.

Mobile Mode

Added by amoghbl1 over 2 years ago

I've modified the "Request Desktop Site" checkbox from the original fennec to "Request Mobile Site", this uses a different user agent-
"Mozilla/5.0 (Android; Mobile; rv:31.0) Gecko/20100101 Firefox/31.0".

This user agent has been added into check as well, therefore, the new build will identify to be the tor browser bundle on https://check.torproject.org even in the mobile mode.

arlora voiced concerns about this specific user agent and whether using this unusual one would make it easier to say that the browser was Orfox, I think this matter needs to be investigated further.

Permissions Changes

Added by amoghbl1 over 2 years ago

Removed the following permissions:
Contacts
Camera
Location
NFC

Still remaining:
Accounts, Sync permissions

Need more info with:
Wifi connect/disconnect
Run at Startup
Install Shortcut, system settings, uninstall shortcuts
Vibration

Removing the accounts and sync part might be harder than the current ones, working on that now.

Building on Jenkins (1 comment)

Added by amoghbl1 over 2 years ago

The build issues with jenkins has now been fixed and I think we're ready to ship out an alpha.

Work on permissions continues.

Rebranding complete (2 comments)

Added by amoghbl1 over 2 years ago

Today, I've been working on rebranding and got that done, but a few extra files are required since last times rebranding. Here's a list:
mobile/android/branding/orfox/res/drawable-hdpi/launcher_widget.png
mobile/android/branding/orfox/res/drawable-mdpi/launcher_widget.png
mobile/android/branding/orfox/res/drawable-xhdpi/launcher_widget.png
mobile/android/branding/orfox/res/drawable-xhdpi/widget_icon.png
mobile/android/branding/orfox/res/drawable-xxhdpi/launcher_widget.png

Here's the link for the new rebranded version == https://dev.guardianproject.info/attachments/download/1683/fennec-38.0.en-US.android-arm.apk

Java layer Proxying fixed (2 comments)

Added by amoghbl1 over 2 years ago

The firefox app had multiple classes in the java layer where network code was used in the Java layer.
  1. mobile/android/base/favicons/LoadFaviconTask used apache.net.http.* and org.apache.http.*, this was migrated to the ch.boye library and Proxy has been applied to that connection.
  2. mobile/android/base/sync/net/BaseResource.java uses the ch.boye library but without proxy, this has been updated to use the tor proxy.
  3. Next finding was that the java.net.HttpURLConnection objects were not obeying the proxy rules either and all these calls have been modified to use the tor proxy. List of files modified in this manner:
    • mobile/android/base/CrashReporter.java
    • mobile/android/base/SuggestClient.java
    • mobile/android/base/distribution/Distribution.java
    • mobile/android/search/java/org/mozilla/search/providers/SearchEngineManager.java
    • mobile/android/stumbler/java/org/mozilla/mozstumbler/service/utils/AbstractCommunicator.java

Old apk https://dev.guardianproject.info/attachments/download/1647/fennec-38.0.en-US.android-arm.apk

New apk https://dev.guardianproject.info/attachments/download/1677/fennec-38.0.en-US.android-arm.apk

The proxy rules being followed by Searcan be easily tested using the following steps.
Install the old app with noRootFirewall pre installed.
https://dev.guardianproject.info/attachments/download/1675/Screenshot_2015-06-13-04-42-41.png image
Click Yes in the would you like to turn on search suggestions part
At this point, the noRootFirewall app will see a request from Fennec amoghbl1
https://dev.guardianproject.info/attachments/download/1676/Screenshot_2015-06-13-04-43-01.png image
Uninstall and reinstall the new app.
Follow the same procedure described above and click yes, but this time the suggestions load and no requests are seen on noRootFirewall

Another fun fact, the new version also strips out native video casting support and things like that, so it's about 3mb smaller!

Fixed Proxying problems

Added by amoghbl1 over 2 years ago

The android app doesn't use the browser/app/profile configs and hence I've moved 000-tor-browser.js located there into the mobile/android/app/mobile.js file.

I tried to add the js config as a separate file and make changes in the moz.build file but for some reason, didn't see that reflected in the app's config. Currently I've just appended all the settings, maybe a better way to do this can be figured out later.

Some configurations used in the https://github.com/guardianproject/OrfoxGeckoView repo are not present in this version, the right blend of configurations needs to be decided after further testing and discussions.

https://dev.guardianproject.info/attachments/download/1651/fennec-38.0.en-US.android-arm.apk == Current apk

Fixed 4.4 Crash (1 comment)

Added by amoghbl1 over 2 years ago

The apk build on the orfox-tb_GECKO380esr_2015050513_RELBRANCH branch caused a crash in android 4.4 devices.

After a lot of testing, I figured that the file causing this was the XPCOMInit.cpp file. Replacing that produces an apk that runs fine on my old device but I need someone to review this.

Current orfox branch is therefore an exact copy of the tor-dev branch with the exception of two files. I think it's fine to move on to the java layer now, I shall come back to the changes in those files if needed on a later date.

The repo doesn't build right now on the jenkins server though, "You must download Google Play Services to build with native video casting support enabled. Run the Android SDK tool and install Google Play Services under Extras. See http://developer.android.com/google/play-services/setup.html for more info. (looked for /opt/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar)" seems to be the problem, will figure out how to switch this off with the mozilla team and update it soon.

https://dev.guardianproject.info/attachments/download/1647/fennec-38.0.en-US.android-arm.apk == Current apk

Build on tor-bundle.git

Added by amoghbl1 over 2 years ago

After more work on the patches and builds, I finally boiled it down to one file.
toolkit/xre/nsXREDirProvider.cpp seemed to be the one that causes problems. It was modified as a fix for https://trac.torproject.org/projects/tor/ticket/9173 . The current repo produces a working app when that file is replaced with an earlier file from the esr38release branch.

Currently I'm leaving the issue with that file at that and moving on to fixing the app for pre 5.0 which currently causes a crash. Discussion with the tbb-dev team about this is underway.

Current branch can be found at https://github.com/amoghbl1/tor-browser/tree/orfox-tb_GECKO380esr_2015050513_RELBRANCH . The Orfox repo is being updated in parallel as well to keep it up with building on the Jenkins server.

1 2 (1-10/17)

Also available in: Atom