Proxy file transfer doesn''t work

Hi all

I think that the proxy file transfer doesn’‘t work, because It doesn’‘t transfer file with users that are out of the our LAN (remote). I have behing of a firewall and NAT. I’'m using Wildfire Server, Versión: 2.6.2, and as a client PSI versión 1.0. I have openned the following port in the firewall 8010, 7777, 9091, 5223.

The file transfer p2p works fine, with users that are in the same LAN.

Please, help me with this configuration of Wildfire Server and PSI client.



does PSI support using a filetransfer proxy? Or in-band file transfer?


I believe Psi supports both file transfer proxy and in-band. I know it does the proxy. Look on account config, “Misc” tab for the field to enter the proxy address.


In PSI I see something like this SOCKS5 Bytestreams Services.

Hi, all

How Can I know if the proxy file transfer is working OK (fine) ?


Did you set the xmpp.proxy.externalip property on your server? This tells the file transfer proxy where poeple can contact it on the WAN… it then passes this info onto clients so that they can connect directly. By default, Wildfire populates its internal IP address.

If you set that it should solve your problem.



I neglected to mention that you need to set on your PSI connection settings the address of the proxy server so that your clients can discover it. Spark discovers this information automatically.



PSI does not support In band file transfer, only Socks5.


ok Im new here and I try to get any filetransfer working with my wildfire install on a slackware box.

My Brother and me we using PSI and this whole pgp stuff works great - the whole server works great except filetransfer. Reading in this forum told me something about xmpp.proxy.externalip what is it and were can I find it? (Is this the right place to ask?)

And Im not to sure about what ports to open, because in adminwebinterface is something about proxyport 7777 so I opend port 7777 in my router and firewall, but when I tell PSI that the filetransfer port is 7777 and I put the SOCKS5 Bytestreams Service to my roster and try to connect nothing happens …

Some help would be really kind, or a direction at least

thx in advance y0shi

The xmpp.proxy.externalip is the address at which external clients can reach your server, it is accesible via the properties tab in Wildfire, a new setting needs to be added for it.



thank you so far

I made a new setting containing xmpp.proxy.externalip with the value proxy.my_dyndns_domain

But I found out that this Socks5 thing is kind of complicated …

I got proxy65 from and installed twisted.

so I have python 2.4.2 and twistd (the Twisted daemon) 2.1.0

than I tried what this README told me:

I got an error my box wants twisted words …

… so got twisted words:

did this till the point:

Next, type:

mktap proxy65 --help

You should see some nice help output:

  1. mktap proxy65 --help

Usage: mktap


–jid= default: proxy65


–rhost= default:

–rport= default: 6000



–help Display this help and exit.

Now you can run the ‘‘mktap’’ command. This will generate the TAP

so that you don’'t have pass arguments to Proxy65 on the command

line whenever you want to start it.

The parameters have the following meaning:

–jid The JID of your Proxy65 service, just as it is

in your jabber.xml file or other config.

–secret The secret password used between your Jabber

server and your Proxy65 component.

–rhost The IP address of your Jabber router (server).

–rport The port over which router-to-component traffic

will be sent.

–proxyips The IP addresses and ports used for SOCKS5

communications; you can supply more than one

by comma-separating the list. The address must

be an IP address (not a hostname) and the port

is specified by a colon (":") character and then

the port number. (The default port is 7777).

So, type something like this:

mktap proxy65 --jid=proxy65.yourhostname.tld --secret=yourproxysecret --rhost=yourjabberdip --rport=yourcomponentportnumber --proxyips=defaultnetworkIP:someport

Here is an example:

mktap proxy65 --jid=proxy65.localhost --secret=proxybaby --rhost= rport=7013 --proxyips=

You should now see a proxy65.tap file in the directory where you

built the component.

the last step with mktap proxy65 -jid=proxy.localhost … does not work

I get the error:

/usr/bin/mktap proxy65 --jid=proxy.localhost --rhost= rport=6000 --proxyips=

/usr/lib/python2.4/site-packages/proxy65/plugins.tml:5: DeprecationWarning: The twisted.python.plugin system is deprecated. See twisted.plugin for the revised edition.

