ghetto-skype
ghetto-skype copied to clipboard
Browser not supported
Good morning. Today i was greeted with a message telling me that the browser was no longer supported, which basically breaks the app.
What can be done about this? Change the Electron version? the user agent? No idea. It's a showstopper bug so it needs attention quickly.
Can confirm it happens here too.
Same for linux 64-32 version
+1
Browser not supported Use Microsoft Edge or Google Chrome to access Skype for Web experience. Alternatively, download Skype on your desktop computer.
microsoft blocked clients not from the " white list of browsers". Need to learn to impersonate google chrome / microsoft edge. Let them think that users use curves and inconvenient browsers.
https://github.com/stanfieldr/ghetto-skype/blob/e3d9e42f2d71ef6f1e79b9c5a99ceca10e461fbe/src/main.js#L73
mainWindow.webContents.setUserAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36");
Just to elaborate, change that string to:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
It will work again.
Should be located on most Linux machines at:
/opt/ghetto-skype/main.js
@jherazob @kliment @maurosh @Bsplesk @stanfieldr
Please review and approve pull request.
https://github.com/stanfieldr/ghetto-skype/pull/159
The file is not at that location, maybe it's packed inside one the those .pak files? What's the correct way to manipulate them?
@jherazob you would have to compile from source. Change the file beforehand then compile. Sorry I forgot about the compiled versions on other systems.
@brainscar Thanks. Video/Voice call works. Arch Linux (4.19.17-1-lts x86_64 GNU/Linux);
@brainscar Can include in the configuration file? ~/.config/Ghetto\ Skype/settings.json . useragent can be updated.
Tried to compile of myself, for debian stable but I stuck on dependencies:
libcairo2-dev : Depends: libfontconfig1-dev (>= 2.2.95) but it is not going to be installed
Anyone managed to build the corrected deb file for debian/debian-based system to share? Note that version 1.6 works only on 64bt debian stable systems. For 32bit I used 1.50 version. So, it's better to get some instructions step-by-step to compile of myself each version.
maurosh just use aptitude.
I need help, It seems I can't find nowhere main.js on Linux Mint. On Arch it's in /opt/ghetto-skype/ but in Mint it isn't there.
thanx mojo78, I've installed the missing dependencies fron debian backports but still can't build it due to electron issues. The "main.js" is into the source dir /src and now it's corrected. Just clone or download and compile.
Anyway, i think (and suggest) it's better to read the agent info (ie "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36") from an external file, such as a flatfile, an xml or something. So users can be able to update it manually without the need of a new compilation.
Note that 32bit version is more usefull than 64bit, as there is no official release of skype for linux 32bit. There are people out there using old 32bit systems just for basic communication and ghetto is the only way to use skype.
I just succeeded compiling it remotely for a friend of mine with an old laptop with Linux Mint 18.3 x86. You have to install node.js 8 in order to compile Ghetto-Skype 1.5.0 without any problems. Versions 10 and 11 aren't available for x86. It fails to compile with the default version 4.
sudo apt-get purge --remove nodejs
sudo apt-get autoremove
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Check the version with:
node -v
It has to be 8.x.
Edit the main.js file which is located in src/ with the correct values, then compile the package:
npm install
npm run dist
cd dist && ls
Then the package is located in the dist folder and you'll install the patched version of Ghetto-Skype from it. That's all :)
PS. If you try to compile master (1.6.1) be warned that in the package.json file the default package is rpm. You have to change it to deb.
Thanx again mozo78, nodejs version 8 worked. Find below the i386 deb v.1.5.1 available for 30 days. Tested and works, video call not tested. Compiled in vanilla debian stretch (v.9.8 -kernel 4.9.0-8-686).
https://ufile.io/4bp7k
Edit: video calls not working in this version. Ghetto-skype v1.6.1 is working if your system uses libc6 >= v2.27 (ubuntu maybe). Debian stretch uses libc6 v2.24. There is a newer libc6 v2.28 in sid repos but I shouldn't use sid packets on stretch.
You are welcome :)
Also on Mint here, have been managing with a Chromium instance but without notifications. Since i do not desire to recompile it and spread stray dependencies not used for anything else all over my machine just to change the User-Agent i'll just wait for the (hopefully not too far) next release. I also concur that putting the User-Agent somewhere editable is the way to go, with a default one that will be used if that is absent.
Compiled x86-64 version 1.6.1 as well, tested and working as expected. Video calls not tested. Debian stretch v9.8 - kernel 4.9.0-8-amd64 - node v8.15.1 Find below the deb file available for 30 days:
https://ufile.io/1r1lf
Edit: video calls tested and working.
I've just tried and it works fine. Without recompilation.
sed -i 's/55.0.2883.87/70.0.3538.77/g' /opt/Ghetto\ Skype/resources/app.asar
I've just tried and it works fine. Without recompilation.
sed -i 's/55.0.2883.87/70.0.3538.77/g' /opt/Ghetto\ Skype/resources/app.asar
voice calls not work for me :(
i'm trying
sed -i 's|"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"|"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121111"|g' /opt/Ghetto\ Skype/resources/app.asar
but calls still not work
Find below patched, properly compiled and tested in linux installations app..asar files for versions 1.5.1. x86, 1.6.1 x86 and 1.6.1 x86_64. Suppose you have to replace the installed /opt/Ghetto Skype/resources/app.asar with the proper file of the zipfile below. Files are tested but not this method by me. It is possible to work as well in non-linux systems using app.asar file.
Available for 30 days: https://ufile.io/qfcs1
Edit: Video/voice calls working for v1.6.0+. For the x86 version to work properly libc6 >= v2.27 is required by electron. There is no way to bypass this even using appimage. I tried to build an appimage including dependencies but such libs as libc6 couldn't pack into appimage. Video calls working fine on Debian stretch x86-64 using the patched v1.6+ but not on stretch x86. If your system is based on x86 arch, ensure that you have libc6 v2.27 or greater, or use v.1.5+ of ghetto-skype without video/voice calls.
On Arch calls working fine but not on Mint. I checked the libc6 version and it's 2.27. 1.6.0 x86 don't start at all.
A JavaScript error occurred in the main process Uncaught Exception: Error: libgif.so.7: cannot open shared object file: No such file or directory at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20) at Object.Module._extensions..node (module.js:598:18) at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3) at Module.require (module.js:513:17) at require (internal/module.js:11:18) at Object.<anonymous> (/opt/Ghetto Skype/resources/app.asar/node_modules/canvas/lib/bindings.js:3:18) at Object.<anonymous> (/opt/Ghetto Skype/resources/app.asar/node_modules/canvas/lib/bindings.js:5:3)
Does 1.6.1 run on x86 systems with working calls? I ask before try again remotely on my friend's laptop. I just tried on my Mint x64 and the calls are working with 1.6.1.
Yes mozo78, tried 1.6.1 x86 on a "franken-debian" (with updated libc6 v2.28 from sid) and video calls are working as expected. I shouldn't use anyway such experimental system for real. You better check it on a virtual machine with mint x86 before try it on your friend's laptop.
I also tried copying directory /opt/Ghetto Skype on parabola x86 (arch based) and porteus x86 (slackware based), and running "ghetto-skype". It's working on both systems.. Never tried on mint or another ubuntu-based distro.
Thank you I'll try :)
It seems I can't compile the 1.6.1 x86 version. I can compile x86_x64 without problems but x86 fails. Can someone send me a precompiled 1.6.1 x86 with the fix? Thank you in advance.
"npm install && npm start" works but not compilation. For now it may be used like that till someone send me 1.6.1 x86.deb :)
You can install v1.6.0 x86 and replace /opt/Ghetto Skype/resources/app.asar from the zipfile i've uploaded.
But 1.6.0 doesn't start at all :(
execute the command:
sudo dpkg -l | grep libc6
and find out the version of libc6 of your linux distribution.
It must be >=2.27 otherwise v1.6+ won't run.