What's a "Shellable" Server?
I use this word a bit, and those of you with IRC backgrounds probably know where I'm coming
from. In the glory days of IRC, a lot of people purchased shell accounts to run bots
(such
as eggdrop) or simply to IRC from with a client
such as irssi or BitchX (back before
the days of Win32 IRC clients).
For small networks, people can use these same shells for running a server itself. I've done it on several occasions. It enabled lots of people to run IRC servers. For IRC, this wasn't particularly good news, but for XMPP this allows lots of people to run XMPP servers, which is particularly good news.
By making synapse "shellable," I mean that it doesn't require a system-wide installation. It installs into a single self-contained directory and, since XMPP doesn't require special port permissions, can run as a single user, as a single process. This has the side effect of greatly simplifying running such a service.
As of right now, I know of no other XMPP server capable of being downloaded, unpacked into a regular old user's home directory, being executed and running happily. I could always be wrong, though. :P
Hal Rottenberg adds:
To be more precise, we're talking about the ability to run a service (daemon) in a self-containd fashion such as what you are forced to do when you've bought a basic "shell account" from an ISP. Sometimes you won't get much of a runtime environment, and even fewer permissions. Sometimes you'll even be in a jail shell where your "/" isn't the real system root, and you do not even have read access to files outside of your jailed filesystem.
But note this won't work on typical webhosting account. These will usually not allow any inbound ports aside from 21,22,25,80,110,443. Unless they are incompetent or mentally challenged anyway. :)
So do people still buy shell accounts much?
Back to me:
As far as I know the shell business is still pretty busy. I have a shell with reverse.net, and they're really stable and have a great network with awesome DoS protection. His site doesn't specifically say that he allows something like synapse, but I'm sure if I talked to him he wouldn't have a problem, as it's probably far less resource intensive than IRC.
Update:
I was apparently completely wrong in this, as people have given me examples of doing this with both jabberd and jabberd2, though this is not out-of-the-box behavior and involves some toying, as far as I can tell. It also seems possible to get ejabberd to do this, though it involves a fair amount of tweaking.
![(please configure the [header_logo] section in trac.ini)](/chrome/common/trac_banner.png)