Exploring more possibilities of modding other OSS messenger clients to get them to access the Escargot server

After seeing this post about modding aMSN, I decided to see if I could use the KDE 3.5 version of Kopete to connect to the Escargot server.

TL-DR: While I can change the actual server URL, both Kopete and Pidgin still try to authenticate using the Microsoft servers, instead of Escargot’s “nexus-mock”, which results in certificate errors because both clients are being redirected from the old .NET Passport server to the Microsoft Account server.

First off, I know that the KDE 3.5 version of Kopete is able for newer Linux distros as part of the Trinity Desktop project. However, expectedly enough, the Trinity version doesn’t have Messenger support (even after copying the Messenger plugin libraries to both /usr/lib and /opt/trinity/lib), as you’ll see below.

(If you were wondering, I used that VM to practice what I wanted to have installed on my desktop PC’s Linux partition)

Anyways, I went into my Slackware 12.2 VM (because that’s the only distro I know of that includes a completely stock KDE 3.5.10 setup) and tried Kopete in there (that’s where I ripped the Messenger plugin libraries from), and it does have the MSN Messenger plugin.

There was an option to change the server, however, that does not change the authentication server, and I can’t change it (without modifying the source code) to use Escargot’s “nexus-mock”. This results in both Kopete and Pidgin getting certificate errors when trying to connect.

(I was going to put a screenshot here, but I don’t feel like doing so. It’s just a “certificate error” when trying to connect to “nexus.passport.com”)

I won’t bore you with the Pidgin 2.4.1 screenshots because that’s a similar story, but Pidgin is available for Windows as well. However, as of their 2.12.0 version, they expectedly enough dropped Messenger support, but because it’s open source, I’m sure someone could mod Pidgin’s MSN Messenger plugin to connect to the Escargot servers.

(I would mod either one of them but I’m very bad at programming, and the rest is a long story I won’t bore you with)

2 Likes

I’m on a Mac and I’ve been trying to find a client that could easily connect to Escargot, but with little success. What really makes it difficult is that the Intel transition didn’t start until 2005, so nearly every client from the MSN Messenger period would only run on a PowerPC processor.

I’ve tried Adium 1.5.10.4 (latest version) and 1.1 (oldest version I could find that ran on Intel) and again, you can’t change the nexus server but you can change the switchboard server. I find it weird that as open as these clients are, the nexus server is always hard-coded in there. aMSN doesn’t even give you an option to change any server settings, except for maybe a proxy.

Now, I am aware that unless a client is from 2005 or earlier, it likely won’t support Escargot’s versions of the protocols at this point, but I did notice that apparently aMSN used MSNP9 in 2009 according to this forum topic that I just found in a search. So, if someone was able to patch one of these versions theoretically it would be possible to connect even before it’s possible to patch the official Mac Messenger versions.

As for Linux versions theoretically that’d be easier if you could just modify the C(++) source to connect to the Escargot switchboard and nexus server. It’s just a matter of finding the right version with MSNP2-12 compatibility.

Regarding Linux clients like Pidgin and Kopete, the best is to simply download the source code, edit it and recompile it.
That’s not that hard.

In Pidgin 2.11.0 source code (Download pidgin-2.11.0.tar.bz2 (Pidgin IM)), you need to edit file pidgin-2.11.0\libpurple\protocols\msn\nexus.h:

#define MSN_SSO_SERVER	"login.live.com"
#define SSO_POST_URL	"/RST.srf"

Kopete (GitHub - KDE/kopete at Applications/16.12) uses libmsn (Download libmsn-4.2.1.tar.bz2 (Libmsn)).

So it’s needed to edit libmsn-4.2.1\msn\soap.h, compile it then compile Kopete:

    actionDomains[AUTH] = "login.live.com";
    actionPOSTURLs[AUTH] = "/RST.srf";

If you can’t recompile it, you need to try to edit the binary file… the URL may be stored in clear text.

We have a Windows tool for that… https://gitlab.com/valtron/msn-server/uploads/feea85de76c16014918f9d2974a2f9c5/Escargot-Autopatcher-1.2.zip

2 Likes