Submit News Alternative Tip Form

An Introduction to Tor on Chrome OS

An Introduction to Tor on Chrome OSTor is making mainstream news as of late with several large public interest stories – but you won’t be able to use Tor on your Chrome OS device without getting creative.

Leaked NSA documents, drug raids, and bitcoin have all brought online anonymity to international attention. With such a focus, there is a lot of renewed interest in the Tor project from both the technology savvy and the average user. It shouldn’t be any surprise that as Chrome OS devices are becoming more popular, the streams are beginning to cross and as a result there is great interest in getting Tor working on Chrome OS.

Tor is designed to offer a layer of anonymity [when using the web]

Let’s start by defining Tor in relation to the content of this article.

Tor is a network designed to offer a layer of anonymity by routing your traffic through several other computers before exiting to the open web. I would strongly suggest doing some additional research on how Tor works if you’re not already familiar – while initially overwhelming, it can be a fantastic tool to use.

Chrome OS currently offers support for several VPN connections, but no way to connect to the Tor network natively from the stock network interface. That isn’t meant to imply the team hasn’t considered it – a ticket first opened in July 2011 has a project member calling to combine Tor with incognito mode. In fact, work started on that very feature until it was abruptly marked as “WontFix” in September 2012. The reason cited was not related to a change of heart, but rather internal disputes over user experience and workflow challenges.

“We’re willing to put in some of the effort too.”

That ticket has recently been revived by a couple of comments from project members interested in exploring what needs to be done. A member of the Tor project also chimed in to vocalise that they would be more than happy to help where possible – a fantastic step in the right direction. Unfortunately, even if the Chrome Team opts to start working on Tor integration as a mainline feature, there will still be a period of time before support hits a stable build.

Luckily, and perhaps unsurprisingly, users of Tor are often eager to create workarounds that circumvent silly things like whether a feature exists or not. One such workaround was noted in a tutorial shared by Jose Mendoza that requires nothing more than an Android smartphone and two specific apps.

While the original tutorial can be found here, it assumes some advanced technical knowledge. For the purposes of clarity and ease of understanding, I’ve rewritten the tutorial with the blessing of the original author. Let’s take a look at what configuration is necessary to start using Tor today.

Note: This tutorial will quickly establish a Tor connection, but is not a full solution. For example, .onion sites are not accessible using this method. There may be other flaws as well, so please exercise caution.

Tutorial: Using Tor on Chrome OS

Requirements:

  • A Chrome OS device
  • An Android device (no root required)
  • Orbot app from Google Play (see below)
  • Proxy Server app from Google Play (see below)

In this walkthrough we will be installing and configuring the Android apps to work with each other, directing all traffic targeted at a specific port through the Orbot app (and thus into the Tor network), and finally updating our Chrome OS proxy settings to use that connection over the local network. You will not need any cables, but you will need both devices to be on the same local network (WiFi works well).

 Orbot App (Free)   Proxy Server App (Free) 

Installing and Configuring Orbot

Orbot is the official Android app for the Tor project. The initial installation should be straightforward, you may select the default settings for all prompts (simply click “Next”).

Installing and Configuring Orbot (1 of 2)

Installing and Configuring Orbot (1 of 2)

Installing and Configuring Orbot (2 of 2)

Installing and Configuring Orbot (2 of 2)

Once you’ve completed the initial setup, you’ll be shown the start screen. In order to activate the connection, you will need to long press the “power icon” in the center of the screen. That icon will glow green once successfully connected to the Tor network. Do not be concerned if the initial connection takes some time (5 – 10 minutes).

Long Press to Connect

Long Press to Connect

Installing and Configuring Proxy Server App

In this tutorial we will be using an app called “Proxy Server”, but almost any Android app that creates a configurable proxy server will work. The initial installation should be straightforward, and will land you on a screen with a menu bar. On that screen, click “add” followed by “proxy server”. Now we will configure the settings.

  • Server Name: Tor Project
  • Run on Port: 47433
  • Enable the “Forward all requests to the same host” Option
  • Forward to Host: localhost
  • Forward to Port: 8118
  • Click the Back Button, Save Settings

Note: When configuring the Port as 8118, I had issues with only being able to type 3 digits. To solve this, I clicked the “back” button, saved my settings, and then edited the server listing I had just created. This allowed me to add the final “8″ to the port number.

Proxy Server App Configuration (1 of 2)

Proxy Server App Configuration (1 of 2)

Proxy Server App Configuration (2 of 2)

Proxy Server App Configuration (2 of 2)

Once you’ve saved your settings, you’ll be redirected back to the main screen where a new item titled “Tor Project” will have been created. Click on it to invoke the menu, then click “Start”. You’ll receive a prompt informing you that the server has started.

Lastly, you’ll want to click the “Info” icon in the top menu bar. This screen will display information about your device’s connection. Pay careful attention to the “WiFi IP” address – you’ll need this in the next step.

Make Note of The WiFi IP Address

