I am not very familiar with this project but I see it uses UPnP. Does it rely on UPnP or is it only opportunistic use? If the former, what happens if the user's custom router does not run a UPnP daemon, or if the user prefers to disable UPnP in her consumer router?