Skip to content

Instantly share code, notes, and snippets.

@legastero
Last active February 24, 2019 12:11
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save legastero/6428180 to your computer and use it in GitHub Desktop.
Save legastero/6428180 to your computer and use it in GitHub Desktop.
Set up a Prosody server to work with stanza.io/otalk (with websockets, mam, etc)
-- 1. apt-get install prosody-trunk
-- 2. Checkout prosody-modules on Google Code
-- 3. Move all modules to /usr/lib/prosody/modules
-- 4. Move the mod_smacks module to mod_smacks2 and copy it to mod_smacks3
-- 5. Move the files in mod_smacks* to match the new names
-- 6. In mod_smacks3/mod_smacks3.lua s/urn:xmpp:sm:2/urn:xmpp:sm:3/g
-- 7. Set the Prosody configuration to:
admins = { "ADMIN@HOST" }
daemonize = true
pidfile = "/var/run/prosody/prosody.pid"
modules_enabled = {
"roster";
"saslauth";
"tls";
"dialback";
"disco";
"private";
"vcard";
"privacy";
"smacks3";
"smacks2";
"carbons";
"mam";
"offline";
"version";
"register";
"uptime";
"time";
"ping";
"pep";
"posix";
"bosh";
"websocket";
}
allow_registration = false
authentication = "internal_hashed"
ssl = {
key = "/path/to/key";
certificate = "/path/to/cert";
}
c2s_require_encryption = true
s2s_secure_auth = true
cross_domain_bosh = true;
storage = "sql2"
sql = {driver = "SQLite3", database = "prosody.sqlite"}
log = {
info = "/var/log/prosody/prosody.log";
error = "/var/log/prosody/prosody.error";
}
VirtualHost "HOST"
VirtualHost "anon.HOST"
authentication = "anonymous"
Component "muc.HOST" "muc"
@jamesbebbington
Copy link

Thanks for sharing this. A few questions for you:

Could you please explain what's going on with mod_smacks? Why are you renaming and cloning it? Is it required to get websockets working or does it just make for more reliable connections?

Many thanks.

@drdownload
Copy link

I would also be quite interested whats going on with triplicating the mod_smacks

@incognico
Copy link

It gets duplicated and one module uses the urn:xmpp:sm:2 namespace while the other uses urn:xmpp:sm:3. But I also don't understand why the sm:2 version is needed when a newer one is loaded. Compability with some clients maybe? Clarification would be nice, yes.

@konradsztukowski
Copy link

Hi, all.
Didn't know where to write on this site.
I've got a problem with Prosody.

Everythign is set up. Got Prosody, got candy chat plugin on my website, got bosh but I'm not the one who set it all up.

Everythign was working fine, people were login to chat room and could talk there, but after a week or so, today the chat stoped working, when you try to login on the website it just stays on "connecting"
you can check the site on http://bociany.tv

Does anyone now hat the issue may be? There were no file changing in the server or in the website files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment