___ ___ | | \ / |\ /| | | | | |-+-| + | + | |-+- |-+- | | / \ | | | | HXMPP is a haXe library for creating XMPP based clients and services. The library exists in two namespaces: * xmpp: creation and manipulation of XMPP data. * jabber: creation and manipulation of XMPP data streams to a server. SOURCE ------- git://github.com/tong/hxmpp.git https://github.com/tong/hxmpp http://hxmpp.disktree.net USAGE ----- Browse tests/examples: http://github.com/tong/hxmpp.examples COMPILER FLAGS -------------- * XMPP_DEBUG Print XMPP transfer * JABBER_DEBUG Print verbose debug information * JABBER_SOCKETBRIDGE Use a flash socket bridge as stream connection for the javascript target * JABBER_COMPONENT Required when building server components ACTIONSCRIPT3/MXMLC ------------------- See: https://github.com/tong/hxmpp.examples/tree/master/swc ADOBE AIR2 ---------- HXMPP supports native, secure and unsecure adobe air2 socket connections. * Get the required external classes from: http://disktree.spektral.at/git/?a=summary&p=hxair * Add 'air' compiler flag. NODE.JS ------- Use the type signatures from: https://github.com/tong/hxnodejs Set compiler flag: -D nodejs XEPS SUPPORTED -------------- * 0004 DataForms * 0012 LastActivity *** 0016 PrivacyLists * 0030 ServiceDiscovery ** 0045 MUChat ** 0047 In-Band Bytestreams * 0049 Private XML Storage * 0054 VCardTemp * 0055 Search *** 0060 PubSub ** 0065 SOCKS5 Bytestreams * 0071 XHTML-IM * 0077 In-Band Registration * 0082 XMPP Date and Time Profiles * 0085 ChatStateNotification * 0092 SoftwareVersion ** 0096 SI File Transfer * 0106 JID Escaping * 0114 Jabber Component Protocol ** 0115 Entity Capabilities * 0124 BOSH ** 0163 PersonalEvent ** 0191 Simple Communications Blocking * 0199 Ping ** 0202 EntityTime * 0203 DelayedDelivery * 0206 BOSH *** 0232 Bits of Binary ** XEP-xxxx: Linked Process Protocol ** XEP-xxxx: Jingle RTMP Transport ** XEP-xxxx: Jingle RTMFP Transport ** gmail-notifiy BOSH ---- BOSH essentially provides a "drop-in" alternative to a long-lived, bidirectional TCP connection using a request-response mechansim over HTTP. To use it you have to connect your client to the BOSH adress of your jabber server. Your webserver doesn’t know about your jabber server .. you have to setup a proxy to forward requests: # Activate mod_proxy apache module sudo ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/ # Add following line to proxy.load to activate the proxy-http module LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so # Add the proxy directive to the host settings in your http.conf # This will proxy requests: htp://127.0.0.1/xmpp -> http://127.0.0.1:7070/http-bind/ ... ProxyRequests Off ProxyPass /xmpp http://127.0.0.1:7070/http-bind/ ProxyPassReverse /xmpp http://127.0.0.1:7070/http-bind/ ... # Restart apache sudo /etc/init.d/apache2 restart # Now you can pass in the path to the constructor of the jabber.BOSHConection class: var cnx = new BOSHConnection( "domain.net", "127.0.0.1/xmpp/" ); HACKERS ------- This project accepts and *encourages* contributions. AUTHOR ------ xmpp://tong@jabber.spektral.at