All Projects → tobykurien → Webapps

tobykurien / Webapps

Licence: mit
Android app to provide sandboxed (private) browsing of webapps

Projects that are alternatives of or similar to Webapps

Mailcare
[MIRRORING REPOSITORY] See https://gitlab.com/mailcare/mailcare. MailCare is an open source disposable email address services. Accessible via web browser or API to protect your privacy right now.
Stars: ✭ 136 (-8.72%)
Mutual labels:  privacy
Focus Android
Firefox Focus: The privacy browser - Browse like no one’s watching.
Stars: ✭ 1,901 (+1175.84%)
Mutual labels:  privacy
Awesome Privacy
A curated list of tools and services that respect your privacy.
Stars: ✭ 147 (-1.34%)
Mutual labels:  privacy
Secretnetwork
𝕊 The Secret Network
Stars: ✭ 138 (-7.38%)
Mutual labels:  privacy
Dns Zone Blacklist
This project generates dnsmasq, bind and unbound zone files to be used in DNS based AD Blockers.
Stars: ✭ 141 (-5.37%)
Mutual labels:  privacy
Nogo
A cross-platform network-wide ad/site blocker with a simple web control panel.
Stars: ✭ 143 (-4.03%)
Mutual labels:  privacy
Tessera
Tessera - Enterprise Implementation of Quorum's transaction manager
Stars: ✭ 135 (-9.4%)
Mutual labels:  privacy
Awesome Federated Learning
All materials you need for Federated Learning: blogs, videos, papers, and softwares, etc.
Stars: ✭ 149 (+0%)
Mutual labels:  privacy
Gdpr Tracker
A crowdsourced directory tracking the compliance and security practices of cloud services and their subprocessors
Stars: ✭ 142 (-4.7%)
Mutual labels:  privacy
Docker Tor Hiddenservice Nginx
Easily setup a hidden service inside the Tor network
Stars: ✭ 145 (-2.68%)
Mutual labels:  privacy
Adblocking Vpn
🔒 Create your own VPN server that blocks malicious domains to enhance your security and privacy
Stars: ✭ 139 (-6.71%)
Mutual labels:  privacy
Wp Toolbelt
A lightweight, multi-purpose, WordPress plugin with a focus on privacy and speed
Stars: ✭ 141 (-5.37%)
Mutual labels:  privacy
App Privacy Policy Generator
A simple web app to generate a generic privacy policy for your Android/iOS apps
Stars: ✭ 2,278 (+1428.86%)
Mutual labels:  privacy
Personal Security Checklist
🔒 A curated checklist of 300+ tips for protecting digital security and privacy in 2021
Stars: ✭ 2,388 (+1502.68%)
Mutual labels:  privacy
Gretel Synthetics
Differentially private learning to create fake, synthetic datasets with enhanced privacy guarantees
Stars: ✭ 147 (-1.34%)
Mutual labels:  privacy
Encpipe
The dum^H^H^Hsimplest encryption tool in the world.
Stars: ✭ 135 (-9.4%)
Mutual labels:  privacy
Mpyc
MPyC for Secure Multiparty Computation in Python
Stars: ✭ 142 (-4.7%)
Mutual labels:  privacy
Dontclickshit
Як не стати кібер-жертвою
Stars: ✭ 149 (+0%)
Mutual labels:  privacy
Zom Android Xmpp
THIS PROJECT IS NOW CLOSED. WE HAVE MOVED TO A NEW ZOM 2.0 MATRIX CORE. FOLLOW THE LINK!
Stars: ✭ 148 (-0.67%)
Mutual labels:  privacy
Hostsvn
Hosts block ads of Vietnamese
Stars: ✭ 145 (-2.68%)
Mutual labels:  privacy

WebApps Sandboxed browser Android app

screenshot 1 screenshot 2 screenshot 3

WebApps allows you to save websites, as if they were apps! It provides a secure way to browse popular webapps by eliminating referrers, 3rd party requests, 3rd party cookies, insecure HTTP requests, etc.

