The latest Skype update introduced advertisements inside instant message windows (in addition to the ones appearing during your calls and on your Home screen). This is how you stop them all.
What happened?
Even though Microsoft bought Skype for $8.5 Billion and the NSA probably uses it more than you do, some estimate that Microsoft loses about $2.5 billion every year on Skype, Windows Phone, and Xbox (believe it or not). This is the only way I can explain why this intrusive monetisation strategy is allowing these annoying ads to keep taking over more and more space of the Skype messenger window.
What now?
Solution #1 – Not ideal
When the update first rolled out in early November, some Windows users suggested that you could downgrade Skype to a previous version (6.9) and avoid the new IM advertisements. However, Microsoft could at some point force you to update to the latest one in order for you to be able to log on and/or use its new features.
Solution #2 – Not worth it
Other users had previously suggested blocking the hostnames where the unsolicited promotions derive from. Skype ads originate from a variety of different sources, so attempting to block each one separately would be time-consuming (and ultimately pointless) since the ad provider/server could change every time (blame the cloud).
Solution #3 – Now we’re getting somewhere
However, (at the moment), all the ad connections have something in common: they all use the HTTP and HTTPS protocols. Yes, Skype ads are just like Web ads, but they show up in your chat windows instead. And (again, at the moment) they all have a single root source, i.e. a single point of failure: https://apps.skype.com/. If you block this website from your Internet Explorer settings, you will stop receiving these ads, but you will also lose access to other Skype app services like the “Home” button and Facebook connections, so keep this in mind before you attempt it.
Bonus – Removing the ad placeholder
After you block the “apps” URL, as mentioned above, you will still see an empty ad placeholder eating up space of your chat window. In order to remove this, as this blog describes, you will need to edit the config file that Skype keeps for your account (C:\Users\your_windows_username\AppData\Roaming\Skype\your_skype_username) and change its AdvertPlaceholder value from 1 to 0. You may need to repeat this process when Skype updates itself.
Solution #4 – Thinking ahead
If Skype decides to change this (currently static) app address to a dynamically changing one, you will be back at Solution #2 – which was not worth it. At that point, in order to prevent Skype from connecting to any website, you will need to completely block the application from using the default ports of the http and https protocols: 80 and 443.
What’s the catch?
Caution :: Alert :: Important Note! This method will force Skype to completely stop using port 80 (http) and port 443 (https), which means that if you need your Skype calls to use these ports to bypass local or remote firewall/proxy limitations, or if you care about your “Home” button and Facebook connections, then please don’t proceed with this guide.
In addition to the above, this guide assumes that you will be using Windows Firewall. If you are using another firewall instead, then you will need to find a way to apply the following steps to the security software you have installed.
In any case, as always, use this information on your own responsibility.
Step #1 – Getting there
- Click Start => Control Panel (or wherever this option is in your version of Windows).
- Locate and click on “Windows Firewall”.
- It should say that it is On/Connected. If it’s off/disconnected, you will need to turn it on from the left-hand menu, but it may be off for a reason so, once again, proceed at your own risk.
- Locate and click on “Advanced Settings” (somewhere on the left hand menu).
Welcome to your Firewall rules.
Step #2 – Changing the rules
- Left click on “Outbound Rules” (left-hand side).
- Right click on “Outbound Rules” and select “New Rule…”.
- Select “Custom” and hit “Next >”.
- Select “This program path:”, click “Browse…”, find your “Skype.exe” (probably in C:\Program Files (x86)\Skype\Phone\Skype.exe), “Open” it, and click “Next >”.
- Select “Protocol type”: “TCP“, “Local port”: “All Ports“, “Remote port”: “Specific Ports“.
- A new field should now be enabled, so go in there and type: 80, 443
and then click “Next >”. - Leave these options as they are: “Any IP address” for both, and click “Next >”.
- Select “Block the connection” and click “Next >”.
- Select all the check-boxes (domain, public, private) and click “Next >”.
- Name this rule: SkypeAds
(or whatever you want, something obvious) and click “Finish”. - Quit Skype and run it again.
(Optional) Step #3 – Feeling paranoid?
So, what if Skype decides to embed the apps mechanism inside the application and starts using a random port to initiate the “ad flow” (instead of the Web ports you just blocked)? First, let’s assume that the marketing campaigns will still be stored on the advertisers’ Web servers, in order to allow them to control the content of the behavioural advertising (really, that’s a thing). You can set up a rule to prevent any webserver from initiating a “conversation” with your Skype, by creating another rule in your firewall – this time an inbound one.
- Left click on “Inbound Rules” (left-hand side).
- Right click on “Inbound Rules” and select “New Rule...”.
- You guessed it: repeat what you did for Step #2, and you will also create an inbound rule called SkypeAds.
- So, in the end, you should have a “SkypeAds” rule both in Inbound and Outbound rules.
You are now blocking Skype’s in & out communications from ports 80 and 443 (the Web ports). Unless you’re using a limited network and/or software setup, you should be able to make calls and chat normally – just not through the Web ports.
(Optional) Step #4 – How to undo your changes
What if you suddenly have a change of heart and you want to make everything as it was?
- Left click on “Outbound Rules” (left-hand side).
- Find the “SkypeAds” rule, right click on it and select “Disable Rule” or “Delete“.
- Left click on “Inbound Rules” (left-hand side).
- Find the “SkypeAds” rule, right click on it and select “Disable Rule” or “Delete“.
…and you’re back to where you started.
Final Note (feeling extra paranoid?)
So, what if the advertisers decide to set up servers that offer ads from ports different than the standard 80 and 443? What if MS Skype and the advertisers agree to use a dynamically updated list of randomly generated ports to communicate with each other and forcefully send you these banners, successfully packing your screen with unsolicited messages? Well, we have a word for that…
Conclusions
I didn’t mind the spammy ads until now but, at some point, it’s just too much. People generally want to feel at ease when they are typing a message, while they are attempting to write down and communicate their thoughts. These ads, apart from annoying, can also be distracting, which abolishes the whole concept of having a personal conversation.
This guide can instantly/easily become obsolete if Microsoft decides to use other ports to receive marketing banners from the advertisers. The solution provided in this tutorial is only a quick patch/fix, but it should give you enough time to gradually break the Skype-habit, while you’re looking for less-intrusive alternatives.
Konstantinos Gkoutzis
http://kgk.gr