Many nodes in the drogulus will be short-lived and exist on PCs / laptops behind routers / firewalls. These nodes should be contactable by peers on the network. For this to work some sort of uPNP (https://en.wikipedia.org/wiki/Universal_Plug_and_Play) jiggery-pokery needs to happen so that port foo on the router facing the external internet is NAT'd to the correct port/ip-address for the drogulus daemon running on the user's machine.
There are, of course, several other ways around this used by consoles, Skype and bittorrent (for example). uPNP is perhaps the most obvious / simplest..?
This ticket is for an investigation to deliver the following:
Feasibility of using uPNP to NAT drogulus daemons as described above using Python (see http://coherence-project.org/ for an existing Python/uPNP project).
Assuming success of the above, some example "spike" code.
Description of other potential techniques to achieve this end (bonus points for working code examples).
Many nodes in the drogulus will be short-lived and exist on PCs / laptops behind routers / firewalls. These nodes should be contactable by peers on the network. For this to work some sort of uPNP (https://en.wikipedia.org/wiki/Universal_Plug_and_Play) jiggery-pokery needs to happen so that port foo on the router facing the external internet is NAT'd to the correct port/ip-address for the drogulus daemon running on the user's machine.
There are, of course, several other ways around this used by consoles, Skype and bittorrent (for example). uPNP is perhaps the most obvious / simplest..?
This ticket is for an investigation to deliver the following: