Wednesday, April 18, 2012

Finally, a working Win32 IPv6 XMPP chat ecosystem

Within the past few years, many Linux apps became IPv6-compatible by virtue of library updates and code tweaks. But it has been slower going for Windows. One area that has been incomplete, until now, was a way to host an IPv6 XMPP chat system. It was only in the past year that Java 7 stabilized (which fixed IPv6 support for Java apps on Windows Vista and newer systems). As for Pidgin, its worked with IPv6 on Linux for several years, but the support bug report for its Win32 version, was filed 5 years ago: I am not sure when the codebase was fixed to resolve that, but nobody "turned it on".

To note...

1. You'll need PeaZip or 7-zip installed to extract ZIP/7Z as needed.
2. If you've never used Google Talk, or an XMPP chat server, you might want to read up on it.

Server

1. Download and install a version of the Java 7 runtime. The 32-bit version will support most things, plus Openfire's built-in service options; the 64-bit version should offer better performance.
2. Download the latest version of Openfire: you'll want the non-JRE version. Configure it appropriately, save the part about creating a service for it (unless you're using 32-bit).
3.If you're using x64 Java, create a scheduled task in Windows. The command line should be the path to, plus your installed java.exe. The argument should be "-server -DopenfireHome="PATHWHEREYOUPUTOPENFIRE" -jar ..\lib\startup.jar" and the Openfire "bin" directory set as the "Startup directory". Set this task to start on Windows startup. You should also create a user to run the scheduled task under, as well as to start the task manually to get things going.
4. If you're using a version of Openfire before 3.7.2, you'll need to fix a memory leak bug. Set  "xmpp.pep.enabled" to "false".
5. You might also need to adjust your Windows firewall settings. OpenFire uses TCP 5222 for XMPP, and TCP 9090 for admin.

Client

1. If you already have Pidgin installed, that might actually be helpful (registry entries and whatnot). Close out Pidgin, the delete the folder where it was installed.
2. Download my IPv6 Pidgin build. If you had Pidgin installed before, extract it to where it would have been: a "Pidgin" folder will decompress.
3. Run the pidgin.exe in the extracted folder (or your old shortcuts). Follow the given procedure for accessing an XMPP server. The IPv6 address, without brackets, does work if you don't have an AAAA DNS record for where you installed the chat server.


No comments:

Post a Comment