Documenting Problems That Were Difficult To Find The Answer To

Skype is a Horrible Application

I find myself somewhat disgusted with Skype in its blatant disregard for user settings. Particularly proxy settings. Skype version for Ubuntu completely ignores whatever proxy settings you assign. It doesn’t even bother trying them. Instead it will do its darndest to sh** all over the network and if it gets half a connection somewhere it will just sit there for minutes until it gives up (without even trying the specified SOCKS or HTTPS proxies you’ve explicitly configured it to use).

I’ve sat with network sniffers on the proxy ports and can see that Skype will not bother trying the specified proxy ports.

Whilst Skype is oriented towards the consumer that doesn’t want to have to deal with the difficulties of punching holes through various firewall types: advanced users (particularly Linux users) should be obeyed.

Microsoft need to reel the Skype team and their arrogance in. Or a decent alternative to Skype needs to be found!

Using tsocks on 64-bit Ubuntu With Skype

The tsocks application can railroad Skype’s TCP connections to your SOCKS proxy server. However – if you have 64-bit Ubuntu and downloaded the Skype 64-bit Ubuntu package you’re in for a nasty surprise: the Skype executable is actually 32-bit and thus the 64-bit tsocks that apt-get installs is incompatible. You’ll get the following message:

user@myserver:~$ tsocks /usr/bin/skype
ERROR: object '/usr/lib/' from LD_PRELOAD cannot be preloaded: ignored.

You can confirm this by doing the following:

user@myserver:~$ file /usr/bin/skype
/usr/bin/skype: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0xd6667f895e58d47966d6a572b13125e9110ee256, stripped

user@myserver:~$ file /usr/lib/
/usr/lib/ ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x3e0b70e50a4abe5e6d82dde20eaa226d4dc2b1fb, stripped

Annoying as this is the solution is pretty straight-forward. You’ll have to compile your own 32-bit tsocks. Download the tarball from:

If you don’t already have them you’ll need to install the compatibility libraries for building 32-bit on your 64-bit system:

sudo apt-get install libc6-dev-i386

Next untar and run configure on the tsocks source:

CFLAGS=-m32 LFLAGS=-m32 ./configure --prefix=/usr/local/tsocks32


make && make install

Now you can run Skype:

LD_PRELOAD=/lib/ /usr/bin/skype

This will obey the same /etc/tsocks.conf file as your 64-bit tsocks preload library.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: