-
Notifications
You must be signed in to change notification settings - Fork 2
FreeCodeCamp Browsec Security
Lately some of the campers started facing strange problems, namely "Content Modification" by some Internet Service Providers (ISP), leading to the FreeCodeCamp.com (FCC) website being broken sometimes.
This came to light with some of the issues logged by campers :
- #5999 : Indian ISP's injecting Ads breaks site
- #6122 : Serious Problem using the FCC IDE, console showing error...
- #6381 : Unable to view the Code editor in the browser
Well, for some campers, this is a classic case of man in the middle attack.
For instance, as seen in the issue #5999, the ISP of some campers from India is deliberately injecting Ads into the user's visited websites that's causing problems.
While, in other cases, ISPs sometimes use a similar strategy to cache the websites visited by consumers, so that they can serve the cached content to other consumers visiting the same websites, this saves them bandwidth costs, while making websites available faster.
But when this is not done correctly (or is done malaciously as in the first case), this modifies essential content for websites, and prevents them from running properly.
Simple, we need to encrypt our connection to the FCC website. By encrypting our traffic we bypass the ISP's ability to modify or cache our content as it passes through their infrastructure.
This can be done with a useful browser add-on called Browsec.
The add-on creates a VPN connection between your device and the outside world. That is, Mr. Peeping Tom (ISP), can't mess with your connection to the FCC website. Its technically same as if you were not in your home, but accessing the FCC website from US, Netherlands, or other similar places.
Behind the scenes it encrypts the data transmission, and hides your IP.
There you go!
You can download and install the browsec plugin for Chrome from the offical WebStore.
It's a good thing if you clear your browser cache for the first time you are going to use browsec, so that your browser loads all the files from scratch.
Step 3 : Restart your browser, and visit FreeCodeCamp.com
Just close your browser, and restart it. Check the browsec extention, for your desired endpoint location.
Download a portable Firefox version, with bundled add-on, from the Browsec website.
That's it! Happy Coding! If this works then do let us know in the Help Chat
When you visit the FCC website, or do the challenges, if you look at your browser's Developer console (Press F12 > Console tab), you should see similar errors like below.
These are classic cases of the issue.
Yes, why not, you can use any available VPN clients in the market, but keep in mind that Browsec is free and works just great!
Hmm, go for any VPN add-on that you can find for these browsers, Tor, is one such client, but they come with paid subscriptions, you can basically use any anonymizer that you want, however Chrome and Browsec are tried and tested and have worked for most campers in the past.
Of course yes. Why not? However remember that this does not make you invisible to law, so be careful of what you are doing! 😉
Please let us know in the Help Chat, we will try our best to find a workaround.
FreeCodeCamp does NOT endorse any of the softwares mentioned in this article, please use them at your own discretion. Some VPN clients may track your activity, also there could be side-effects such as slow speeds or delay in page loads.
Learn to code and help nonprofits. Join our open source community in 15 seconds at http://freecodecamp.com
Follow our Medium blog
Follow Quincy on Quora
Follow us on Twitter
Like us on Facebook
And be sure to click the "Star" button in the upper right of this page.
New to Free Code Camp?
JS Concepts
JS Language Reference
- arguments
- Array.prototype.filter
- Array.prototype.indexOf
- Array.prototype.map
- Array.prototype.pop
- Array.prototype.push
- Array.prototype.shift
- Array.prototype.slice
- Array.prototype.some
- Array.prototype.toString
- Boolean
- for loop
- for..in loop
- for..of loop
- String.prototype.split
- String.prototype.toLowerCase
- String.prototype.toUpperCase
- undefined
Other Links