Use old Skype version after 01.08.2014

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#61 Post by saintless »

mcewanw wrote: Though it is in the about message, so must be somewhere, in some form, I suppose.
I'm afraid is more like skype.kit method explained from Anonymous user:
Skypekit is not same thing as Skype, it doesn't contains single string with version.
It's version field, sent to server, combined from kit version itself, user_serial, user uniqie id and host token. So you cant just find and replace something.
But... skype.kit has working old version now and this means linux skype 2.0 - 4.1 also could be used similar way. But I just can't find it yet.

Toni

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#62 Post by mcewanw »

Ah, OK, thought it might be something like that Toni.

I have now tried your patched 4.2.0.13 wheezy sfs in DebianDog and it seems to be working fine.

William
github mcewanw

ac2011
Posts: 134
Joined: Wed 09 Feb 2011, 08:22

#63 Post by ac2011 »

Geoffrey wrote:I came across this fix, I haven't tried it but it may work.
Problem

Not all people can upgrade because they're on an older Linux version that is not supported by the new Skype version.
The new Skype version also introduces all sorts of new problems to existing users, as the following posting illustrates:

Solution

You can stick with your old version of skype. I came across and tested (on Skype 4.2 on Ubuntu LTS 12.04) the following solution that spoofs your old version of Skype to version 4.3.0.37. The command below will output a replace command which you could copy and run in a terminal in order to change the version string in your old Skype executable. Your old Skype will then be allowed to connect again to the M$ server. First you have to fill in your current Skype version in the command below, which can be obtained with command: "skype - version".

