When you organize or attend a LAN party, you probably want to exchange files with everybody on the same local network (LAN: Local Area Network). Using the Windows build-in filesharing is often problematic. There are a few programs that allow you to do this easier. Most of them require a server, which can be problematic for small-scale or dynamic LAN parties. In this post I will discuss a few peer-to-peer (P2P) programs that do not require a server. They typically find other nodes using multicast or broadcast.
Below a table with the applications I tested. You can also download the Excel spreadsheet.
software | p2p | dist.leech | hashing | cross | prog.lang | last update | gui | portable | runs |
Lanshark | y | n | n | y | python | 2007-09 | gtk, ok | y | n |
D-LAN | y | y | y | y* | c++ | 2012-01 | qt, nice | n | n |
p300 | y | n | n | y | java | 2009-01 | java, ugly | y | y |
FAP | y | n | ? | n | c# | 2011-06 | win, nice | n | n |
DC++ | n | — | y | y | — | — | — | — | y |
Comments on the table headers
p2p: peer to peer, if “y” then no server is needed
dist.leech: distributed downloading, leech same file from multiple peers
hashing: make a fingerprint of each file
cross: cross-platform (windows, mac, linux)
prog.lang: programming language
gui: graphical user interface
portable: needs no installation to run
runs: if “y” then I encountered no major problems while executing the program
Discussion
I like the approach taken by D-LAN, it
is perfect when file fingerprinting (hashing) time is no issue supports optional fingerprinting. It installs a Windows service, which you can auto-start so file sharing can work even without logging in. But hashing takes a long time, so D-LAN is no good choice if you want to start right away (same for DC++). Note that D-LAN currently is only available for Windows, although they hope to have versions for Mac and Linux soon.
For a simple, easy to setup LAN party, Lanshark is perfect, and p300 could be useful but the latter doesn’t have a nice user interface. When you need remote control or remote nodes, or need a one-executable (one-file) tool, p300 is interesting.
DC++ (DirectConnect) is not a P2P filesharing tool and needs a server (hub), but I have included it here because it is often used on LAN parties. There are many different clients and hubs available for DirectConnect.
Lanshark and D-LAN do not update or autodetect its peers properly (tested with one Windows XP SP3 and one Windows 7 PC, both with firewall turned off). D-LAN depends on UDP multicast and does have a few open issues in that respect. FAP is promising but gave errors both on Windows XP SP3 and on Windows 7.
Conclusion
I advise p300. Its interface might be ugly but it works. DC++ is another good alternative if you don’t mind installing a server (hub).
update 2012-0307: D-LAN uses fingerprinting, but that can be turned off (see author’s comment below)
Hey!
Thanks a lot for advising to use p300 🙂
I wish I had the time to update it a bit. Or port it Qt to make it independent from Java.
Markus
hi i’m the D-LAN developer, nice comparison. Just a detail about D-LAN, it’s not mandatory to hash a file before sharing it, the hashing can be on the fly. And for the UDP multicast issues I wish these will be solved with the IPv6 support.