3 ms·
I don't know how node-webkit works exactly, but npm uses CouchDB to store the packages definition. If node-webkit works the same (ie you can publish the applica
by rakoo 12y ago
I don't know how node-webkit works exactly, but npm uses CouchDB to store the packages definition. If node-webkit works the same (ie you can publish the application on the npm registry), you can replicate the registry (or part of it) on other places, and redirect your local node-webkit installer on those replicas.
These replicas don't need to be CouchDB instances, they just need to speak its protocol. Fortunately for you there's an excellent package that does that: PouchDB (http://pouchdb.com/ http://pouchdb.com/), which you can use as a library (so you don't need to install another server) in your node.js application.
Finally, when the user wants to install the application that is published on the npm registry, it would have to get some kind of signature from the registry, and then pick any mirror to download the content from. This is a very important step: there must be a way for the user to make sure what he downloads is legit. One can assume if it's on the npm registry then it is.
This is not bittorrent, but it's much more integrated in the current environment which means less hacking to do.
- SchizoDuckie 12y agoThe thing with central registries is that they're central points of failure / censorship targets. The main driving thought about this is making sure that outlawed/censored software can be accessed via an unblockable channel wether it's been banned or not. Integrity verification is a good point, the shell application could do something with that possibily (verifying crc / a pgp hash somehow perhaps)
- rakoo 12y agoSure, having no central point sounds like the better think to have, but then how do you provide authenticity ? That's the main problem you're going to face if it starts being popular. You need either trusted sources that can provide you with the correct infohash/pgp signature/whatever, which are the easiest thing to do, or you need some kind of p2p consensus system in which peers "vote" in some way so you can be fairly certain of authenticity. Tribler has made a lot things in this domain, maybe you should check it out.