Showing posts with label Skype. Show all posts
Showing posts with label Skype. Show all posts

Wednesday, July 5, 2017

How to get Skype on the Web to work in Firefox in old Android

As you may already know, Microsoft ceased Skype app support below Android 4.0.3. This covers Android 3.0 and Android 2.3 Gingerbread.

Maybe some of you probably cannot upgrade from these OS versions to Android 4.0.4 or greater, or that you can't upgrade your device. So, I've got a possible solution, but it's very technical, and might not work with every affected device.

If you feel adventurous, then bear with me.

The solution only works on certain devices that have a screen big enough, and a CPU and memory combo that's big enough, too.

What you need

* A reasonably fast device. Slow devices are those with a CPU with 800 MHz or less, and 512 Mb RAM or less. This was my experience, and slow means very slow. In my case, I got Skype on the Web to work, but as it loads in Firefox, the browser takes the entire resources of a device, forces other apps to quit (per Android design), and the entire interface takes three-to-four minutes to load from login to UI.

* The screen resolution must be greater than 320x480 px, because Skype on the Web was not designed for small screens.

Your mileage may vary.

* Firefox version between 44.0–47.0. Firefox 44.0 is the earliest version that can handle Skype; possibly, because of its more generous cookie acceptance mechanism from that version on. (Firefox 44.0 and newer no longer have the cookie prompting mechanism.) On some versions of Android Gingerbread, only Firefox 44.0–45.0 are the newest to run, though version 47.0 of the browser is the latest built for Android 2.3. If v47.0 won't run, get v44.0 or 45.0. Firefox 44.0 supports old-style native Android menus, v45.0 has a newer main menu.

* Another requirement is installation of the NoScript Anywhere extension in Firefox. Technical users already know about this extension. If configured correctly, then NoScript allows reducing overall resource usage while browsing the modern web.

The hardest part is allowing/disallowing sites in NoScript on a subdomain level, because it requires Vim Touch for advanced text editing. (Someone please write an extension to alleviate this issue.)

The soup

Firefox for Android comes with this neat feature, that one can specify site-specific user agent overrides in about:config.
The user agent is a piece of text that a browser sends to a website as identifying information about itself. It contains operating system name and version, and browser name and version. All browsers do that since the first browsers on the web.

about:config is the advanced settings page in Firefox, GNU IceCat, and other browsers that use the Gecko rendering engine. You can access the page by typing about:config in the address bar.

Since Firefox versions 47.0 and below for Android 2.3 are older than the version required by the web Skype, you need to modify the user agent string to make Firefox appear like a newer version to allow Skype on the Web to load.

In about:config, create a new setting string by tapping the Plus (+) button; then specify, that the setting is a string, then add the name to the setting:

general.useragent.override.skype.com

For a time, you can leave the string part empty, until you paste the one I suggest here:

The UA string needs to show that the browser is a desktop browser and of a reasonably recent version. The one I use on my device is this:

Mozilla/5.0 (X11; Linux armv7l; rv:52.0) Gecko/52.0 Firefox/52.0
Some of the items mean the following:
* X11 is the platform part, and means X Window System, the most widespread graphical environment in UNIX/Linux.
* Linux is the OS and the OS kernel name. Because Android uses the Linux kernel, stay with X11 and Linux (though Android uses a different graphical subsystem).
* armv7l — the CPU architecture in my device. Most mobile devices running Android 2.3 and 4.0 have that, and it's the one variable that you can change. The letter after number 7 is not 1 (one), but a lower-case L.
If your device is based on ARMv6, then it's more rare and physically less fast, and the most recent supported Firefox for that is version 31.3.0esr (also for Android 2.2 Froyo). You can use ARMv6 in the string, if you know the correct nomenclature naming of the architecture (I haven't looked it up), and it's actually in your device.
* rv: stands for revision;
* Gecko is the name of the browser's rendering engine;
* Firefox is the browser name. Note, that Skype on the Web does not officially support alternative Gecko-based browsers, such as IceCat, so use only Firefox in the UA string. This means, that you can use GNU IceCat, but you'd still need to enter the Firefox-based UA string.
* Firefox/52.0 is the current official extended support release (ESR). As above, the version number must be 52.0 everywhere.

