111

I recently started using a VPN and I've felt more comfortable browsing the Internet. My VPN allows me to select another country through which my traffic is routed to make it appear I'm located in that particular country. "What's my IP" and similar services show my IP address located in that country as expected.

Search engines, however, are apparently not fooled. As I go to Google, for example, the front page is in my native language and it says my true country of origin at the bottom of the page. I was aware that this happens, as a VPN is not truly a means to make myself anonymous, and companies like Google can track my true location (I assume they do this for example by looking at the country specific top-level domain of the sites I visit?).

But what puzzles me though, is that other search engines, such as DuckDuckGo, which promise not to track their users in anyway, can also see my true country of origin. The front page of DDG also appears in my native language (not English).

So how is it that DDG and other "non-tracking" services see my true location without "tracking" me? Even when my IP address is located somewhere else, what gives my location away in such an obvious way that DDG can still claim not to track me?

  • 136
    Hint: what is your browser's preferred language? – Dmitry Grigoryev Dec 4 '17 at 21:13
  • 36
    @Lynob Why couldn’t Google track you when you’re using a VPN? A VPN doesn’t block cookies. – Steve Dec 5 '17 at 5:04
  • 10
    It annoys me that google is shown in the language of whatever country I choose as my VPN's exit. The exact opposite of the OP. – Mawg Dec 5 '17 at 7:28
  • 21
    If you live in London, and your VPN is set to make you appear in Los Angeles, you are the same as a Londoner who took his laptop to Los Angeles and uses it there. You will still carry tons of cookies with you on your laptop that were created in London. – gnasher729 Dec 5 '17 at 8:15
  • 15
    Language != country. Duckduckgo isn't implicitly or explicitly doing anything with your location and simply honors your language preference. Many websites conflate the two, ignore the language preferences and redirect you to a different version of the site based on the location, which I find very annoying. – Relaxed Dec 5 '17 at 9:22
187

One possible explanation is that DuckDuckGo is using the headers that are sent in your request to determine their display. For example, it is very common to use the Accept-Language header to determine in which language a webpage should be displayed. This header is set by default in all modern browsers based on the language preference settings. My browser, as an example, sends Accept-Language: en-US for all requests, letting the target site know that they should attempt to send back US based English if possible. This does not require any sort of tracking to be used.

If you visit https://duckduckgo.com/settings you can see what the language settings are. The default language is Browser preferred language

  • 22
    I just tested changing the Browser's language to set this header, and DuckDuckGo does respond to it. For completeness, there is also a related JavaScript API under: navigator.language and navigator.languages – Alexander O'Mara Dec 4 '17 at 20:15
  • 13
    Yes, this was the issue. I tried another browser where my language is set as English and now DDG changed to English as well. Thank you! – S. Rotos Dec 4 '17 at 21:07
  • 80
    More of a feature than an issue. I hate when websites switch which language they show pages in because my of VPN – Qwertie Dec 5 '17 at 0:07
  • 16
    @Qwertie I actually hate when websites switch which language they show pages in for any reason. – Peter Dec 5 '17 at 13:35
  • 16
    "it is very common to use the Accept-Language header to determine in which language a webpage should be displayed," which is exactly what they should do. Sadly, it seems even more common for sites to completely ignore the Accept-Language header and choose the language based on unreliable methods such as IP geolocation. – Dave Sherohman Dec 6 '17 at 12:01
48

I had the same problem: Google always responding in my native language, even though I used a VPN elsewhere in the world. I wiped all cookies and so on....to no avail... and then I found that I had an IPv6 leak! Google was using IPv6, and saw my home IP as usual. It wasn't "tracking" me, I just contacted Google straight around my VPN.

Do the test here: http://ipv6leak.com/

When I blocked ipv6, google responded in the language of the country of the VPN address.

Maybe you have a different problem, but have you checked this ?

  • 1
    This does not seem to be the problem; the link you provided displays the IP address of my VPN. – S. Rotos Dec 4 '17 at 20:25
  • 4
    All the better for you then ; you had a different issue. The symptoms just were the same. – entrop-x Dec 4 '17 at 20:30
  • 3
    And why wouldn't it? Since when is the language you speak determined by your location? – hobbs Dec 4 '17 at 22:35
  • 1
    @hobbs The question wasn't so much why it should/shouldn't do this, but how given the use of a VPN and DDG's promise not to track. As now confirmed, the "how" is the Accept-Language: header that (most) browsers send. – TripeHound Dec 5 '17 at 10:27
  • That ipv6leak.com site appears to be broken. Do not trust its results. – Michael Hampton Dec 5 '17 at 23:38
10

I think @punpun1000 is right, you can easily test your browser language by visiting this website - https://browserleaks.com/ip or just simply run this JavaScript code:

alert(navigator.language);//works both in Mozilla and chrome
alert(navigator.language);//works both in Mozilla and chrome
alert(navigator.userLanguage);// Works in IE

More about regions and languages visit https://duck.co/help/settings/regions and https://duckduckgo.com/params

  • 6
    FYI: window.navigator is the same as navigator (excluding any funny business). The former is just accessing the object via a property of the global object. – Alexander O'Mara Dec 5 '17 at 1:47

protected by Community Dec 5 '17 at 20:43

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.