stanfieldr / ghetto-skype

Web Skype + Tray Icon + Notifications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Browser not supported

jherazob opened this issue · comments

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.

mainWindow.webContents.setUserAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36");

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.

#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.

I already checked it. It's 2.27. 1.6.1 actually run but without compilation. With "npm install && npm start" the program starts and works without problems but load times are longer than the installed Ghetto-Skype. I just can't compile it to install it properly. I can compile 1.5 x86 but not 1.6.1 x86. In the mean time on my Linux Mint x64 the x64 versions are compiling fine (1.5 and 1.6.1). I just need a 1.6.1 x86 .deb.

Nice.
In the source directory there's a "dist" subdirectory where your compilation deb should be placed. Your deb will not be there but there is another directory named i32... or something, containing the uncompressed files you need. Copy it as admin in /opt, rename it to "Ghetto-Skype", make it executable with "sudo chmod +x /opt/Ghetto-Skype/ghetto-skype" and execute /opt/Ghetto-Skype/ghetto-skype. That's all.

The loading time is longer in 1.6+ version even on x86-64. It's normal.

It already crossed my mind but there isn't "dist" directory for the package isn't compiled :)

Find the directory below. Download, uncompress, put it in /opt etc.
Available for 30 days:
https://ufile.io/acw87

(ghetto-skype v 1.6.1 x86)

Thank you :)
But ghetto-skype in this directory isn't a binary but a library. How it will be executed? I ask for I can't try it now for my friend is already fall asleep and I'll can try tomorrow :)

Ah, I now examined my Mint's /opt/Ghetto Skype and it's just like that. Thank you. Tomorrow I'll use your files. Thank you once again :)

it is an electron executable. cd to dir, chmod +x and execute it: ./ghetto-skype.

Yes I already figured it out. Thank you :)

i hate to be the noob in the room, but, is it possible to have the program updated without going through all this compiling?

  • Install ghetto-skype deb/rpm https://github.com/stanfieldr/ghetto-skype/releases

  • Install npm

    • sudo apt-get install npm or
    • sudo dnf install npm or
    • zypper install npm
      .
  • Install npx and asar (su or sudo first)

    • npm install -g npx
    • npm install -g asar
      .
  • Extract the package for edition (su or sudo first)

    • cd /opt/Ghetto\ Skype/resources
    • mkdir app
    • npx asar extract app.asar app/
      .
  • Edit the needed files

    • Replace (under the file app/main.js)

      mainWindow.webContents.setUserAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36");
      mainWindow.loadURL('https://web.skype.com/en');

    • With

      mainWindow.webContents.setUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"); mainWindow.loadURL('https://web.skype.com');

  • Pack the new file

    • rm app.asar
    • npx asar pack app/ app.asar
    • then delete app directory if you want
commented

https://ufile.io/acw87
(ghetto-skype v 1.6.1 x86)

The link expired. Can you update or make a new one?

commented

I have tried
sed -i 's/55.0.2883.87/70.0.3538.77/g' /opt/Ghetto\ Skype/resources/app.asar
now it says website not found, and offers to use Web-Skype (which works, but is ugly)

commented

I have followed intika's guide, and it works as far as there a no error messages anymore. It seems to start Web-Skype. Unfortunately, no phone or video calls are possible; it says the browser does not support them, the icon is greyed. Any way to get the functionality back?

Yes use 1.6.1.

commented

I need 1.6.1 x86-64, how to get it? Unfortunately, https://ufile.io/1r1lf expired. Can you re-upload or send it to me somehow?

I need 1.6.1 x86-64, how to get it? Unfortunately, https://ufile.io/1r1lf expired. Can you re-upload or send it to me somehow?

You must compile it from source :)

Download below the latest v1.6.1 deb for 30 more days

-x86-64: https://ufile.io/0h9f16ov

-x86: https://ufile.io/1zdvs47w

commented

Thank you. I purged the old Ghetto-Skype and installed v1.6.1. Unfortunately, it does not work. It creates the 3 processes, but does not show any UI. Same as with the app.asar you sent me before.
I am using Ubuntu 18.04 with Cinnamon desktop.
The official Skype works, however.

Thank you. I purged the old Ghetto-Skype and installed v1.6.1. Unfortunately, it does not work. It creates the 3 processes, but does not show any UI. Same as with the app.asar you sent me before.
I am using Ubuntu 18.04 with Cinnamon desktop.
The official Skype works, however.

i have the same problem with 32bit Mint and Lubuntu

commented

After some try and error I started Ghetto-Skype from command line:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: libjpeg.so.62: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden

After installation of libjpeg62:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: /usr/lib/x86_64-linux-gnu/libjpeg.so.62: version `LIBJPEGTURBO_6.2' not found (required by /tmp/.org.chromium.Chromium.ZmDrfZ)

How to get the required version `LIBJPEGTURBO_6.2' for Ubuntu?

@hako1 you are trying too hard why not just install the v1.6.0 and update it to v1.6.1 manually with the method i posted earlier (done in 5 min)

The x86 uploaded is tested and working on debian testing. Unfortunately i'm not using ubuntu/ubuntu based distro as medioned before...

commented

When I installed 1.6.0, and followed Intika's update to 1.6.1, I got a webskype with no voice functionality. It says the browser would not support voice. The advice was to install 1.6.1 which, unfortunately, misses a dependency `LIBJPEGTURBO_6.2' and cannot work in my 64bit Ubuntu 18.04 with Cinnamon desktop.
I would need an improved 1.6.1 package.