Turbo extension for Microsoft Edge

Microsoft Edge is the latest browser for the Windows 10 platform. In the Windows 10 Anniversary Update (build 1607), a browser extension feature was added to allow custom functionality to be built by third parties.

Edge support for third party extensions is very new and limited. Therefore, multiple manual steps are required to enable the Turbo Edge extension. This process should be simplified as Edge extension support matures.

Follow the steps below to enable the Turbo.net extension.

Enabling the Turbo Edge Browser Extension

Step 1: Ensure that you have the latest Turbo.net Client installed.

Step 2: Enable Edge communications to localhost via the command below:

# Run this command in an elevated, administrator command prompt
> CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

All applications which are built with Windows 10 “Modern UI” architecture have disabled access to the local machine network. The Edge browser is built on this architecture so access to localhost is disabled. The Turbo.net browser extension requires communication with local services provided by the Turbo client runtime in order to allow coordination with the Turbo Sandbox Manager.

Step 3: Enable Edge browser extensions by typing about:flags into the browser’s location bar and checking the Enable extension developer features checkbox.
Once enabled, you’ll need to restart the browser.

Edge Enable Extension

Step 4: Load the Turbo.net extension by clicking on the Edge options menu dropdown and selecting Extensions.

Edge Extension Menu

This will show the Extensions menu.

Step 5: Click on Load Extensions and select the path to the Turbo.net Edge extension in the client install directory, which may be at one of the following locations depending on your environment:
a) c:\users\[user]\appdata\local\spoon\[version]\edge
b) c:\program files\spoon\[version]\edge
c) c:\program files (x86)\spoon\[version]\edge

Edge Load Extension

Step 6: Once loaded, the Turbo.net Extension will show up in the list of extensions that you have enabled for Edge. You will again need to restart your browser in order for the extension to be enabled.

Edge Turbo Extension

Step 7: Edge automatically disables extensions for the first 10-seconds when it is started. After that time a banner prompt will be shown on the bottom asking to turn them on. Click the Turn on anyway button to enable them.
Currently this step is required every time you start the Edge browser.

Edge Turn On Extension

At this point you’ll be able to use Turbo.net functionality!

Edge Running Turbo Container

Tour: Containerizing .NET, Java, and ASP.NET applications

Tour: Subscribing a XenApp farm to Turbo.net

Need to subscribe an entire XenApp farm to a set of containerized applications?

Turbo.net now provides tools to automatically push Turbo channels to XenApp servers, including making necessary updates to the XenApp configuration. Turbo.net’s Citrix tools support XenApp 6.5 and forward.

Step-by-step instructions for the xa7-subscribe and xa6-subscribe tools have been added to the Turbo Citrix tour:

https://turbo.net/tour/citrix#subscribing-a-xenapp-farm-to-turbonet

From Zero to Containers in 90 Minutes

The new Turbo Walkthrough takes you from zero to proficiency in core container concepts in 90 minutes.

Start your container experience now at: turbo.net/tour

You can follow along with the Turbo Walkthrough with any modern desktop or server version of Windows, including Windows 7, 8, or 10; and Server 2008 R2, 2012, or 2016.

Stay tuned as we continue to add new topics over the coming weeks. Want to see more on a specific topic? Tweet to us at @turbohq.

Improved Error Handling in TurboScript

Turbo.net provides thousands of images ready to go in the Turbo.net Hub. But if one of those doesn’t do the trick, TurboScript is a great way to create your own images.

In the past, TurboScript error messages were often confusing, leaving you clueless about the cause. A script may look correct but gives a parse error when executed, with no further information.

For example, could you have spotted what’s wrong in this example?

Useless Error Message
Here is another example. What equal sign is wrong and why?

bad-hosts

The latest Turbo Client now provides much more explanatory help text for any failed command, including inline information and suggestions. Let’s retry the above examples with the newest clients.

First example: Aha, the import command needs a type specified!

bad-import-fixed

