[{"data":1,"prerenderedAt":398},["ShallowReactive",2],{"project-16647977":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":45,"post_text":46,"what":47,"said":70,"maker_in_thread":171,"shape":183,"grid":185,"attempts":358,"same_week":359,"maker_shows":40,"maker_hidden":390,"reader_version":391,"card":392},"16647977","qr-filetransfer","Transfer files to mobile device by scanning a QR code from the terminal","title","Show HN: Transfer files to mobile device by scanning a QR code from the terminal","https:\u002F\u002Fgithub.com\u002Fclaudiodangelis\u002Fqr-filetransfer","github.com","daw___",1521721588,2018,238,72,134,2155,7,"notable","dev_tools","command line file transfer","cli",[24,25,26,27,28],"file transfer","qr code","phone","command line","http server","mixed",0.038,{"positive":32,"neutral":33,"mixed":34,"critical":35},8,17,2,9,36,{"privacy":38,"idea":41,"execution":44},{"positive":39,"critical":40},0,1,{"positive":42,"critical":43},5,3,{"positive":34,"critical":42},[39,39,43,43,40,39,40,39,42,43,39,42,39,43,39,42,40,43,43,43,39,40,39,43,43,43,42,43,40,43,39,40,42,40,43,43,43,39,43,42],null,{"problem":48,"audience":46,"pricing":46,"motivation":55,"time_to_build":46,"stack":59,"openness":68,"stage":69,"team_size":69},{"value":49,"source":50,"evidence":51},"Moving a file to a phone without installing apps or using adb","maker",[52],{"id":53,"by":11,"text":54},"16651236","Thanks! That's the fastest thing I could came up with to solve the problem of moving a tiny little piece of data between my computer and my smartphone without installing apps or…",{"value":56,"source":50,"evidence":57},"Needed a quick way to move a small file to a smartphone without apps or cables",[58],{"id":53,"by":11,"text":54},[60],{"value":61,"source":62,"evidence":63},"Go","inferred",[64],{"id":65,"by":66,"text":67},"16654210","andmarios","Here is a small issue: https:\u002F\u002Fgithub.com\u002Fclaudiodangelis\u002Fqr-filetransfer\u002Fblob\u002Fmaster\u002Fmain.go#L65 I don't know if it is the barcode scanner app (I use the one from zxing, a very…","open_source","unknown",{"praise":71,"objections":88,"requests":118,"questions":136,"alternatives":144},[72],{"value":73,"source":74,"evidence":75},"Clever, elegant approach using a QR code and a disposable web server","commenter",[76,80,84],{"id":77,"by":78,"text":79},"16650368","woodrowbarlow","oh, this is clever! i was worried that it would upload my file to a cloud service, or that i would need to install a custom app on my phone.",{"id":81,"by":82,"text":83},"16652475","jonplackett","Really smart. Was also worried it would be tranfered via some random web server but it’s a really elegant solution. Well done!",{"id":85,"by":86,"text":87},"16650271","kureikain","This is amazing. Always looking for something like this. The old way I used to do is to run a HTTP server with an upload form in the mobile phone. But this requires an app on…",[89,97,108],{"value":90,"source":74,"evidence":91},"Server exits after first request, so some scanner apps fail to download",[92,93],{"id":65,"by":66,"text":67},{"id":94,"by":95,"text":96},"16653204","fiatjaf","Doesn't work here. As soon as I scan the QR code with my phone, I'm prompted by the barcode-scanner app to open the URL (192.168.15.whatever) on the browser, but at the time this…",{"value":98,"source":74,"evidence":99},"Binds to a guessable URL on the network without a random suffix",[100,104],{"id":101,"by":102,"text":103},"16649336","koolba","Why not add a random suffix? http:\u002F\u002F{address}:{port}\u002F{32-bytes from \u002Fdev\u002Furandom as hex} If the URL isn't being manually entered (I mean that's the whole point of the QR code…",{"id":105,"by":106,"text":107},"16650818","Zenbit_UX","I'd actually rather not have this addition. Despite your marketing this as a desktop > mobile transfer right now there's no reason your app can't be used for desktop > desktop…",{"value":109,"source":74,"evidence":110},"Breaks on IPv6 addresses on macOS",[111,115],{"id":112,"by":113,"text":114},"16650892","yoz-y","Looks useful and fun, however it does not seem to work correctly with ipv6 on mac? I obtain: ``` 2018\u002F03\u002F22 18:46:55 listen tcp: address fe80::XX:XXXX:XXX:XXXX:57532: too many…",{"id":116,"by":113,"text":117},"16656160","I actually already have this setting enabled. But it will still give you an ipv6 address and even though I do have a local ipv4 address on this interface, the application will…",[119,129],{"value":120,"source":74,"evidence":121},"Support for transferring multiple files",[122,126],{"id":123,"by":124,"text":125},"16649370","ktpsns","An innovative idea, I like it and could think of using it. Actually it would be more helpful if there was a way to transfer multiple files in a reasonable manner. While the…",{"id":127,"by":124,"text":128},"16686550","Well, transfering multiple files most likely means to zip\u002Ftarball them together at the server side. But unpacking an archive after downloading it on a mobile OS needs a number of…",{"value":130,"source":74,"evidence":131},"Support for piping input such as the clipboard",[132],{"id":133,"by":134,"text":135},"16651676","throw501","nice, thanks. would be nice if it could allow pipes. example to send the clipboard: $ pbpaste | qr-filetransfer 2018\u002F03\u002F22 15:06:48 At least one argument is required",[137],{"value":138,"source":74,"evidence":139},"Does it work on iOS?",[140],{"id":141,"by":142,"text":143},"16651017","dyarosla","Looks like a cool project! Only quickly glanced at the code but couldn’t find it: where does this transfer files to on an iOS device? Does it even work with iOS?",[145,151,158,164],{"value":146,"source":74,"evidence":147},"netcat",[148],{"id":149,"by":102,"text":150},"16651253","That’s what netcat is for! Host A: ``` $ nc -l 12345 \u003C data.txt ``` Host B: ``` $ nc host-a-or-its-ip 12345 > data.txt ```",{"value":152,"source":74,"evidence":153},"woof",[154],{"id":155,"by":156,"text":157},"16658064","arantius","http:\u002F\u002Fwww.home.unix-ag.org\u002Fsimon\u002Fwoof.html",{"value":159,"source":50,"evidence":160},"python -m http.server",[161],{"id":162,"by":11,"text":163},"16651111","Thanks! I use this \"disposable\" web server approach a lot actually, usually by running `python -m http.server` from the directory that contains the file I want to transfer, and…",{"value":165,"source":74,"evidence":166},"Flying Carpet",[167],{"id":168,"by":169,"text":170},"16655179","spieglt","Great project! I'm working on one that's somewhat related, it's basically cross-platform AirDrop (though only for laptops). Seems like mine could really benefit from a method of…",{"comments":172,"answered":18,"key":173},24,[174,177,180],{"id":175,"text":176},"16651075","Wow, that's interesting! Starred.",{"id":178,"text":179},"16647994","From the README: This program binds a web server to the address of your wifi network interface on a random port, and sets a default handler for it. The default handler serves the…",{"id":181,"text":182},"16649427","Thanks, very good point. Initially I thought that shorter the better for URL, but since it doesn't have to be entered then it makes sense to make it a bit longer to be…",{"commenters":36,"max_depth":18,"maker_replies":172,"first_comment_mins":43,"lifespan_hours":184},116,[186,190,193,195,197,199,200,201,203,205,208,209,212,214,217,219,220,221,223,226,227,228,230,235,238,240,242,246,247,250,253,255,257,259,262,263,264,266,267,269,272,274,278,280,282,285,288,290,294,297,299,301,303,308,311,313,317,319,321,323,325,328,330,333,336,338,340,343,345,349,351,356],[187,39,39,188,189,39],"16650830","commenter\u002Fneutral\u002Fnone","paulgb",[191,39,39,188,192,39],"16650909","f2n",[175,39,39,194,11,40],"project\u002Fpositive\u002Fidea",[178,40,39,196,11,40],"maker\u002Fneutral\u002Fdocs",[101,40,43,198,102,39],"project\u002Fneutral\u002Fprivacy",[181,40,39,198,11,40],[105,40,43,198,106,39],[149,40,40,202,102,39],"project\u002Fcritical\u002Fidea",[204,40,39,188,106,39],"16652439",[206,40,39,188,207,39],"16652981","jakobegger",[155,40,40,202,156,39],[210,40,43,198,211,39],"16650807","jermaustin1",[213,40,39,188,11,40],"16651244",[215,40,39,188,216,39],"16651479","bertman",[218,40,39,188,11,40],"16651510",[77,40,42,194,78,39],[53,40,39,194,11,40],[123,34,43,222,124,39],"project\u002Fmixed\u002Fexecution",[224,34,39,225,11,40],"16649458","project\u002Fneutral\u002Fexecution",[127,34,43,225,124,39],[85,43,42,194,86,39],[162,43,39,229,11,40],"project\u002Fneutral\u002Fnone",[231,232,39,233,234,39],"16652272",4,"other\u002Fneutral\u002Fprivacy","ryanmarsh",[236,232,43,198,237,39],"16652723","tmuir",[239,232,39,188,234,39],"16654376",[241,232,39,188,237,39],"16654487",[243,232,39,244,245,39],"16653444","other\u002Fneutral\u002Fnone","XorNot",[81,42,42,194,82,39],[248,42,39,249,11,40],"16652508","maker\u002Fpositive\u002Fnone",[112,251,40,252,113,39],6,"project\u002Fcritical\u002Fexecution",[254,251,39,225,11,40],"16650911",[256,251,43,225,134,39],"16651743",[258,251,43,229,237,39],"16652669",[260,251,39,188,261,39],"16654760","voxadam",[116,251,40,252,113,39],[168,18,42,194,169,39],[265,18,39,244,11,40],"16656109",[65,32,40,252,66,39],[268,32,39,225,11,40],"16656129",[270,35,39,188,271,39],"16652811","kamil9",[273,35,39,188,11,40],"16656137",[275,276,39,277,11,40],"16651034",10,"project\u002Fneutral\u002Fdocs",[141,279,43,229,142,39],11,[281,279,39,229,11,40],"16651065",[283,279,43,229,284,39],"16651069","ReverseCold",[286,279,43,222,287,39],"16657727","vk2",[289,279,39,225,11,40],"16657871",[291,279,42,292,293,39],"16660402","project\u002Fpositive\u002Fexecution","virusduck",[295,279,42,292,296,39],"16672858","kolontsov",[94,298,40,252,95,39],12,[300,298,40,252,95,39],"16653220",[302,298,39,225,11,40],"16653235",[304,305,43,306,307,39],"16650700",13,"project\u002Fneutral\u002Fidea","laurent123456",[309,305,43,306,310,39],"16651928","gyrgtyn",[312,305,39,229,11,40],"16652226",[314,315,40,202,316,39],"16654622",14,"eudoxus",[318,315,39,229,11,40],"16656140",[320,315,42,194,316,39],"16667259",[133,322,43,225,134,39],15,[324,322,39,225,11,40],"16651750",[326,322,40,327,134,39],"16651900","project\u002Fcritical\u002Fprivacy",[329,322,39,188,11,40],"16651925",[331,322,43,198,332,39],"16652787","JetSpiegel",[334,322,43,225,335,39],"16652325","dmitrygr",[337,322,43,225,207,39],"16653015",[339,322,39,225,11,40],"16653033",[341,322,39,188,342,39],"16653179","zokier",[344,322,39,188,11,40],"16656142",[346,347,43,306,348,39],"16686556",16,"kodejuice",[350,33,43,306,348,39],"16686549",[352,353,42,354,355,39],"16649778",18,"project\u002Fpositive\u002Fnone","thrownaway954",[357,353,39,249,11,40],"16649792",[],[360,365,370,375,380,385],{"id":361,"name":362,"points":363,"category":364},"16697359","Next Week's Playlist",346,"consumer_social",{"id":366,"name":367,"points":368,"category":369},"16682940","Textile",272,"productivity",{"id":371,"name":372,"points":373,"category":374},"16692149","HN Domain Leaderboard",266,"data",{"id":376,"name":377,"points":378,"category":379},"16672320","Find3",265,"infrastructure",{"id":381,"name":382,"points":383,"category":384},"16665957","Naughty List",197,"security_privacy",{"id":386,"name":387,"points":388,"category":389},"16695667","Egg Gradients",186,"creative",false,"v2",{"id":393,"name":5,"line":6,"ai":390,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":394,"top":18,"kw":395,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":396,"url":9,"mix":397,"praise":73,"objection":90,"sub":21},16647977,0.04,[24,25,26,27,28],"0033101053050305133301033353130151333035",[32,33,34,35],1794036564454]