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