Second example: Looks like the hosts command doesn’t need a equal sign:

bad-host-fixed

 

The newest Turbo Client including error handling updates is now available on Turbo.net. If you already have Turbo installed you will be automatically upgraded within 72 hours. Enjoy!

Running Containers as Different Domain Users

By default Turbo containers will run in the security context of the user executing the turbo command. But what if we need to run as a different user?

In this example, let’s run SQL Server Management Studio as a different domain user than the currently logged in user.  In our scenario we have the Turbo Sandbox Manager installed in the local profile, which is the default behavior.

Our first attempt is to just use the runas command to execute the command turbo run ssms2012:

> runas /user:user@domain "turbo run ssms2012"
Enter the password for user@domain:
Attempting to start turbo run ssms2012 as user "user@doamin" ...
RUNAS ERROR: Unable to run - turbo run ssms2012
5: Access is denied.

Unfortunately with the Turbo Sandbox Manager installed in my local profile I cannot use runas to run SSMS in the user context I want since it does not have access to that user’s profile!

One workaround then is to install Turbo for all users via MSI and then use runas:

> runas /user:user@domain "turbo run ssms2012"

This works well — except we may not want to reinstall the plugin, or may not want to install it for all users.

We can solve this by using runas with the /netonly flag:

> runas /netonly /user:user@domain "turbo run ssms2012"

The /netonly flag forces the application to use the runas account for remote resources and the logged in account for local resources.

“An Introduction to Turbo Containers” talk by Turbo founder Kenji Obata

This talk by Turbo founder Kenji Obata was given at the E2EVC conference in Las Vegas and walks through the highlights of Turbo containers.

Modifier Layers in Turbo

The Turbo system has recently learned a new concept: modifier layers. It is a convenience feature that helps simplify startup file selection for containers.

First, some background. As you can read in our documentation, the startup file for a container is taken from the last image specified on the command line. For example, if you type turbo run firefox,chrome, chrome.exe is used as the startup file. So, previously, if you entered something like turbo run chrome,block-ad-routes, cmd.exe would be used as the startup file because it’s the default when an image does not have any startup file, as is the case with block-ad-routes. To start Chrome, you needed to say turbo run block-ad-routes,chrome.

This isn’t the expected behavior since there are some images that are never intended to be the entry point to the container, but rather an addition that pulls in some tools or modifies configuration in some way (adding network routing rules for example). So we have introduced the concept of modifier layers. A modifier layer is simply an image that has no startup file or services defined. Regardless of its position on the command line, it is never used as the entry point to the container, so it does not overwrite any startup file in the image list, regardless of position.

In short, you can now use the command turbo run chrome,block-ad-routes and what happens is exactly what you would expect — Chrome is started!

Deploying Turbo Browser URL Redirection via Group Policy

The Turbo URL Redirector lets you automatically launch a specific containerized browser when a user accesses a specific web site. (Details of the Turbo URL Redirector were discussed in the article Automatic URL Redirection to Turbo Browsers.)

In this article, we explain how to deploy this great feature to users through Local Group Policy (GPO).

Before You Start

The Turbo URL Redirector is a native browser extension that assists in web navigation by processing clicked hyperlinks and URLs entered in the navigation bar. The extension can be configured to open specified domains using a browser available on Turbo.net or a local TurboServer.

The Turbo URL Redirector for Internet Explorer is implemented in the Turbo.net Browser Helper Object and supports IE versions 8, 9, 10 and 11. The Turbo.net Chrome Extension provides the same experience for users of Chrome 42 and above.

A step-by-step walkthrough of the Turbo URL Redirector for Internet Explorer was described in this article. If you are not sure how to configure URL redirections using the Turbo.net website, we encourage you to read the previous post before moving to the next section.

Enable Redirection

The Turbo URL Redirector is disabled by default, because its installation requires elevated permissions to copy IE Browser Helper binaries to %ProgramFiles(x86)%.

