-
http://github.com/legastero/sdp-jingle-json -- General library to transform SDP to JSON suitable for Jingle, and back
-
http://github.com/legastero/jingle.js -- Generic Jingle library for integrating with WebRTC and managing sessions
-
http://github.com/legastero/jingle-interop-demos -- A collection of demos for testing interop between our various implementations
-
http://github.com/legastero/stanza.io -- An XMPP over Websocket library that does XMPP in the browser, but exposes a JSON api. Includes a Jingle plugin.
-
http://github.com/lloydwatkin/xmpp-ftw -- XMPP as JSON library that proxies the connection over Primus so the browser only ever receives JSON
-
http://github.com/lloydwatkin/xmpp-ftw-jingle -- A Jingle plugin for XMPP-FTW
-
http://github.com/estos/strophe.jingle -- A Jingle plugin for Strophe.js
-
https://github.com/valeriansaliou/jsjac-jingle -- Jingle plugin for JSJac, another XMPP sans XML library
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local st = require "util.stanza"; | |
local hmac_sha1 = require "util.hashes".hmac_sha1; | |
local base64 = require "util.encodings".base64; | |
local os_time = os.time; | |
local services = module:get_option("external_services"); | |
local xmlns_extdisco = "urn:xmpp:extdisco:1"; | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<iq type="get" to="[email protected]/fis"> | |
<query xmlns="http://jabber.org/protocol/disco#items" node="urn:xmpp:fis:shares:0"> | |
<item jid="pubsub.example.com" node="file_share_1" name="Pictures" /> | |
<item jid="pubsub.example.com" node="file_share_2" name="Music" /> | |
</query> | |
</iq> | |
<iq type="get" to="pubsub.example.com"> | |
<pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
<items node="file_share_1" /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<iq type="get"> | |
<query xmlns="X"> | |
<search xmlns="urn:xmpp:search:0"> | |
<x xmlns="jabber:x:data" type="submit"> | |
... | |
</x> | |
</search> | |
<rsm xmlns="http://jabber.org/protocol/rsm"> | |
<limit>10</limit> | |
</rsm> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var MAGIC_START_TOKEN = "<stream:stream "; | |
var ALT_MAGIC_START_TOKEN = "<stream "; | |
var MAGIC_END_TOKEN = "</stream:stream>"; | |
var ALT_MAGIC_END_TOKEN = "</stream>"; | |
var STREAM_START_TAG, STREAM_END_TAG; | |
if (frame == MAGIC_END_TOKEN || frame == ALT_MAGIC_END_TOKEN) { | |
onStreamEnd(); | |
} else { | |
var doc; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<iq type="get" id="disco1"> | |
<query xmlns="http://jabber.org/protocol/disco#items" node="urn:xmpp:fis:0" /> | |
</iq> | |
<iq type="result" id="disco1"> | |
<query xmlns="http://jabber.org/protocol/disco#items" node="urn:xmpp:fis:0"> | |
<item jid="a@b" node="test1.txt" name="test1.txt" /> | |
<item jid="a@b" node="test2.txt" name="test2.txt" /> | |
<item jid="a@b" node="pics" name="pics" /> | |
</query> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- Notes: | |
The <offer />, and <request /> wrappers aren't needed, since that | |
information is provided by the IQ type. | |
The node attribute is the path of a file or directory in these | |
examples, but its not really required that the two match. There | |
could be a mapping of UUIDs to paths, with the node being the UUID. | |
Using the term node would make it easier conceptually for | |
future XEPs that tie in pubsub updates for new/changed/removed |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
import threading | |
import sleekxmpp | |
logging.basicConfig(level=logging.DEBUG) | |
class Bot(sleekxmpp.ClientXMPP): | |
def __init__(self, jid, password): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
import threading | |
import sleekxmpp | |
from sleekxmpp.jid import JID | |
from sleekxmpp.xmlstream import ET | |
from sleekxmpp.exceptions import XMPPError | |
from sleekxmpp.plugins import BasePlugin, register_plugin | |
from sleekxmpp.stanza.roster import Roster, RosterItem |