[{"data":1,"prerenderedAt":266},["ShallowReactive",2],{"project-13384012":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":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":43,"post_text":45,"what":46,"said":85,"maker_in_thread":168,"shape":176,"grid":178,"attempts":226,"same_week":227,"maker_shows":31,"maker_hidden":258,"reader_version":259,"card":260},"13384012","Hypergolix","Hypergolix, “programmable Dropbox” with client-side encryption","title","Show HN: Hypergolix, “programmable Dropbox” with client-side encryption","https:\u002F\u002Fpyhgx.readthedocs.io\u002Fen\u002Flatest\u002Findex.html","pyhgx.readthedocs.io","nbadg",1484241158,2017,130,23,321,2242,15,"notable","infrastructure","encrypted object sync","library",[24,25,26,27],"client-side encryption","object sync","iot","end-to-end encryption","curious",-0.033,{"positive":31,"neutral":32,"mixed":33,"critical":34},1,9,0,3,13,{"pricing":37,"design":38,"docs":39,"idea":40,"privacy":41},{"positive":33,"critical":33},{"positive":33,"critical":33},{"positive":33,"critical":33},{"positive":33,"critical":31},{"positive":33,"critical":42},2,[33,33,34,33,34,33,34,33,34,33,31,34,33,34,33,34,34,33,31,33,31,34,44],5,null,{"problem":47,"audience":54,"pricing":58,"motivation":67,"time_to_build":45,"stack":71,"openness":82,"stage":83,"team_size":84},{"value":48,"source":49,"evidence":50},"Lets individuals keep control of data stored on untrusted third-party servers","maker",[51],{"id":52,"by":11,"text":53},"13384050","Hi HN, basically a one-man show here. Hypergolix just entered its alpha release, and I thought it would be an excellent opportunity for feedback. The fundamental motivation of…",{"value":55,"source":49,"evidence":56},"Developers building IoT applications",[57],{"id":52,"by":11,"text":53},{"value":59,"source":49,"evidence":60},"Free to self-host; paid hosted server accounts via Stripe",[61,64],{"id":62,"by":11,"text":63},"13384710","Correct. This is yet another \"hosted platform for revenue\" open source project; if you deploy on your own servers, you don't pay us. Servers have no access to plaintext. They…",{"id":65,"by":11,"text":66},"13384069","Additionally, if you're interested in supporting the project financially, but don't have need for an account, click the red \"here\" link at the bottom of this page [1] to register…",{"value":68,"source":49,"evidence":69},"Individuals retaining autonomy over information stored on third-party servers",[70],{"id":52,"by":11,"text":53},[72,76],{"value":73,"source":49,"evidence":74},"Python",[75],{"id":52,"by":11,"text":53},{"value":77,"source":49,"evidence":78},"Golix crypto protocol (AES-256, RSA-4096, X25519, SHA-512)",[79],{"id":80,"by":11,"text":81},"13384777","With a purpose-built protocol called Golix [1]. The documentation goes into a lot more detail but it has three main aspects: 1. Encrypt things like PGP, except key encapsulation…","open_source","beta","solo",{"praise":86,"objections":99,"requests":125,"questions":141,"alternatives":159},[87],{"value":88,"source":89,"evidence":90},"Good work and useful for end-user developers","commenter",[91,95],{"id":92,"by":93,"text":94},"13385630","thruflo22","Nice work, keep it up and thanks for sharing!",{"id":96,"by":97,"text":98},"13385589","problems","How is locating of the other end done? Do you have a DHT for this? LAN discovery? Or are we basically relying on your server to stay online? Not a lot of notes about internals…",[100,107,121],{"value":101,"source":89,"evidence":102},"Custom cryptography raises security concerns",[103],{"id":104,"by":105,"text":106},"13386844","pvg","One thing I didn't get from the docs is some clearer explanation justifying what at first glance seems like a great deal of bespoke, custom crypto. Just browsing through the…",{"value":108,"source":89,"evidence":109},"Unclear use cases and not a Dropbox replacement for file sync",[110,114,118],{"id":111,"by":112,"text":113},"13386642","mxuribe","Sounds interesting...the use-cases are not clicking in my head just right...So I'll dive in and rummage around some more.",{"id":115,"by":116,"text":117},"13385973","gcb0","the first application you can provide (maybe as the project sample app) is to observe one file and sync it when changed. most people I know that uses dropbox use it with…",{"id":119,"by":116,"text":120},"13401870","I got that. but the first thing I can think of is to have a client that syncs files :) even applications that syncs files already treat them as \"objects\" as you need decisions on…",{"value":122,"source":89,"evidence":123},"Server dependence and lack of internals documentation",[124],{"id":96,"by":97,"text":98},[126,130,137],{"value":127,"source":89,"evidence":128},"LAN discovery and P2P support",[129],{"id":96,"by":97,"text":98},{"value":131,"source":89,"evidence":132},"Simpler API such as bob.send(obj)",[133],{"id":134,"by":135,"text":136},"13384750","StavrosK","That's pretty cool, thanks. So I don't need to worry about deploying MQTT servers and authenticating between them, I can just use this. Can I suggest this alternative API: obj =…",{"value":138,"source":89,"evidence":139},"A file-syncing sample application",[140],{"id":115,"by":116,"text":117},[142,149,153],{"value":143,"source":89,"evidence":144},"How conflict resolution works during network partitions",[145],{"id":146,"by":147,"text":148},"13385989","mempko","As a fellow distributed software developer (http:\u002F\u002Ffirestr.com) great work! Quick question, how are you doing conflict resolution if there is a long term network partition? Does…",{"value":150,"source":89,"evidence":151},"How nodes locate each other and whether servers must stay online",[152],{"id":96,"by":97,"text":98},{"value":154,"source":89,"evidence":155},"Whether the server can access plaintext",[156],{"id":157,"by":135,"text":158},"13384637","Am I right in reading that everything is free, except if you want the server to store your data? I.e., if I store data on my home server, I can use this for free? Does your…",[160,164],{"value":161,"source":89,"evidence":162},"Dropbox",[163],{"id":115,"by":116,"text":117},{"value":165,"source":89,"evidence":166},"MQTT",[167],{"id":134,"by":135,"text":136},{"comments":169,"answered":44,"key":170},10,[171,172,173],{"id":52,"text":53},{"id":65,"text":66},{"id":174,"text":175},"13386270","Are you trying to run Hypergolix or register it? Follow this guide to get Hypergolix installed and running: https:\u002F\u002Fpyhgx.readthedocs.io\u002Fen\u002Flatest\u002Fsetup-1-installing.html After…",{"commenters":32,"max_depth":44,"maker_replies":169,"first_comment_mins":34,"lifespan_hours":177},57,[179,181,183,186,188,190,192,194,196,198,200,202,203,205,206,209,211,214,215,217,220,222,223],[52,33,33,180,11,31],"maker\u002Fneutral\u002Fnone",[65,33,33,182,11,31],"project\u002Fneutral\u002Fpricing",[184,33,34,182,185,33],"13385934","jwong_",[174,33,33,187,11,31],"maker\u002Fneutral\u002Fdocs",[146,33,34,189,147,33],"project\u002Fneutral\u002Fdesign",[191,33,33,189,11,31],"13386241",[96,31,34,193,97,33],"project\u002Fneutral\u002Fdocs",[195,31,33,189,11,31],"13385836",[115,42,34,197,116,33],"project\u002Fneutral\u002Fidea",[199,42,33,197,11,31],"13386343",[119,42,31,201,116,33],"maker\u002Fcritical\u002Fidea",[157,34,34,182,135,33],[62,34,33,204,11,31],"project\u002Fneutral\u002Fprivacy",[134,34,34,189,135,33],[207,34,33,208,11,31],"13385054","maker\u002Fneutral\u002Fdesign",[210,34,34,208,135,33],"13387884",[212,213,34,204,135,33],"13384620",4,[80,213,33,204,11,31],[104,213,31,216,105,33],"project\u002Fcritical\u002Fprivacy",[218,213,33,219,11,31],"13387124","maker\u002Fneutral\u002Fprivacy",[221,213,31,216,105,33],"13387645",[111,44,34,197,112,33],[92,224,44,225,93,33],6,"maker\u002Fpositive\u002Fnone",[],[228,233,238,243,248,253],{"id":229,"name":230,"points":231,"category":232},"13423629","SkyTorrents",1183,"data",{"id":234,"name":235,"points":236,"category":237},"13406081","Crafting Interpreters",423,"learning_science",{"id":239,"name":240,"points":241,"category":242},"13412737","JSON Browse",138,"dev_tools",{"id":244,"name":245,"points":246,"category":247},"13390135","Skeletal Animation System",120,"creative",{"id":249,"name":250,"points":251,"category":252},"13421703","ChatSecure iOS v4.0",107,"productivity",{"id":254,"name":255,"points":256,"category":257},"13425089","Kur",103,"ai",false,"v2",{"id":261,"name":5,"line":6,"ai":258,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":262,"top":18,"kw":263,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":264,"url":9,"mix":265,"praise":88,"objection":101,"sub":21},13384012,-0.03,[24,25,26,27],"00303030301303033010135",[31,32,33,34],1794036551661]