Comparison of P2P file sharing tools for LAN parties

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 | pytho | n 2 | 007-09 | gtk, ok y | n | |||
D-LAN y y | y y* | c++ | 2 | 012-01 | qt, nice n | n | |||
p300 y n | n y | java | 2 | 009-01 | java, ugly y | y | |||
FAP y n | ? n | c# | 2 | 011-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 multiplepeers
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)
Comments
Comment of guruz op 2012-02-25
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
Comment of Ummon op 2012-03-06
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.
Deze blogpost werd in december 2022 overgezet van WordPress naar een methode gebaseerd op Markdown; het is mogelijk dat hierbij fouten of wijzigingen zijn ontstaan t.o.v. de originele blogpost.