mod_proxy65

It allows the server to proxy file transfers between 2 clients that are behind NAT routers or firewalls, and otherwise wouldn't be able to transfer files.

Details

mod_proxy65 implements XEP-0065. Once set up, depending on which client you are using the proxy may be automatically used (if mod_disco is enabled), or the client may have to be configured. Consult your client's documentation for more information.

Usage

    Component "proxy.example.com" "proxy65"

Configuration

General options

These may be set differently per host, or in the global section to apply as a default for all hosts on the server.

Option Default Notes
proxy65_address nil The advertised address of the proxy, which clients use to connect to. If not set the hostname of the component is used. There must be a DNS A and/or AAAA record for this address. Alternatively you can specify an IP address.
proxy65_acl { } Access Control List, when specified all users will be denied access unless in the list. The list can contain domains, bare jids (normal) or full jids (including a resource).

Network and port options

Option Default Notes
proxy65_interfaces { "*", "::" } A list of interfaces to listen on. Defaults to all IPv4 (and IPv6 when available) interfaces.
proxy65_ports { 5000 } A list of ports to listen on.

Note: Because network and port options apply to the server as a whole, these options must be placed in the global section.

Example

Port configuration is global, so configure ports and interfaces above any VirtualHost or Component sections if you need to:

    -- You only need these if you need to specify custom ports or interfaces
    proxy65_ports = { 5555 }
    proxy65_interfaces = { "192.168.0.1" }

Create one or more proxy components, like so:

    Component "proxy.example.com" "proxy65"
        proxy65_address = "ftproxy.example.com"
        proxy65_acl = { "example.com", "theadmin@anotherdomain.com", "only@fromwork.de/AtWork" }