type=’‘tap’’, tapname=’‘proxy65’’)

Wrong number of arguments.


Do I really have to do this to send files from one jabber user to an other?

I mean this Socks5 sound nice but … complicated?

I dont know - do guys can help me with this?

ah before I forget, I read this in some maillist:

In general, I recommend Twisted 2.x because I solved many bugs there and

added XMPP stringprep support. The Twisted overlords changed the

location of the Jabber bits from twisted.protocols.jabber to

twisted.words.protocols.jabber, so if you want to use proxy65 with

Twisted 2, you need to patch the file for this change.

so I did this and reinstalled everything but, the error is up there …

There was no nead to download the proxy65 as Wildfire comes with a proxy embedded. Spark supports automated discovery of the proxy server so you only need to turn the feature on in wildfire, use spark, and you are ready to go.

Sorry if there was any confusion on this.



oh I see … wildfire comes with a proxy, thats nice, I tried spark and was able to send files to spark, but not from spark to some other client.

I cant make all people use spark though - is there a way to connect to that proxy with an other client too?

or do I have to try further with proxy65 for that?

thank you for your persistence it is much appreciated

Wildfire does the same thing as proxy65, only better imho. It all depends which client you are trying to use if they support auto-discovery of the proxy, in-band file transfer, etc. as Spark does. Spark’'s file transfer implementation is extremely robust and simple to use as well.


I’‘m a new user of WildFire, under Windows 2003, and I’'ve got the same problem with Neos MT clients : impossible to transfer files between users.

I try to use the Proxy from WildFire, but it doesn’'t seems to work.

I just check it in WildFire server, and use port 7777. Port forwarding ok.

Do I need to do something else ?

What is the xmpp.proxy.externalip ? In which file/where can I see it ?

Thanks for all !


you should have an admin-web-gui, you have to type domain-name:9090 into your browser, where domain-name is your domain-name …

here you login as admin and the the second from the top is something like systemprefs

looks a bit like this:

xmpp.auth.anonymous true

xmpp.client.tls.policy optional

xmpp.domain my-domain

xmpp.muc.history.maxNumber 50

xmpp.muc.history.type number

xmpp.muc.service irc

here you add a new pref with name xmpp.proxy.externalip and value proxy.your-domain-name

so it looks like this than: (in my case)

xmpp.proxy.enabled true


xmpp.proxy.port 7777

hope that helps

I have the same problem for Psi and can’'t seem to get around it.

I can send files over the proxy just fine with spark, everything works like a charm, but spark IMHO a bit of a bloated client that takes too much memory and I can’‘t get it to steal focus on incoming messages. Anyway, I really like Pandion but am not able to use it because it doesn’'t support file transfer proxies.

So there I am stuck with Psi… I put the into the Data Transfer Proxy setting under the Misc tab on the connection settings. The client connects just fine and can chat just fine… Then if I try to send a file it tells me that it can’‘t connect and it does it immediately. It acts like it doesn’'t even try to connect to the proxy even though it is specified properly according to everything I have read up to this point. So I am totally stumped… I have tried just putting the server name and the ip address in there as well and it does the same thing…

My server name is set to:

I have the server properties setup to:

xmpp.proxy.enabled true


xmpp.proxy.port 7777

Something to try,

Try to connect from the computer using PSI to on port 7777 using telnet. If you can’‘t connect then there are DNS issues, or your proxy can’'t start correctly for some reason.



You were right it was dns related. The entry we had for was typo’‘d in our dns server. Which leaves me semi-puzzled in that spark was still working with it being wrong. Oh well psi works now so that’'s all I care about, I can deploy it to the rest of my company now. Thanks a lot… it is always the simple things that seem to mess things up.

@absabby28: Make sure that you enter the file transfer proxy address (JID actually) in the ‘‘Data transfer proxy’’ field in the final pane of your account settings. The proxy settings under ‘‘Connection’’ (i.e. SOCKS5, HTPP poll, HTTP connect) are for using proxies for your client-to-server connection, not your data transfers, so you do not need those.