Software /
code /
prosody-modules
Comparison
mod_tcpproxy/README.markdown @ 1803:4d73a1a6ba68
Convert all wiki pages to Markdown
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 28 Aug 2015 18:03:58 +0200 |
parent | 1782:mod_tcpproxy/README.wiki@29f3d6b7ad16 |
child | 1820:8de50be756e5 |
comparison
equal
deleted
inserted
replaced
1802:0ab737feada6 | 1803:4d73a1a6ba68 |
---|---|
1 --- | |
2 labels: | |
3 - 'Stage-Beta' | |
4 summary: 'TCP-over-XMPP :)' | |
5 ... | |
6 | |
7 Introduction | |
8 ============ | |
9 | |
10 It happens occasionally that I would like to use the XMPP server as a | |
11 generic proxy for connecting to another service. It is especially | |
12 awkward in some environments, and impossible in (for example) Javascript | |
13 inside a web browser. | |
14 | |
15 Details | |
16 ======= | |
17 | |
18 Using mod\_tcpproxy an XMPP client (including those using BOSH) can | |
19 initiate a pipe to a given TCP/IP address and port. This implementation | |
20 uses the [In-Band Bytestreams](http://xmpp.org/extensions/xep-0047.html) | |
21 XEP, simply extended with 2 new attributes in a new namespace, host and | |
22 port. | |
23 | |
24 An example Javascript client can be found in the web/ directory of | |
25 mod\_tcpproxy in the repository. | |
26 | |
27 Configuration | |
28 ============= | |
29 | |
30 Just add tcpproxy as a component, for example: | |
31 | |
32 `Component "tcp.example.com" "tcpproxy"` | |
33 | |
34 Protocol | |
35 ======== | |
36 | |
37 A new stream is opened like this: | |
38 | |
39 <iq type="set" id="newconn1" to="tcp.example.com"> | |
40 <open xmlns='http://jabber.org/protocol/ibb' | |
41 sid='connection1' | |
42 stanza='message' | |
43 xmlns:tcp='http://prosody.im/protocol/tcpproxy' | |
44 tcp:host='example.com' | |
45 tcp:port='80' /> | |
46 </iq> | |
47 | |
48 The stanza attribute (currently) MUST be 'message', and a block-size, if | |
49 given, is (currently) ignored. | |
50 | |
51 In response to this stanza you will receive a result upon connection | |
52 success, or an error if the connection failed. You can then send to the | |
53 connection by sending message stanzas as described in the IBB XEP. | |
54 Incoming data will likewise be delivered as messages. | |
55 | |
56 Compatibility | |
57 ============= | |
58 | |
59 ----- -------------- | |
60 0.7 Works | |
61 0.6 Doesn't work | |
62 ----- -------------- | |
63 | |
64 Todo | |
65 ==== | |
66 | |
67 - ACLs (restrict to certain JIDs, and/or certain target hosts/ports) | |
68 - Honour block-size (undecided) | |
69 - Support iq stanzas for data transmission | |
70 - Signal to start SSL/TLS on a connection |