Make Note of The WiFi IP Address

Configuring Chrome OS

Chrome OS makes it rather easy to add and remove proxy servers, so this should be a breeze. Simply visit your settings page (chrome://settings/), click on your WiFi connection and navigate to the Proxy Tab. From there select “Manual Configuration”, then in the HTTP proxy field enter the WiFi IP Address from the Proxy Server app and the Port from the Proxy Server App (47433). Once completed, you’re on to the next step!

Configure Chrome OS to Use The HTTP Proxy

Configure Chrome OS to Use The HTTP Proxy

Verifying a Successful Result

As a final step, you’ll want to make sure that everything is working properly. The easiest way to check is to visit a site like What’s my IP and see if the reported location differs from your actual location. You may also check the notification tray of your Android device for Orbot’s ongoing traffic rate.

Orbot's Ongoing Traffic Rate

Orbot’s Ongoing Traffic Rate

Final Thoughts

Regardless of whether the Tor project is of use to you, there are thousands of people around the world that rely on it for safe web browsing. At the moment, those people are turning to other operating systems to get the job done.

Chrome OS, with built-in verified boot and extreme sandboxing, would be a perfect candidate for a quick Tor access machine. If you agree, and would like to show your support for the inclusion of the Tor project within stock Chrome OS,  hit the link below and click the “star icon” in the top left corner of the page.

The star metric is used to determine the interest in the ticket at hand; however, please do not comment on the ticket unless you have technical information to add to the discussion – anything else is considered unnecessary spam.

Safe browsing everyone.

Issue 200618: Tor as a VPN for ChromeOS 

  • someone

    Wow! Thanks for the instructions! Looking forward to try it soon.

  • lee colleton

    You should check Use the same proxy for all protocols

    Also, check.torproject.org will tell you if you’re coming from the Tor network.

  • lee colleton

    Another point is although you won’t need any cables, Proxy Server can be a serious drain on the battery of an Android device. Keeping it plugged in will allow the Android device to maintain it’s state of charge more easily. In this configuration, one may also enable tethering to their Android device. Tethering will enable an Ethernet connection over USB, which will prevent retransmission on the WiFi network and minimize latency. The IP address of the Android device will be displayed as the Gateway in the network configuration on the Chromebook; No need to go fishing for it in Proxy Server. Copy the Gateway IP address into the “Manual proxy configuration” field as above. The port set under Proxy Server is arbitrary, it doesn’t have to be 47433. I pick a memorable number for ease of configuration.

    • someone

      Is there any need in this Ethernet-over-USB to set the proxy server? Isn’t every bit going through the phone anyway? Maybe Orbot is enough this way. Hm?

      • lee colleton

        Ethernet over USB isn’t necessary; One can use the proxy with both the Chromebook and Android device on the same WiFi network.

        However, this means that every packet goes from the Chromebook to the WiFi access point, then from the AP to the Android device through it’s proxy, onto Tor via Orbot and then back from the Android device to the WiFi AP. This retransmission over WiFi costs more power for both devices and increases congestion.

        Plugging in the Android device reduces lag and also keeps it charged: Proxy Server is a battery hog.

        • someone

          Exactly, that’s what I’m asking: IF I choose the Ethernet-over-USB option is there any need for the proxy? I guess not, there is no unnecessary wifi usage and the battery is also charging. Am I right?

          • lee colleton

            The proxy program is needed to accept incoming connections from another device.

            If you have enabled root access on your Android device, you can make use of the transparent proxy feature of Orbot. However, this guide was written with the assumption that the devices in question had not been rooted.

    • http://www.craigtumblison.com/ Craig Tumblison

      Excellent additional points, especially in regards to battery drain and tethering. As for the port number for the proxy server, yes, that is arbitrary, but for the clarity of the article I provided one (the Orbot port is specific, and I wanted to create as little confusion as possible between the two). Thanks again for the insights!

  • lucidity

    I’m beginning to believe that running Chrome through Tor is not a very good idea. The reason is that using the SOCKS proxy setting will send all of ChromeOS’s traffic through tor. This immediately destroys the anonymity since you are logged into Google (in most cases) when using ChromeOS. Now Google can connect your IP and your identity, in theory this information could be shared with any other 3rd party as well. I like the idea of using Tor on my Chromebook, but I wouldn’t do anything that actually required privacy, because you are almost certain to leak identifiable information. For true privacy there would need to be a separate standalone browser application that should connect through SOCKS, but that doesn’t effect the SYSTEM proxy setting so authenticated traffic wouldn’t go through Tor.

  • AcebwinCR7

    This procedure is basically for android phones , but is it possible to use TOR with chrome on pc .
    I seriously have no idea how to do that .

  • Peter Frazier

    i am not getting the Wifi IP.. its loading up as zeros.. i’m on sprint with a moto-x. are you required to have tethering? i’m currently not paying the additional. i’ll read it again to see if root is required and i just missed it.

    i like this idea.