Sample screenshot of how it looks in about:config —

Domains to add for useragent override


You must continue adding UA strings for a number of Skype and Microsoft domains as described above, so here's what I think is the full list of those:

skype.com
skypeassets.com
live.com
microsoft.com
s-microsoft.com
msecnd.net
gfx.com
gfx.ms
trouter.io
bing.com
azureedge.net

Domains to whitelist in NoScript


Generally, you can whitelist all of the above domains, and be happy.

But if you want to tinker on a subdomain level, then you must edit the line in about:config at

extensions.nsa.policy

To edit that line, I strongly recommend using VIM Touch, which is available from the F-Droid repository of FOSS apps for Android. For detailed instructions on how to do this, read A primer on whitelisting subdomains in Firefox NoScript. This is compulsory.

I compiled the whitelist with the help of NoScript for desktop Firefox, which lists the below domains for all to see.

then you must edit the JSON string in VIM Touch. So here's what I got what I think is the full list of subdomains to whitelist:

"config.skype.com":1,
"drip.trouter.io":1,
"lw.skype.com":1,
"secure.skypeassets.com":1,
"https://account.azureedge.net":1,
"https://api.asm.skype.com":1,
"https://api.skype.com":1,
"https://apps.skypeassets.com":1,
"https://auth.gfx.com":1,
"https://auth.gfx.ms":1,
"https://browser.pipe.aria.microsoft.com":1,
"https://c1.microsoft.com":1,
"https://client-s.gateway.messenger.live.com":1,
"https://config.skype.com":1,
"https://consumer.entitlement.skype.com":1,
"https://contacts.skype.com":1,
"https://cs.microsoft.com":1,
"https://drip.trouter.io":1,
"https://flagsapi.skype.com":1,
"https://go.trouter.io":1,
"https://apps.skypeassets.com":1,
"https://avatar.skype.com":1,
"https://c.bing.com":1,
"https://i.s-microsoft.com":1,
"https://kes.skype.com":1,
"https://login.live.com":1,
"https://prod.registrar.skype.com":1,
"https://prod.tpc.skype.com":1,
"https://s4w.cdn.skype.com":1,
"https://static-asm.secure.skypeassets.com":1,
"https://static.asm.skype.com":1,
"https://support.skype.com":1,
"https://swx.cdn.skype.com":1,
"https://web.skype.com":1,
"https://weu1-api.asm.skype.com":1,
"https://www.skype.com":1