It accomplishes this by providing a sandbox for multiple webapps (like Google's apps, Facebook, Twitter, etc.). Each webapp will run in it's own sandbox, with 3rd party requests (images, scripts, iframes, etc.) blocked, and all external links opening in an external default web browser (which should have cookies, plug-ins, flash, etc. disabled). All HTTP requests are blocked (only HTTPS allowed). This improves security, especially on untrusted networks. In addition, WebApps will warn you if the SSL certificate of the site you're viewing has changed to warn you of a possible man-in-the-middle attack.

For a less security-focussed, but more media-friendly option, try Web Media Share, which is a fork of WebApps with specific focus on viewing and sharing/casting media.

Grab the APK from releases

Features

  • Works like Mozilla Prism on the desktop. This is a mostly chrome-less browser that gets out of your way.
  • Completely full-screen browsing (auto-hiding actionbar)
  • Securely browse mobile sites (uses HTTPS only)
  • Blocks 3rd party requests (images/scripts/iframes) like the NoScript, NotScripts, uMatrix, uBlock Origin plugins on the desktop
  • Allows self-signed SSL certificates to be saved
  • Warns if server SSL certificate changes (e.g. during man-in-the-middle-attack)
  • User agent and text size setting (per site) allows more rich mobile experience (depending on site)
  • External links (outside the domain of the site visited) open in your default browser
  • Long-press links to choose how to open them
  • Create shortcuts to your webapps on the homescreen
  • Uses much less bandwidth than native apps (like Google+ app). No background sync'ing.
  • Features local data storage and caching for reduced bandwidth usage and better speed.
  • Fully open source software.

Cookies

Cookies are stored by Android's CookieManager, of which there is one instance per app. To avoid cookies from passing between sandboxes, the following has been implemented:

  • All cookies in the CookieManager are deleted when opening a URL or web app.
  • For saved web apps, the saved cookies are restored, and the app opened.
  • Cookies are only saved for the root domain of the saved web app, and made available to all sub-domains.
  • No 3rd party cookies are saved or sent. This may prevent some sites from working correctly.

In short, there is a strict cookie policy in place that ensures that cookies are correctly sandboxed, and that no 3rd party cookies are saved or sent.

However, it should be noted that there are several techniques for storing unique identifiers, such as evercookie AKA supercookies. Thus, the strongest protection this app provides is the blocking of 3rd party requests, which is why it is important to pick services that use the least amount of 3rd party requests, and try to unblock as few of them as possible. In particular, CDNs and other common 3rd party services such as CloudFlare, JQuery, Google Fonts, Google Analytics, etc. should be blocked as much as possible.

Referer

Referer information is not send on any request (as per default behaviour of Webview), which may lead to problems on some sites, but improves privacy.

Storage

Plugins, and local file access are disabled, however DOM/local storage and app caching is allowed. There is only one cache for all sandboxes to share.

Location

Since WebApps v3.0, location access has been enabled. WebApps will prompt for location access per web app, the first time the app requests your location. You can then permanently allow or deny location access, with an option to reset the app should you change your mind.

Credits:

Development

Libraries

This project makes use of the following libraries/tools:

NOTE: There are many inter-dependencies between the various library versions, Gradle versions, Gradle plugin versions, Android SDK versions, and the JDK version (which has to be JDK 8 for Android)! Simply upgrading any one of these components is likely to cause a build failure, and this will not be easy to resolve.

Build and run

To run a debug build of this project:

  • Clone or download the git repository to your local machine (git clone [email protected]:tobykurien/WebApps.git)
  • Run ./debug.sh to build a debug APK and upload it to a connected device.

VSCode

The easiest (although not the nicest) way to make changes to this app is to use VSCode and an Xtend plugin. While you get basic syntax highlighting, you will get no code completion/intellisense/code navigation/Java docs/etc. It is a basic text editor. On the plus side, setup is very easy, and it is light on RAM (can work on a machine with only 4Gb RAM).

You can run ./debug.sh after a code change to compile and run the app on an attached device. This is how this project is currently being maintained.

Eclipse

Eclipse is the best development environment for this project, because it makes use of Xtend lang that is only supported in Eclipse. In order to develop in Eclipse:

  • UPDATE: due to this issue the Gradle android eclipse plugin had to be removed from the repo, so you will need to manually compile that gradle plugin with JDK8 and add it to the app/build.gradle file to continue. Alternatively, copy the compiled version from here and apply the plugin as in build.gradle. This plugin is needed to set up Eclipse to work with Android AAR dependencies.
  • Install the Xtend plugin for Eclipse
  • Clone the git repository to your local machine (git clone ...)
  • Inside the checked-out folder, run: ./gradlew eclipse. This will download all the required 3rd party libraries and create the Eclipse classpath and project files
  • Open Eclipse and import the project in the app folder using File -> Import -> Gradle -> Existing Gradle Project (not as a generic project)
  • Right-click the "app" project -> Properties -> Add Variable -> Cionfigure Variables -> New
    • add a new variable called ANDROID_HOME and point it to the location of your android SDK installation
    • Apply and Close, and do a full re-build
  • The project should now compile in Eclipse

Android Studio

Development in Android Studio is not supported any longer, as the Xtend plugin for IntelliJ (https://plugins.jetbrains.com/plugin/8073-xtend-support) is not maintained.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].