ver=$(echo "4.2.0.11" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sudo sed -i "s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" /usr/bin/skype"
Might be able to use this to patch the old binary version :?:
This works for me (using the Carolina-packaged Skype 4.2.0.11) BUT you need to make a few changes. The Skype executable itself is not /usr/bin/skype - that's a script. I believe that's the case for most Puppy Skype setups. And Puppy doesn't need sudo, of course, since we're already root. So the line should become:

Code: Select all

ver=$(echo "4.2.0.11" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sed -i "s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" /usr/share/skype/skype"
Then run the sed command that this spits out.

It seems to work fine, logging in from scratch. Thanks to everyone working on this.

Edit: an all-in-one command that might work.

Code: Select all

ver=$(echo "4.2.0.11" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sed -i "s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" /usr/share/skype/skype">/tmp/patch_skype_version; sh /tmp/patch_skype_version; rm /tmp/patch_skype_version

User avatar
Geoffrey
Posts: 2355
Joined: Sun 30 May 2010, 08:42
Location: Queensland

#64 Post by Geoffrey »

ac2011 wrote: This works for me (using the Carolina-packaged Skype 4.2.0.11) BUT you need to make a few changes. The Skype executable itself is not /usr/bin/skype - that's a script. I believe that's the case for most Puppy Skype setups. And Puppy doesn't need sudo, of course, since we're already root. So the line should become:

Code: Select all

ver=$(echo "4.2.0.11" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sed -i "s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" /usr/share/skype/skype"
Then run the sed command that this spits out.

It seems to work fine, logging in from scratch. Thanks to everyone working on this.

Edit: an all-in-one command that might work.

Code: Select all

ver=$(echo "4.2.0.11" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sed -i "s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" /usr/share/skype/skype">/tmp/patch_skype_version; sh /tmp/patch_skype_version; rm /tmp/patch_skype_version
Thanks for doing that, I was going to give it a try and if successful repackage skype-4.2.0.13-lina.pet and skype-4.2.0.13-lina.sfs in the repo, if you have Carolina the skype-4.2.0.13-lina.pet is a better choice as it don't contain the qt lib files as they are already installed, the skype-4.2.0.13-lina.sfs is better used with Carolite, I'll post on the Carolina thread when I have this done.
[b]Carolina:[/b] [url=http://smokey01.com/carolina/pages/recent-repo.html]Recent Repository Additions[/url]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#65 Post by saintless »

ac2011 wrote:

Code: Select all

ver=$(echo "4.2.0.11" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sed -i "s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" /usr/share/skype/skype">/tmp/patch_skype_version; sh /tmp/patch_skype_version; rm /tmp/patch_skype_version
Thank you, link added in the first post!
Since Puppy linux uses different skype binary location maybe someone will make later and attach here working skype-start scripts for already installed 4.2.0.11 and 4.2.0.13.
Such script can be used also to start any existing pet/sfs skype package (maybe as desktop icon or editing /usr/share/applications/skype.desktop file). It will be easier than rebuilding any existing skype pet/sfs.

Toni

ac2011
Posts: 134
Joined: Wed 09 Feb 2011, 08:22

#66 Post by ac2011 »

saintless wrote:
ac2011 wrote:

Code: Select all

ver=$(echo "4.2.0.11" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sed -i "s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" /usr/share/skype/skype">/tmp/patch_skype_version; sh /tmp/patch_skype_version; rm /tmp/patch_skype_version
Thank you, link added in the first post!
Since Puppy linux uses different skype binary location maybe someone will make later and attach here working skype-start scripts for already installed 4.2.0.11 and 4.2.0.13.
Such script can be used also to start any existing pet/sfs skype package (maybe as desktop icon or editing /usr/share/applications/skype.desktop file). It will be easier than rebuilding any existing skype pet/sfs.

Toni
Yes, that's how I'm doing it - just modding skype on each boot.

Here's a hopefully more generic script. Call it 'patch_skype' or similar. You'll need to change 4.2.0.11 to whatever your version is (and it'll break skype if the string isn't the same length, because that's the length of the string we're replacing it with).

Usual caveats apply: may destroy your data and/or the universe.

Code: Select all

#!/bin/sh
skype &
sleep 2
skype_exe=`ps |grep skype|grep -v grep|sed 's/.* \//\//'| sed 's/ $//'`
killall skype
skype_script=`which skype`

if [[ `cat $skype_script |grep $skype_exe` ]] || [[ $skype_script == $skype_exe ]]
	then
	echo "Found $skype_exe for patching."
	ver=$(echo "4.2.0.11" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sed -i "s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" $skype_exe">/tmp/patch_skype_version
	read -p "OK to go ahead (y/n)? >" yesno
	if [[ $yesno == "y" ]]
		then
		echo "Patching $skype_exe"
		sh /tmp/patch_skype_version
	else
		echo "Aborted."
	fi
	rm /tmp/patch_skype_version
else
	echo "Can't find skype executable. Sorry."
fi
That should locate the real executable (by seeing what actually appears in RAM) and patch it, hopefully.

If it works on your Puppy and you're using non-persistent storage like I am (re-loading a clean save file on each boot) you could just strip out the "OK to go ahead" bits and be left with this:

Code: Select all

#!/bin/sh
skype &
sleep 2
skype_exe=`ps |grep skype|grep -v grep|sed 's/.* \//\//'| sed 's/ $//'`
killall skype
skype_script=`which skype`

if [[ `cat $skype_script |grep $skype_exe` ]] || [[ $skype_script == $skype_exe ]]
	then
	echo "Found $skype_exe for patching."
	ver=$(echo "4.2.0.11" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sed -i "s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" $skype_exe">/tmp/patch_skype_version
	echo "Patching $skype_exe"
	sh /tmp/patch_skype_version
	rm /tmp/patch_skype_version
else
	echo "Can't find skype executable. Sorry."
fi
A bit ugly because it loads skype first and then closes it, but it would only need to be done once per boot - then you'd just run 'skype' as normal.

I did think about parsing the launch script to find the binary, but I think that's less reliable.

Edit: improved to trap non-scripted skype versions too... hopefully.

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#67 Post by saintless »

ac2011 wrote:You'll need to change 4.2.0.11 to whatever your version is (and it'll break skype if the string isn't the same length, because that's the length of the string we're replacing it with).
It will work only for Skype 4.2.0.11 and 4.2.0.13.
All earlier versions like Skype 2.0 to 4.1 do not have such easy to replace version string. It is generated different way and can't be replaced so simple, unfortunately. The only way to run Skype versions 2.0 - 4.1 for the moment is explained in the first post and needs setting up autologin with Skype 4.3.0.37 (or pathched Skype 4.2.0.11 or 4.2.0.13) first and adding one line in shared.xml

Toni

ac2011
Posts: 134
Joined: Wed 09 Feb 2011, 08:22

#68 Post by ac2011 »

saintless wrote:
ac2011 wrote:You'll need to change 4.2.0.11 to whatever your version is (and it'll break skype if the string isn't the same length, because that's the length of the string we're replacing it with).
It will work only for Skype 4.2.0.11 and 4.2.0.13.
All earlier versions like Skype 2.0 to 4.1 do not have such easy to replace version string. It is generated different way and can't be replaced so simple, unfortunately. The only way to run Skype versions 2.0 - 4.1 for the moment is explained in the first post and needs setting up autologin with Skype 4.3.0.37 (or pathched Skype 4.2.0.11 or 4.2.0.13) first and adding one line in shared.xml

Toni

Yes, sorry: I didn't make that clear. The script is to help people who might have problems locating the real skype binary for patching. It doesn't add any magic to what's already been discovered.

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#69 Post by jamesbond »

saintless wrote: It will work only for Skype 4.2.0.11 and 4.2.0.13.
All earlier versions like Skype 2.0 to 4.1 do not have such easy to replace version string. It is generated different way and can't be replaced so simple, unfortunately. The only way to run Skype versions 2.0 - 4.1 for the moment is explained in the first post and needs setting up autologin with Skype 4.3.0.37 (or pathched Skype 4.2.0.11 or 4.2.0.13) first and adding one line in shared.xml

Toni
Toni, just want to drop in to say thanks for your workaround in 4.2.xxx. I'm now using 4.2.0.13 (patched by CatDude based on your instructions). While 4.3 works, the PulseAudio it requires is a PITA to manage, so most of the time I use the 4.2 instead.

cheers!
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#70 Post by saintless »

Hi, Jamesbond.

Just for information if you use skype 2.2.0.35 sometimes instead 4.2.0.37 you can use patched 4.2.0.13 or 4.2.0.11 to setup the account to autologin and then start skype 2.2.0.35 (after adding the savepassword line in shared.xml as in the first post information).
I still use 2.2.0.35 because it runs faster on my hardware. The only problem (the important part) is after one month the creditentals key expires and I need to start patched 4.2.0.11 to setup the account again for autologin.

Toni

ozsouth
Posts: 858
Joined: Fri 01 Jan 2010, 22:08
Location: S.E Australia

False online

#71 Post by ozsouth »

All versions 4.2.x.xx onwards give me false 'contact is online' status. The 'tricked' 2.2.0.35 & 4.0.0.8 don't. Is there any way around that?

User avatar
Geoffrey
Posts: 2355
Joined: Sun 30 May 2010, 08:42
Location: Queensland

Re: False online

#72 Post by Geoffrey »

ozsouth wrote:All versions 4.2.x.xx onwards give me false 'contact is online' status. The 'tricked' 2.2.0.35 & 4.0.0.8 don't. Is there any way around that?
The patched version of 4.2.0.13 seems to work ok for me, though when using Skype in windows there are only two options, Available or Invisible, so when I change my status using 4.2.0.13 they seem to be the only one's that change as seen by the windows version.
[b]Carolina:[/b] [url=http://smokey01.com/carolina/pages/recent-repo.html]Recent Repository Additions[/url]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

Re: False online

#73 Post by saintless »

ozsouth wrote:All versions 4.2.x.xx onwards give me false 'contact is online' status. The 'tricked' 2.2.0.35 & 4.0.0.8 don't. Is there any way around that?
I don't know enough to try fixing this inside the binary.
If you already have wine installed there is portable skype for windows that works. Maybe worth testing.
You need also libwine-alsa installed to get sound working in wine. For video calls maybe DirectX also should be upgraded.

Toni
Last edited by saintless on Mon 13 Oct 2014, 19:08, edited 1 time in total.

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#74 Post by saintless »

Patched versions blocked from today.
The workaround on the first page setting up the account with 4.3.0.37 for autologin still works.

User avatar
Griot
Posts: 131
Joined: Fri 12 Sep 2014, 18:10
Location: Serbia

#75 Post by Griot »

After latest infamous deeds of Micro$$$ I'm a bit confused about workaround procedure. So, which version of $kype installer should I use to get things work? I really need your kind support folks, because my employer insists on using dang thing to keep "flawless" communication between managers and employees. My PC runs precise 5.71 PEA i686/frugal install.Thanx!
P.S. With all due respect to potential adviser, NO, I'm not going to install any M$ O$. Thank you for your comprehension!

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#76 Post by saintless »

Griot wrote:After latest infamous deeds of Micro$$$ I'm a bit confused about workaround procedure. So, which version of $kype installer should I use to get things work? I really need your kind support folks, because my employer insists on using dang thing to keep "flawless" communication between managers and employees. My PC runs precise 5.71 PEA i686/frugal install.Thanx!
P.S. With all due respect to potential adviser, NO, I'm not going to install any M$ O$. Thank you for your comprehension!
Here you will find successful install in Precise Puppy the latest Skype 4.3.0.37 that needs pupseaudio:
http://murga-linux.com/puppy/viewtopic. ... 900#796900
Read the thread there and you will find all needed information. Ask there for help if something does not work with Skype 4.3.0.37.
If you do not mind installing pulseaudio use latest skype.

If you don't want pulseaudio or you can't get sound and mic working by the instructions in the link above - you still need to install Skype 4.3.0.37 to setup the account to autologin and then any old skype version with alsa support will work. First post contains the full instruction:
http://murga-linux.com/puppy/viewtopic. ... 486#793486

User avatar
Griot
Posts: 131
Joined: Fri 12 Sep 2014, 18:10
Location: Serbia

#77 Post by Griot »

Thank you, saintless. I'll follow your advice.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#78 Post by greengeek »

EDIT : Please also see easier notes two posts further down.

How to get Skype 4.2 running on Slacko 5.6 (live session) without installing pulseaudio.
(Thanks to work by watchdog, OscarTalks, saintless and ac2011)

I will describe what I do in a Live session - you can modify the procedure if you have installed Slacko 5.6 and are running a savefile.

Summary - we will temporarily use skype 4.3 (without pulseaudio) to create a 'profile' directory which we will save for use with Skype 4.2 (which has been modified by saintless to behave like skype 4.3 but does not need pulseaudio at all).

Harvesting the "profile":

1) Install OscarTalks skype-4.3.0.37-slacko14.0.pet from here:
http://smokey01.com/OscarTalks/
(do not install pulseaudio - we are not going to use it)
2) Start skype (in "Internet" menu). When you see the login screen make sure you tick the "sign me in when skype starts" checkbox then enter your skype name and password. Go into skype 'options' then 'advanced' and untick 'check for updates on startup'.
3) Go into your /root directory, click the 'eye' icon to view hidden files, and make a backup copy of /root/.Skype directory somewhere on permanent storage (This is the 'profile' we will be using in version 4.2).
4) Quit Skype
5) Uninstall Skype 4.3 using the PPM.

Setting up Skype 4.2:

1) Install Skype 4.2 available from here:
Skype4.2_for_Slacko5.6_ver-1.pet
(If you don't already have Qt libs you may also need the missing SkypeQt libs pet from here:
Skype4.2_Slacko5.6_missing_libs_ver-1.pet
2) Copy the /.Skype directory back from permanent storage and put it into /root. (Remember that this is a hidden directory so wherever you stored it may look at first glance like an empty directory :-) Click the eye icon!)
3) Start Skype 4.2 from the "network" menu.
(Skype will automatically sign in and as long as you have your correct microphone selected and levels set correctly it will work perfectly)

***NOTE 1***
It is possible that the profile used in this way may only be valid for 30days.

***NOTE 2***
If you are using this method in an installed slacko (rather than live session) please note the following:
When you are ready to stop Skype - do so by RIGHTCLICKING THE TRAY ICON & SELECTING "QUIT" - NOT "signout".
If you click 'signout' and Skype deletes the hidden config file in /root, you will have to reload it before you restart skype.
.
Last edited by greengeek on Wed 03 Aug 2016, 19:51, edited 2 times in total.

ac2011
Posts: 134
Joined: Wed 09 Feb 2011, 08:22

Script to automate the auto-login

#79 Post by ac2011 »

Some people might find this handy if using an older Skype. It checks if you've been logged out, and if so runs the 4.3 binary, logs in with your password, ticks the 'remember' box, quits Skype 4.3 and then re-loads Skype 4.2.

If you're using 4.2, you should just need the skype binary from 4.3 - put it in /usr/share/skype/skype43/ as just 'skype'.

This script is bare and basic - it works for me but you'll need to tweak timings and suchlike for your system. You'll also need wmctrl and xdotool - binaries for these are in this forum somewhere. And you'll need to store your Skype password somewhere in a text file.

Call the script 'load_skype' or similar. Do not just call it 'skype'.

Provided as is... please feel free to improve it.

Code: Select all

#!/bin/sh

skype_password_file=/path/to/skypepass.txt

# launch Skype normally
skype &

# wait for it to load
sleep 2

# are we still at the login screen? If so we need to kill it and auto-logon with version 4.3 instead
if [[ ! `wmctrl -l |grep "Skype™ 4.2 for Linux"` ]]
	then
	exit
fi

yaf-splash -outline 0 -margin 4 -bg "red" -timeout 5 -text "Don't touch anything! Need to update login credentials... " &

sleep 1
killall -9 skype

# launch the newer one, with executable in a sub-directory 'skype43' in /usr/share/skype/
export LD_LIBRARY_PATH=/opt/qt4/lib:/usr/share/skype/skypelibs:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/opt/qt4/lib:/usr/share/skype/skypelibs:/usr/share/skype/skypelibs/plugins
/usr/share/skype/skype43/skype &

# wait for it to load
while [[ ! `pidof skype` ]]
	do
	sleep 1
done

sleep 5 # let it load to login screen
CURRENT_ACTIVE_WINDOW=`xdotool getactivewindow`
PIDOF_ACTIVE_WINDOW=`xdotool getwindowpid $CURRENT_ACTIVE_WINDOW`
for i in `pidof skype`
	do
	if [[ $i == $PIDOF_ACTIVE_WINDOW ]]
		then
		# pass some things
		xdotool key --window $CURRENT_ACTIVE_WINDOW Tab
		sleep .2
		xdotool key --window $CURRENT_ACTIVE_WINDOW Return
		sleep .2
		xdotool type --window $CURRENT_ACTIVE_WINDOW `cat $skype_password_file`
		sleep .2
		xdotool key --window $CURRENT_ACTIVE_WINDOW Tab
		sleep .2
		xdotool key --window $CURRENT_ACTIVE_WINDOW Tab
		sleep .2
		xdotool key --window $CURRENT_ACTIVE_WINDOW Tab
		sleep .2
		xdotool key --window $CURRENT_ACTIVE_WINDOW Return
		sleep .2
		xdotool key --window $CURRENT_ACTIVE_WINDOW Shift+Tab
		sleep .2
		xdotool key --window $CURRENT_ACTIVE_WINDOW Shift+Tab
		sleep .2
		xdotool key --window $CURRENT_ACTIVE_WINDOW Return
		break
	fi
done

while [[ `xdotool getactivewindow` == $CURRENT_ACTIVE_WINDOW ]]
	do
	sleep 1
done

# kill Skype 4.3 once we know it's logged in
sleep 1
killall -9 skype

# now load Skype 4.2
sleep 1
skype &

yaf-splash -outline 0 -margin 4 -bg "green" -timeout 5 -text "OK, it should be fine now." &

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#80 Post by greengeek »

Skype on Slacko 5.6

Here is an even simpler alternative to my post above:

Use Skype 4.3 (without pulseaudio) to login skype 4.2 (using alsa) - simply install one single pet or sfs ...

I made myself a hybrid of skype 4.3 and skype 4.2 for use with Slacko 5.6 - I use it particularly in 'Live' mode (with no savefile). If you prefer to use a savefile you can use the same pet or sfs but using a slightly different technique.

Here's how it works:

1) Just install the pet or the sfs
(if you use the sfs choose 'skypelogin' when it asks you)
(If you use the pet choose 'skypelogin' from the internet menu)

2) You'll get 30 seconds during which time you must do the following:
- agree to the skype terms
- enter your username and password
- tick the 'log me in each time skype starts' (tiny checkbox visble at bottom of login screen when you enter your username/password)
- click 'login'

Skype 4.3 will log you in and display your contacts, then at the end of the 30 seconds it will close down and automatically login Skype 4.2 (which will run with alsa instead of needing pulseaudio as 4.3 does)

(If you don't manage to get your password etc entered in the 30 seconds, just wait for the 30 second timeout, quit any skype icons showing in the tray, then try 'skypelogin' again)

skypecomboslacko56_gg-1.4.pet here

skypecomboslacko56_gg-1.4.sfs here

EDIT : I have a newer version which allows 45 seconds for the user to login (rather than the 30 seconds which can be a bit short...). See this post:
http://murga-linux.com/puppy/viewtopic. ... 708#817708

May work on other pups?
.
Attachments
skypelogin.png
(3.57 KiB) Downloaded 1170 times
Last edited by greengeek on Mon 29 Dec 2014, 18:53, edited 1 time in total.

Post Reply