[{"data":1,"prerenderedAt":268},["ShallowReactive",2],{"project-3471405":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":42,"post_text":45,"what":46,"said":80,"maker_in_thread":161,"shape":170,"grid":174,"attempts":230,"same_week":231,"maker_shows":259,"maker_hidden":260,"reader_version":261,"card":262},"3471405","DirtyShare","DirtyShare, Pure JavaScript P2P File Sharing (in Node.js + Socket.io)","title","Show HN: DirtyShare, Pure JavaScript P2P File Sharing (in Node.js + Socket.io)","http:\u002F\u002Fgun.io\u002Fblog\u002Fdirtyshare-pure-javascript-peer-to-peer-p2p-file-sharing-nodejs-socketio\u002F","gun.io","Mizza",1326733303,2012,75,25,318,1677,19,"notable","web_saas","file sharing","web_app",[24,25,26,27,28],"p2p file sharing","node.js","socket.io","webrtc","javascript","curious",0.037,{"positive":32,"neutral":33,"mixed":34,"critical":35},3,10,0,4,17,{"idea":38,"performance":39,"execution":40,"privacy":41},{"positive":32,"critical":35},{"positive":34,"critical":34},{"positive":34,"critical":34},{"positive":34,"critical":34},[32,34,32,32,32,32,34,43,34,43,34,43,44,43,34,44,32,34,32,34,44,34,32,32,32],1,5,null,{"problem":47,"audience":45,"pricing":45,"motivation":45,"time_to_build":45,"stack":55,"openness":77,"stage":78,"team_size":79},{"value":48,"source":49,"evidence":50},"Sharing large files directly between browsers without managing public folders","commenter",[51],{"id":52,"by":53,"text":54},"3471608","krmmalik","I really like the concept. I often have files i want to share with peers, and they're often in weird places on my desktop, not to mention are often quite large, and i often dont…",[56,62,66,70],{"value":57,"source":58,"evidence":59},"JavaScript","maker",[60],{"id":61},"post",{"value":63,"source":58,"evidence":64},"Node.js",[65],{"id":61},{"value":67,"source":58,"evidence":68},"Socket.io",[69],{"id":61},{"value":71,"source":49,"evidence":72},"WebSockets",[73],{"id":74,"by":75,"text":76},"3472175","adpowers","Heh. Well, mine wasn't completely arbitrary. If I remember correctly I was trying to trade off server CPU usage with memory usage. One chunk at a time is buffered on the server,…","open_source","beta","unknown",{"praise":81,"objections":90,"requests":113,"questions":132,"alternatives":140},[82],{"value":83,"source":49,"evidence":84},"Interesting concept for in-browser file sharing",[85,86],{"id":52,"by":53,"text":54},{"id":87,"by":88,"text":89},"3473046","gojomo","Great stuff, and maybe also a step towards a content-centric web, which is indifferent about where content comes from, only that it's precisely what the audience requested.…",[91,106],{"value":92,"source":49,"evidence":93},"Not truly peer-to-peer because a central server sits in the middle",[94,98,102],{"id":95,"by":96,"text":97},"3471444","chrisrhoden","Not really P2P - I see that you're aware of this and working on it. Really cool stuff. Why can't I drag-> drop files in?",{"id":99,"by":100,"text":101},"3471583","firefoxman1","So is this not \"true\" P2P because a node.js server sits in the middle?",{"id":103,"by":104,"text":105},"3473194","charliesome","Having a central server sit in the middle that all traffic goes through goes right against the very definition of P2P.",{"value":107,"source":58,"evidence":108},"Drag and drop and uploads broken in current browsers",[109,112],{"id":110,"by":11,"text":111},"3471497","Both of those things are TODO. Drag and Drop was working, but I broke it again (file input is handled differently in different browsers, which was a headache) and I just wanted…",{"id":74,"by":75,"text":76},[114,118,125],{"value":115,"source":49,"evidence":116},"Drag and drop file input",[117],{"id":95,"by":96,"text":97},{"value":119,"source":49,"evidence":120},"SSL transfers",[121],{"id":122,"by":123,"text":124},"3473589","nodesocket","Great work. Do you guys host this yourself on EC2? Also, would be great to get SSL transfers.",{"value":126,"source":49,"evidence":127},"Saving files without prompting via local storage",[128],{"id":129,"by":130,"text":131},"3471688","sedachv","Do you know of a way to save the files without prompting? DOM localstorage is tiny. If there was a way to pull updates from your friends automatically and cache them, that would…",[133],{"value":134,"source":49,"evidence":135},"Can uploads be piped directly from POST to GET without websockets?",[136],{"id":137,"by":138,"text":139},"3472413","robert-boehnke","Couldn't you just connect the uploader's POST to the downloader's GET request instead of using websockets?",[141,147,154],{"value":142,"source":49,"evidence":143},"Transfury",[144],{"id":145,"by":75,"text":146},"3472156","I made almost exactly the same thing a few months ago: http:\u002F\u002Fwww.transfury.com\u002F The server is written in node.js and it uses socket.io to do the transfers. I think it only works…",{"value":148,"source":49,"evidence":149},"ge.tt",[150],{"id":151,"by":152,"text":153},"3471963","c10n","Try http:\u002F\u002Fge.tt",{"value":155,"source":49,"evidence":156},"Sendoid",[157],{"id":158,"by":159,"text":160},"3472206","quartz","Kudos on the site! In an earlier version of Sendoid, we were doing exactly this to handle the \"larger than reasonable\" in-browser sharing issue. We had some privacy concerns at…",{"comments":35,"answered":32,"key":162},[163,166,167],{"id":164,"text":165},"3472163","Interesting! It's funny how we both chose the same arbitrary chunk size :)",{"id":110,"text":111},{"id":168,"text":169},"3471717","There is a 'FileStorage' API which I would like to use rather than the DOM, but only Chrome supports it for now, and I would like this experiment to remain cross-platform (there…",{"commenters":171,"max_depth":35,"maker_replies":35,"first_comment_mins":172,"lifespan_hours":173},16,9,186,[175,177,179,181,184,185,187,191,193,194,195,198,199,202,205,208,209,210,211,214,217,218,221,223,226],[145,34,32,176,75,34],"project\u002Fneutral\u002Fidea",[164,34,34,178,11,43],"commenter\u002Fneutral\u002Fnone",[74,34,32,180,75,34],"project\u002Fneutral\u002Fperformance",[182,34,32,183,75,34],"3472219","project\u002Fneutral\u002Fexecution",[137,34,32,183,138,34],[186,34,32,180,100,34],"3472519",[188,34,34,189,190,34],"3472573","commenter\u002Fneutral\u002Fexecution","wonderercat",[95,43,43,192,96,34],"project\u002Fcritical\u002Fidea",[110,43,34,183,11,43],[99,43,43,192,100,34],[196,43,34,178,197,34],"3471616","VMG",[103,43,43,192,104,34],[87,200,44,201,88,34],2,"project\u002Fpositive\u002Fidea",[203,200,43,192,204,34],"3473315","sirclueless",[206,200,34,207,88,34],"3473945","commenter\u002Fneutral\u002Fidea",[158,32,44,201,159,34],[129,35,32,176,130,34],[168,35,34,183,11,43],[212,35,32,213,130,34],"3471895","maker\u002Fneutral\u002Fnone",[215,35,34,216,11,43],"3471942","maker\u002Fneutral\u002Fdocs",[52,44,44,201,53,34],[151,219,34,220,152,34],6,"other\u002Fneutral\u002Fnone",[222,219,32,176,204,34],"3473064",[122,224,32,225,123,34],7,"maker\u002Fneutral\u002Fprivacy",[227,224,32,228,229,34],"3504219","project\u002Fneutral\u002Fprivacy","bphz",[],[232,237,242,247,251,255],{"id":233,"name":234,"points":235,"category":236},"3477081","HackPad",209,"productivity",{"id":238,"name":239,"points":240,"category":241},"3464607","Fisher–Yates shuffle visualization",176,"learning_science",{"id":243,"name":244,"points":245,"category":246},"3469347","CSSDeck",165,"dev_tools",{"id":248,"name":249,"points":14,"category":250},"3460224","Twostroke","languages",{"id":252,"name":253,"points":254,"category":20},"3458214","Scrollsy",73,{"id":256,"name":257,"points":258,"category":20},"3473220","Hello Bar Stop SOPA\u002FPIPA notification bar",57,13,false,"v2",{"id":263,"name":5,"line":6,"ai":260,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":264,"top":18,"kw":265,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":266,"url":9,"mix":267,"praise":83,"objection":92,"sub":21},3471405,0.04,[24,25,26,27,28],"3033330101015105303050333",[32,33,34,35],1794036492596]