{"action":"created","issue":{"url":"https://api.github.com/repos/callaa/Drawpile/issues/182","labels_url":"https://api.github.com/repos/callaa/Drawpile/issues/182/labels{/name}","comments_url":"https://api.github.com/repos/callaa/Drawpile/issues/182/comments","events_url":"https://api.github.com/repos/callaa/Drawpile/issues/182/events","html_url":"https://github.com/callaa/Drawpile/issues/182","id":59341309,"number":182,"title":"NAT traversal","user":{"login":"Tirifto","id":10896954,"avatar_url":"https://avatars.githubusercontent.com/u/10896954?v=3","gravatar_id":"","url":"https://api.github.com/users/Tirifto","html_url":"https://github.com/Tirifto","followers_url":"https://api.github.com/users/Tirifto/followers","following_url":"https://api.github.com/users/Tirifto/following{/other_user}","gists_url":"https://api.github.com/users/Tirifto/gists{/gist_id}","starred_url":"https://api.github.com/users/Tirifto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tirifto/subscriptions","organizations_url":"https://api.github.com/users/Tirifto/orgs","repos_url":"https://api.github.com/users/Tirifto/repos","events_url":"https://api.github.com/users/Tirifto/events{/privacy}","received_events_url":"https://api.github.com/users/Tirifto/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/callaa/Drawpile/labels/Feature","name":"Feature","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-02-28T13:11:54Z","updated_at":"2015-02-28T19:45:04Z","closed_at":null,"body":"I have tried to use Drawpile with other people, but it didn't work because we couldn't connect to each other. I came to understand that this is most likely due to us being ordinary users behind a NAT. While the website does provide info on how to deal with this, no solution is convenient. \r\n\r\nAverage computer user does not have a server available and won't be able to forward his ports due to lack of technical knowledge or not being able to modify the router settings.\r\n\r\nI think that Drawpile should eventually be able to deal with this and allow users to connect to each other in a simple way without requiring them to tinker with various programs and devices to make it work. The Tox project is an example of this. It aims to be a simple and secure communication client and usually works out of the box, no need to forward anything. ( https://github.com/irungentoo/toxcore )\r\n\r\nPerhaps some Tox code could be used in Drawpile? Or some other software? However it's done, I believe it needs to be done. It will be an important step that will open Drawpile to masses of people."},"comment":{"url":"https://api.github.com/repos/callaa/Drawpile/issues/comments/76542313","html_url":"https://github.com/callaa/Drawpile/issues/182#issuecomment-76542313","issue_url":"https://api.github.com/repos/callaa/Drawpile/issues/182","id":76542313,"user":{"login":"Tirifto","id":10896954,"avatar_url":"https://avatars.githubusercontent.com/u/10896954?v=3","gravatar_id":"","url":"https://api.github.com/users/Tirifto","html_url":"https://github.com/Tirifto","followers_url":"https://api.github.com/users/Tirifto/followers","following_url":"https://api.github.com/users/Tirifto/following{/other_user}","gists_url":"https://api.github.com/users/Tirifto/gists{/gist_id}","starred_url":"https://api.github.com/users/Tirifto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tirifto/subscriptions","organizations_url":"https://api.github.com/users/Tirifto/orgs","repos_url":"https://api.github.com/users/Tirifto/repos","events_url":"https://api.github.com/users/Tirifto/events{/privacy}","received_events_url":"https://api.github.com/users/Tirifto/received_events","type":"User","site_admin":false},"created_at":"2015-02-28T19:45:04Z","updated_at":"2015-02-28T19:45:04Z","body":"I've heard all sorts of things about UPnP, but as long as it works, sure.\r\n\r\nAs for the public server, how would that work? Access to a public server, or even better, multiple public servers is nice. Wouldn't that, however, put all the users who connect to the server on the same canvas? Drawing with random people can be fun, but that still won't fix the issue, seeing as some people, including me, would like to share a private canvas with a friend or two.\r\n\r\nAs for the hole punching, can't Drawpile also use UDP? I don't know how difficult it is to implement, but would it be possible to add UDP as an option or a fallback? While I also hope for a rapid growth of IPv6, it would be nice to find another solution before that dream becomes reality.\r\n\r\nI had this problem with more programs, so I searched for a solution a while back. I found some VPNs, but none were simple and straightforward. I used Hamachi a long time ago, but being proprietary and centralized makes it a horrible solution. I came across a program called \"n2n\". From what I've read, it connects two computers with the help of a third server, but once connected, the two compuers can communicate on their own. If it works this way and can be implemented in Drawpile, then perhaps it could just use the public server to connect two people and let them have fun. This would also solve the bandwith issues.\r\n\r\nI also found a program which claimed to allow NAT to NAT communication without any port forwarding or servers, but I forgot it's name and I couldn't find it afterwards. I think it was also in Arch User Repository, though."}}