Coder Social home page Coder Social logo

detangle's Introduction

Detangle

This is not an official Google product.

Detangle automatically separates your browser into multiple browser profiles.

Corporate IT can specify a list of internal sites to be opened in the main browser, and all other sites (including links) will be automatically handed off to another profile.

Building

Bazel is required for building. The native messaging component can be built by running:

bazel build native_messaging:detanglenm

Or build the package for Debian/Ubuntu by running:

bazel build native_messaging/deb:detanglenm_deb

The Chrome extension component can be built by running:

bazel build chrome_ext

detangle's People

Contributors

minhaz avatar rspier avatar therealmik avatar twitchy-jsonp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

detangle's Issues

Redirected links prefix with "nhehghlakghlfjpmjdhihgkldeeiehlh"

when a non-corp site gets redirected, it gets prefixed with "nhehghlakghlfjpmjdhihgkldeeiehlh"

for example, chrome-extension://nhehghlakghlfjpmjdhihgkldeeiehlh/open.html?raise=true&url=https%3A%2F%2Fgoogle.qwiklabs.com%2Fquests%2F33%3Futm_source%3Dgcp%26utm_medium%3Dsite%26utm_campaign%3Dcertification

Screen Shot 2019-10-22 at 7 34 59 PM

I'm running Chrome Version 78.0.3904.70 (Official Build) (64-bit)

force URLs to specific profiles

Sometimes some flow ends up at a corp SSO login screen in my regular (or even isolated) profile, which if I'm not careful I may end logging into.

Sometimes I navigate from an isolated site to a site I don't want to ever open in isolated mode.

Could there be support to require certain URLs to only be opened in specific profiles? E.g., corp SSO -> corporate profile, trusted.consumer.site.com in regular profile.

Blacklist checks are only done if targetProfile == thisProfile

The blacklist checks are only done if the browser decides it's responsible for handling the request. The result is that globally blacklisted sites get handed off then blocked in the target browser.

The fix might be to either:

  1. Split the global blacklist check and per-profile blacklist check
  2. Perform both checks before checking whether the request is handled by thisProfile

I think 2 is better, but changes semantics a bit.

All builds fail with bazel >= 0.10.0

The io_bazel_rules_closure repo at tag 0.4.2 does a bazel version check using a tuple of string.

Need to use a new tag if they release one, or switch to an arbitrary version off master to fix.

Redirect from corporate opens multiple tabs in regular profile

Lately when I open a link in my corporate window that needs a redirect, it will open that link in multiple tabs, and sometimes continue to open the link for ~1m.

In this case, I clicked the following link from a Google search results page in corporate:
https://unix.stackexchange.com/questions/116563/is-there-a-file-for-each-socket

In my regular window it immediately opened two tabs, and around a minute later, opened a third and fourth tab, all pointing to that same page.

Bazel >= 0.20.0 is not supported

The new_http_archive rule was removed in 0.20.0. It is not possible to build chrome_ext or native_messaging using any recent versions of bazel.

Detangle stopped being able to open a Regular browser

After a Chrome restart, clicking the "Launch Regular" and "Launch Isolated" buttons in the menu have no visible effect.

  • Chrome Version 81.0.4044.138
  • Restarting Chrome doesn't fix the issue
  • Disabling the extension and re-enabling it doesn't fix the issue

Notifications from corporate profile opens in regular profile window

When I click on notifications from the corporate profile window, it tries to respond to that click by opening something in the regular profile (which doesn't work). Notifications work fine if only corporate profile windows are open. I don't know if just having the regular profile window open is enough, or if there is some other trigger (like a most recently used window) that causes the notifications to be incorrectly routed.

Chrome extension build fails on macOS

Hey
Running bazel build chrome_ext fails with this error:

ERROR: /private/var/tmp/_bazel_user1/efaa21b110f06464002c5605311ac560/external/polymer_bundler_repo/BUILD.bazel:5:1: no such package '@vulcanize//': npm_install failed:  (Process terminated by signal 6) and referenced by '@polymer_bundler_repo//:vulcanize_bin'
ERROR: Analysis of target '//chrome_ext:chrome_ext' failed; build aborted: Loading failed
INFO: Elapsed time: 3.898s
FAILED: Build did NOT complete successfully (0 packages loaded)

macOS 10.13.3
node 9.4.0 (npm 5.6.0)
bazel 0.9.0

FYI, native_messaging is built successfully.

Update:
I built it on Ubuntu and installed the extension on Mac; Also, built the native messaging on Mac.
How should I configure the native package? (detanglenm binary).
The extension complains that the native package is missing.

Issues with Chromium on Archlinux

Ok, I know: the issue name itself is the one of a boring nerd who expects a square to fit in a circular hole...
But I was playing around with this detangle trying to make it work on my machine (Chromium on Archlinux). My first problem was to be able to install the build. I used debtap that apparently made the job. The I spotted that /usr/bin/google-chrome is hardcoded in the nativeMessage helper. Ok, I created then a stupid symlink /usr/bin/google-chrome -> /usr/bin/chromium.
I installed the extension via the Store, but it's stuck saying that, also if the os is supported, the package is not installed. It seems it is, I have detanglenm in my path and I started it manually with

 detanglenm chrome-extension://hcmeejlfgajdddobdodhlhcolankfpli/

Still, nothing changed.

Any clues for this poor stubborn nerd?

Thank you

Create sample configuration

To help people get started, a sample configuration should be provided in the repo. It should preferably be built into an OS package, or at-least a format usable by those OSs.

For example:

  • A plist file for MacOS
  • A JSON file for Linux
  • A reg file (or ps1 file that sets reg values?) for Windows

Maximum # of sites reached in User-Defined Corporate list?

Hello - I noticed today that adding a site to the Corporate list had no effect. Detangle continued to route traffic over to my 'Regular' browser rather than my 'Corporate' browser.

I took a look at the Extension Options. There I noticed that if I deleted an existing site, I could successfully add one more - but only one more.

It appears that I have hit some sort of limit to the number of sites that can be in the Corporate User-Defined list.

I have 131 sites in my Corporate User-Defined list.
I have an additional 982 sites in my Corporate Managed list.

I have clicked "Refresh Policy from Server" and "Force Sync to Other Browsers" to attempt to debug this but neither shows a problem. Additionally when I click Troubleshooting Detangle, I see:

Troubleshooting Detangle
✔️ Platform supported.
✔️ OS package present.
✔️ Managed sitelist downloaded.
Everything looks good from here! :) If you are having issues with Detangle, feel free to open a bug.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.