This list is in JSON format: domains are surrounded by double quotes, with :1 meaning to allow that domain (:0 is to forbid, but you won't need that with these).

I typically also add the https:// protocol prefix to make sure, that only the secure version of the site is whitelisted. This is useful in case a non-secure version of a domain is compromised, but a secure version isn't, as domains with http:// and https:// can serve different content.

Domains in double quotes are those that use variable subdomains, which makes using the protocol prefix moot. Double-quoted domains support both http:// and https:// versions of a site. Sometimes, these are also made to serve non-secure content. The profuse use of the secure protocol prefix is really for security purposes.

Whitelisting only these domains means, that other Microsoft properties are still not script-enabled.

The entire exercise worked for me, but the Skype for Web UI was extremely slow on my device. There are newer, more powerful and better devices with only Android 2.3–4.0.3, so people with those might have more luck.

Errata and considerations

In my experience with a very low-end Android device, Video and audio won't work. Text and SMSes work, and sometimes that's everything that is needed.

Entering YouTube URLs or web addresses starting with either http:// or https:// might not work. If that is so, enter web addresses without these protocol prefixes.

A more experienced user might choose to edit the ABE string from about:config in a text editor. It goes like this: copy string, paste to text editor, edit, copy string, paste string to overwrite the olde parameter value. Editing the NoScript ABE string in Firefox mobile does have a learning curve.

February 2018 update:
I recently upgraded Malawarebytes AntiMalware, and it had "web protection" for two weeks. After that, I could not have access to Skype on both the Skype desktop app, and Skype for the web. After uninstalling, I could connect again via the browser, but the service forced me to make my Skype account a Microsoft account; possibly because of multiple unsuccessful logins.

There was also the case of having to manually set web.skype.com to accept cookies though "Page Info" > Permissions > Cookies in Firefox (set to Allow from all gray/default). Strange.

Saturday, October 15, 2011

Vanemad Skype versioonid

Üldiselt on nii, et Skype puhul tuleks pigem kasutada kõige uuemat versiooni ning ka suhteliselt head riistvara, sest Skype'i kõige uuema versiooni puhul on parandatud ka kõik turvavead.

Vanemate Skype (ja teiste tarkvara-) versioonide kasutamise põhiargument on näiteks see, kui arvuti ei ole piisavalt võimas ning selle näitajad jäävad alla Skype'i kõige uuema ja/või põhiversiooni (X.x) miinimumnõuetele.

Siin on inglise keeles täiendavalt kirjas, et mis põhjustel ja tingimustel oleks vanema Skype versiooni kasutamine põhjendatud. Samuti on kirjas ka, kuidas see vanem versioon endale peale tirida.

Muidu on nii, et Skype enda saidi kaudu vanemaid suurversioone kui 4 enam kätte ei saa (veebilehekülgede kaudu vist enam mõnda aega juba).

Väga tähtis: Uutelt Skype versioonidelt üleminek vanadele võib väga tõenäoliselt põhjustada kontaktide kadumise, mistõttu on kõik selline tegevus ainult oma riisikol. Kontaktide kadumine toimub näiteks järgmistes stsenaariumites:
• Kui arvutis on olnud näiteks mistahes modernne Skype versioon (5.x), kasutaja võtab selle maha ja paneb asemele väga vana Skype'i suurversiooni (2.5.0.154).
• Tagasiminek Skype 3.0 peale versioonilt 4.1. Arendajad teatavad, et tagasiminek uusimatelt versioonidelt 3.0 peale ei ole toetatud.
• Tagasiminek Skype 3.8 peale uuemalt Skype versioonilt kui 4.x (see on siis 5.x) kustutab reeglina kontaktinimistu ära...

Alati enne tagasiminekut tuleb teha kõikidest oma kontaktidest varukoopia: programmimenüü
Kontaktid > Veel > Salvesta kontaktid faili...
Samast alammenüüst saab kontakti failist ka taastada.

Ja üldse, kui on vaja kasutada vähem ressursinõudlikut otsesuhtlusprogrammi, siis on olemas Pidgin IM ja Miranda IM (viimane mõeldud eriti vanadele arvutitele :).

Skype 2.5.0.154
Üks sisselogimiskogemus näitas, et 2.5.0.154 versiooniga enam sisse logida ei saa, teine kogemus (vt. allpool) näitas, et saab. Seega mis täpselt selle Skype versiooniga serverite poolt enam toetatud pole, ei ole selge.
T., 24.02.2012.
Selleks päevaks selgus, et antud versiooniga on siiski võimalik sisse logida. Operatsioonisüsteemiks oli siis sel korral Windows XP, nii et selline kombinatsioon töötab. Küll ei ole teada, kas antud Skype'i versiooniga on näiteks vanemas opsüsteemis (eriti just Windows 9x/Me) võimalik sisse logida või mitte.

Tähtis hoiatus: Kui arvutis on olnud juba uuem Skype'i versioon, siis sellelt antud arvutis vanemale versioonile (ntx. 2.5.0.154) üleminek võib kontaktide nimekirja ära kustutada, seega sellist käiku ei soovita üldse. Kui installida vanem Skype'i versioon, võib nii juhtuda küll.

Kui arvutis/opsüsteemis varem Skype'i ei ole olnud, siis on vist ehk teine asi. Mingeid garantiisid ma muidugi ei anna.


Seesinases on esile toodud mõnede suurversioonide vaid kõige uuemad variandid. Igasuguse vana tarkvaraga tuleb arvestada, et seda edasi rohkem ei arendata ning see tähendab, et sellel võivad olla lappimata turvavead.

Windows 98/Me jaoks on järgmine variant Skype 3.8.0.188, mille saab oldversion.com saidilt (versioonide nimekiri on pikk, seega tuleb õige versiooni valikul olla tähelepanelik). Nagu ikka, kehtib hoiatus, et alla võib tirida omal riisikol, kuigi oldversion.com paistab ise suhteliselt usaldusväärne. Kas selle versiooniga on veel võimalik sisse logida, ei ole teada.

Windows 98/Me pole Skype 3.x versioonide puhul ametlikult toetatud, kuigi need versioonid nende opsüsteemide peal on veel käitatavad.

Minimaalsed süsteeminõuded (vähemalt kõike järgmist):
  • 800 MHz keskprotsessor;
  • 128Mb RAM mälu
  • 600 Mb vaba kõvakettamälu
• Audio- ja videokõnede jaoks on tarvilik vähemalt 1GHz keskprotsessor, 256 Mb RAM mälu ja veebikaamera (kui videokõnesid pole vaja, siis viimane pole kohustuslik).[allikas]

Täiendav info Skype'i Win98SE/ME-s kasutamisel on siin.


Windows 2000
Suurversiooni järgmine variant, mis töötab vähemalt Windows 2000-s või uuemas, on Skype 4.2.0.187. Tõmmata saab antud versiooni sellelt aadressilt:

download.skype.com/msi/SkypeSetup_4.2.0.187.msi
2011.a. novembrist aadress ei tööta, nii et järgmine peatuspaik on oldversion.com

Skype'i MSI installeritega on lood sellised, et erinevalt SkypeSetup.exe-st ta nii automaatne pole ja seega tuleb kõigepealt vana Skype'i versioon Windowsis Add/Remove Programs appleti kaudu nö. käsitsi maha installida.

Süsteeminõuded arvutile Skype 4.2 jaoks (allikas):
  • Windows 2000 puhul vaja videokõnede jaoks tõmmata ja installida DirectX 9.0 lisakomponent
  • Vähemalt 1 GHz keskprotsessor;
  • vähemalt 256 megabaiti RAM-mälu;
  • Kõige muu juures soovitan vähemalt 600 megabaiti vaba kõvakettaruumi (gigabait oleks parem).
  • Kõrgekvaliteetsete videokõnede jaoks on tarvis vähemalt kahetuumalist keskprotsessorit, 512 Mb või rohkem RAM-mälu ning eraldi videokaarti (mis pole integreeritud videoadapter).
Muu Skype 4.2 abiinfo on Skype'i kodulehel saadaval siin.


Skype 5.5
See põhiversioon toetab Windows xp-d või uuemat.

Vanemate suurversioonide seadistustes tuleb välja lülitada automaatne uuendamine, mis on sellistes ka võimalik. Skype 5/5.5 jne versioonides automaatset uuendamist välja lülitada ei saa :/.

Wednesday, September 3, 2008

Multiple instances of Skype in Windows Vista

Multiple instances of Skype 3.x in Windows Vista won't work because of different Runas behaviour. Skype 4 fixes that issue in version 4, which is in beta, using the /secondary command.

For Skype 3.x, some of the runas functionality does work, when the user specified is not part of an Administrators group, but rather that of Power Users.

More in-depth information here.

L., 04.04.2008. Update:
Skype 4.0 has now been released and it does indeed support the /secondary command when using the Runas command:

runas /user:Mart "\"C:\Program Files\Skype\Phone\Skype.exe\" /secondary"

Note that nested quotes (quotes inside quotes) must be escaped with a backslash, as seen above.