Prevent tracking
Search for "top plugins to prevent tracking", and most of the answers will suggest using uBlock origin or adblock plus, ghostery, privacy badger and disconnect. Additionally, take care to only use websites that start with https://
, i.e. one that are secure. HTTPS Everywhere is a good plugin to enforce this behavior (..although as of writing this, Jan-15, 2021, I've experience having https-everywhere activated as interfering with Google and Fidelity 2F login).
Limit permissions to apps! On browser, this means restricting websites from accessing your microphone, camera and from knowing your location. For some reason, many sites want to know location, which, they will still be able to by using your ip-address. Still, why explicitly give more fine-grained location data. For smartphone users, make sure to limit the app permission rather than leaving it as default, particularly, the camera, microphone and location permissions. Not a part of reducing tracking, but more to reduce distraction.. I would suggest limiting the website's or app's ability to show notification, unless, it's critical for your work. For example: getting calendar notifications so you don't forget meeting is a critical requirement, but on your work computer, and not on your personal one!
Disable third party cookies! While some cookies may be essential to have a good browsing experience, many others are not necessary. Disabling third party cookies in the webpage setting a good first step to reduce leaving unnecessary tracking footprint on the internet. This article provides examples on how to disable third party cookies. Just a heads up.. doing so "may, occasionally" cause some sites to not work, specially when you are trying to use one of maor websites like Google, Facebook, etc. for login on any other website. It will not be the case that all your browsing experience will break when you disable third party cookies. So, I'd suggest not enabling the third party cookie back on as soon as you hit any issues for the first time. Also, if needed, your browser can allow adding minor exceptions for some websites and allow storing cookies from those sites. Only if you keep consistently running into issues.. only then, and after you've done some research, and discussed with others if there is no workaround, then I would suggest enabling back the third party cookies.
Disable port scanning
I first came across this term when same was identified as being done by EBay. The same article also explains that the scans are looking to see if someone is running a remote control service on user's computer, either knowingly or not. If positive, this could be a sign that the user's PC has been compromised by an attacker, who is trying to copy the user login credentials; And so, port scanning is a fraud prevention measure. A few other references for port scanning can be found here and here. To me, the suspicious part about it is that it is done automatically, without any user-consent and in background. So, unless it is looked for, a user will never know of it happening. If you want to block it from happening, then this article can be useful. TL;DR: disable websocket using adblock plus or uBlock origin.Use ModHeader plugin
At least in Chrome, a plugin called ModHeader is available that can be put tosome great use. One great daily use is to add response headers of X-Content-Type-Options: nosniff
, X-XSS-Protection: 1; mode=block
, Strict-Transport-Security: max-age=31536000
and X-Frame-Option: SAMEORIGIN
. Although these are almost standard, I've seen a couple of websites that sometime break apart, thereby signalling that it's not well made website. Another great use is if during development, you are running into CORS error; And while a good solution is to properly solve it, maybe you want a quick fix for the time being so that, let's say, you can do some demo. When needing a quick fix, use ModHear to add necessary CORS response header so that you can get the local development efforts working.
Change website rendering
Have you landed on a website that has some flashing element which makes you dizzy, or just some annoying popup that remains there, or any general annoyance? Next time, when it happens, remember at back of your head that whatever is happening, is happening on your browser and so your have control over the content. If on chrome, open "Developer tools" (Ctrl + Shift + I; other browsers also provide developer tools) and go to "Elements" tab. In here, find the html element, or the css style that is giving you a headache and just remove it! You can also move the mouse to the desired html element on the webpage, right click and go to "Inspect Element". This should also open the "Elements" tab in "Developer tools".The only downside is that this is not permanent and if your load the page again, your update/delete you just did will be lost. But at least, there's a way! This is also useful if you don't want to change anything but want to understand how a website is working the way it is. There's one more option vailable - check next section on TamperMonkey!
This can be useful to close annoying modals that come over content (like, you can ony read after you subscribe, or after you disable adBlock, etc.). It may not get a perfect result, but is better than nothing in most cases. Also quite helpful is the use of reader mode plugin. Most annoying popups and ads are designed to come on top of actual content, and so when switching to reader mode, they get filtered out. Truth be told, many websites that hide content behind paywall become accessible after swtching to reader mode!
Finally, if you find yourself sitting before a laptop for long hours, you may prefer switching to "Dark mode". It's supported by Windows (..i'm guessing also by MacOS, but I haven't worked on it). Use Dark reader on chrome to switch websites to dark mode.
Tamper with TamperMonkey
TamperMonkey is a userscript manager that is available as a browser extension (see here for its chrome extension). This software enables the user to add and use userscripts, which are JavaScript programs that can be used to modify web pages (reference: Wikipedia). So how does it help? Most modern web application have RESTful APIs to serve json data and front end libraries that put the data in correct places and apply related style. Open the network tab in developer console as you browse and you can see if such interactions are made. Most often it is also the case that the RESTful APIs return lot more data than what' displayed on front end. With TamperMonkey, one can inject custom scripts to make the data visible, or maybe change the behavior from some of websites. Another good thing of using it is that the script can be saved and associated to the webpage, and it will automatically activate when on the page. So, any changes you make and save as a script will remain on your browser and won't get washed out when you refresh the page.
Setting a local test server
You can see how a html file renders by making one locally and opening it in a browser. However, the browser identifies it as a local file, and separate from had this file been sent by some remote server, i.e. after you type a web address and open it. Some features are disabled for local file. To get best of both worlds for quick development efforts, i.e. ease of making file locally and having it rendered via server, a simple solution is to use Python's SimpleHTTPServer, or http.server. This article at MDN gives a lot more details on this topic.