To enable the Turbo.net URL Redirector, execute the following command:

> turbo config --enable-redirector
Hub server: https://turbo.net/
Browser redirection is enabled

Enable the Turbo Browser Helper Object for All IE Users

Microsoft Internet Explorer can be configured for all users through Local Group Policy. This section explains how to specify the GPO to silently load and enable the Turbo.net Browser Helper Object. Depending on the policy settings the user may be allowed to disable the add-on afterwards.

First open the Local Group Policy Editor:

> gpedit.msc

Select the Add-on Management node under Computer Configuration/Administrative Templates/Windows Components/Internet Explorer/Security Features in the Local Computer Policy panel.

IE_AddOnList

Double click Add-on List in the detailed view.

Select Enabled and click the Show button in the Options panel.

Add a new entry with Value name {DEC8F2AC-A81F-4BC9-A973-41EE4C4AF116} and Value 1. The Value name corresponds to the class identifier (CLSID) of the Browser Helper Object. The Value is a number indicating whether Internet Explorer should deny or allow the add-on to be loaded. Setting Value to 1 means that an add-on should be allowed. Enter a 2 to allow the add-on to be loaded and permit the user to manage the add-on through Add-on Manager. We recommend using 1 for most administration scenarios.

IE_ShowContents

Click OK to save options and close the dialog.

Press the Apply button to update the policy settings and OK to close the dialog.

Launch the native IE to verify settings.

If the Turbo Sandbox Manager is not running you may see an Internet Explorer Security alert explaining the process will be opened outside of Protected mode. (Turbo Sandbox Manager is the service responsible for integration of Turbo applications with the Turbo.net website.) You can ignore this warning by checking Do not show me the warning for this program again and then clicking Allow.

Go to Tools (Alt + X) and open Manage Add-ons (M).

IE_ManageAddOns

Turbo.net Browser Helper should be included in the list of currently loaded add-ons and be enabled. Note that actions to change the status of the Turbo.net Browser Helper are disabled.

Enable the Turbo.net Extension for All Chrome Users

Google Chrome configuration for all Windows domain users can also be defined using Local Group Policy. This section provides step-by-step instructions on adding the Turbo.net Extension to force-install extensions in Chrome. The extension will be installed silently, without user interaction and cannot be uninstalled by the user. All permissions requested by the extension will be granted implicitly, without user interaction.

As of this writing the Turbo.net Extension requires permissions to read and change all data on the visited websites and communicate with cooperating native applications. The extension supports Chrome 42 and above.

First, Download the IP archive with policy templates from the Chrome website.

(For more information about the policy templates and other supported configuration settings refer to the documentation for Chrome administrators.)

Unpack the archive to and install templates on the local machine by copying them to %SystemRoot%\PolicyDefinitions directory.

Copy .\policy_templates\windows\admx\chrome.admx to %SystemRoot%\PolicyDefinitions.

Copy .\policy_templates\windows\admx\locale\chrome.adml to the %SystemRoot%\PolicyDefinitions\locale directory, where the locale alias corresponds to the locale name (en-US for United States) of the Windows display language used on the host machine.

Run the Local Group Policy Editor:

> gpedit.msc

Select Extensions node under Computer Configuration/Administrative Templates/Google/Google Chrome in the Local Computer Policy panel.

Chrome_LocalGroupPolicyEditor

Double click on the Configure the list of force-installed apps and extensions in the detailed view.

Select Enabled and click the Show button in the Options panel.

Add the following entry to the list of Extension/app ids and update URLs to be silently installed.

ldibmiofagdkgiphkcokpooepankmacl;https://clients2.google.com/service/update2/crx

The first component is the Id of the Turbo.net Extension. The URL points to the standard Chrome Web Store update service.

Chrome_ShowContents

Click OK to save options and close the dialog.

Press the Apply button to update the policy settings and OK to close the dialog.

To verify that local policy settings are applied correctly launch Google Chrome and go to chrome://extensions URL.

