If I can get a little more information about your specific use case maybe we can together determine a solution for your needs.
Why don’'t you want to setup a proxy service?
The difficulty of sharing files between users on seperate LANs is that the address’'s, unless operating under a VPN, need to internet addressable. In other words one user needs to be able to see the other user to directly connect to them. When a user is on a LAN their address is generally translated to match one internet address.
That is the power of the proxy service as both users connect directly to the proxy and the proxy mediates the file transfer. In this case, you only need one internet addressable node, the file transfer proxy.
Jabber file transfer, and in this case Spark, also provide a fall back mechanism which is known as IBB. Which transfer’'s the file over the same XML stream used by Jabber. The problem with IBB is that there is quite a bit of overhead. Each packet of data is encoded in Base64… the addressing information is added… the packet has to be routed through your server and any remote servers. So, if you are transfering large files, or even a fair amount of files it can be problematic as it creates a huge burden on the server. In fact, several sever implementations I have heard have out-right banned IBB because of the congestion it creates. It really does have the potential to slow down and cripple a server. So my question in this case would be, how many files are you planning to transfer and how large are they?
The user’'s on seperate LANs, would there be a way to setup a NAT for them to route from a specific port to a specific computer? How many clients do you have behind each LAN?
If we can figure some of these things out, it should be easier to determine what you need and if it is possible.