Chrome_TurboNetExtension

The Turbo.net Extension should be listed on the page with the Enabled checkbox set, but not available for user interaction and a badge informing that the extension was installed by enterprise policy.

The Local Group Policies presented in this article apply equally well to browsers launched with merge or write-copy isolation using Turbo:

> turbo try google/chrome --isolate=merge
> turbo try microsoft/ie --isolate=write-copy

For a list of all browsers available in Turbo.net, see the Browser Sandbox Channel. Customized web applications for browsing popular web sites such as Facebook, Twitter and WebEx are available in the TurboBrowsers repository. Remember that all Turbo browsers can be customized with specific plugins, IP and site blocking, and many other customizations.

Please share any comments or suggestions on this article with us at @turbohq!

Automatic URL Redirection to Turbo Browsers

Turbo.net makes it easy to create customized browsers for specific web sites. But how do you ensure users run the correct browser for a given site?

The new Turbo Browser Redirector automatically launches the appropriate Turbo browser in response to a user accessing a specified URL pattern.

This article will introduce Turbo.net URL Redirector and explain its configuration and use.

Before You Start

The Turbo URL Redirector is implemented via the Turbo.net Browser Helper, a native browser extension that assists in web navigation by processing clicked hyperlinks and URLs entered in the navigation bar. The helper can be configured to open specified domains using a browser available on Turbo.net or a local TurboServer.

Turbo.net contains the latest versions of all popular web browsers. It also provides customized web applications to improve the user experience when browsing popular web sites such as Facebook, Twitter and WebEx. For a complete list of available browsers, see the Professional Web and Home Web channels. Administrators can also define custom web browsers for specific web sites.

The Turbo.net Browser Helper is available for Internet Explorer versions 8, 9, 10, and 11. Extensions for Chrome and Firefox will be available soon.

Enable Redirection

The Turbo.net Browser Helper is included in the latest Turbo Client release, but the feature is disabled by default.

To enable the Turbo.net URL Redirector, execute the following command:

> turbo config --enable-redirector
Hub server: https://turbo.net/
Browser redirection is enabled

Depending on the UAC policy defined on your machine you may see a dialog asking for elevated permissions. These are required to copy the Turbo.net Browser Helper binaries to %PROGRAMFILES(x86)%.

Enable the Turbo.net Browser Helper add-on and launch Internet Explorer.

You may see an Internet Explorer Security alert explaining that the Turbo Sandbox Manager will be opened outside of Protected mode. (Turbo Sandbox Manager is the service responsible for integration of Turbo applications with the Turbo.net website.) Ignore this warning by checking Do not show me the warning for this program again and then clicking Allow.

Go to Tools (Alt + X) and Manage add-ons (M).

BHO_ManageAddons

The Turbo.net Browser Helper will be displayed in the list of currently loaded add-ons. Change the status of the add-on to Enabled if required and close the dialog.

Define Redirection Rules

Sign in to the Turbo.net website and go to the Home tab.

BHO_SelectApplicationFromHub

Click Select an application from the Hub. If have selected applications previously, expand the Add button and press From Hub.

Search for the Facebook app and press Add to display the Settings dialog.

BHO_SearchForFacebook

Scroll down the General tab and look at the URL Redirections section.

BHO_UrlRedirections

The Facebook application defines a default redirection for the facebook.com domain. Click Save to add the application to your subscription.

(Administrators can define custom browsers and redirection URLs from the Settings menu for other web sites.)

Synchronize your local device with the web site by pressing Sync Device on the dashboard.

Browse the Internet with Turbo.net Browser Helper

Assuming you are using IE, go to facebook.com using the navigation bar.

The Turbo.net Browser Helper will display a notification explaining that the domain will be opened in a separate window. The Turbo Facebook browser will open in a separate window.

BHO_RedirectorMessage

Questions or comments? Ping us at @turbohq and stay tuned for news on Turbo URL Redirector support for Chrome and Firefox.