create client
This commit is contained in:
@@ -1,51 +1,10 @@
|
||||
#!/usr/bin/env nodejs
|
||||
|
||||
var safechat = function(keyserver) {
|
||||
var hkp = new openpgp.HKP(keyserver)
|
||||
return {
|
||||
client: {
|
||||
user: null,
|
||||
createUser: function(name, host, password, success, fail) {
|
||||
openpgp.generateKey({
|
||||
numBits: 4096,
|
||||
userIds: [{name: name, email: name+'@'+host}],
|
||||
passphrase: password
|
||||
}).then(function(keyPair) {
|
||||
user = {
|
||||
name: name,
|
||||
email: name+'@'+host,
|
||||
numBits: 4096,
|
||||
key: {
|
||||
pub: keyPair.publicKeyArmored,
|
||||
priv: keyPair.privateKeyArmored
|
||||
}
|
||||
}
|
||||
hkp.upload(user.key.pub).then(function() {
|
||||
success(user)
|
||||
}).catch(function(e) {
|
||||
fail('upload key failed', e)
|
||||
})
|
||||
}).catch(function(e) {
|
||||
fail('generating key pairs failed', e)
|
||||
})
|
||||
},
|
||||
setUser: function() {
|
||||
|
||||
}
|
||||
},
|
||||
server: {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
var package = require(__dirname+'/../package.json')
|
||||
var config = require(package.path.config)
|
||||
var io = require('socket.io-client')
|
||||
var program = require('commander')
|
||||
var openpgp = require('openpgp')
|
||||
var fs = require('fs');
|
||||
var fs = require('fs')
|
||||
|
||||
program
|
||||
.version(package.version)
|
||||
@@ -58,24 +17,27 @@ try {
|
||||
.option('-k, --key <file>', 'pgp key file [key.pgp]', 'key.pgp')
|
||||
.parse(process.argv)
|
||||
|
||||
openpgp.initWorker()
|
||||
openpgp.config.aead_protect = true
|
||||
var client = safechat(program.keyserver).client;
|
||||
var client = require(__dirname+'/../safechat/client')(program.url, program.keyserver)
|
||||
|
||||
fs.stat(program.key, function(err, stats) {
|
||||
if (err) {
|
||||
console.log('generate keys')
|
||||
client.createUser(program.name, program.host, program.password,
|
||||
function(user) {
|
||||
fs.writeFileSync(program.key, JSON.stringify(user))
|
||||
console.log('new user credentials created')
|
||||
},
|
||||
function(msg, e) {
|
||||
console.log("**** ERRROR:", msg, e)
|
||||
})
|
||||
client.create(program.name, program.host, program.password,
|
||||
function(user) {
|
||||
fs.writeFileSync(program.key, JSON.stringify(user))
|
||||
console.log('new user credentials created')
|
||||
},
|
||||
function(msg, e) {
|
||||
console.log("**** ERRROR:", msg, e, e.stack)
|
||||
})
|
||||
} else if (stats.isFile()) {
|
||||
client.user = JSON.parse(fs.readFileSync(program.key))
|
||||
console.log("user:", client.user.name)
|
||||
client.login(JSON.parse(fs.readFileSync(program.key)),
|
||||
function(user) {
|
||||
console.log('user successfully restored:', user.email)
|
||||
},
|
||||
function(msg, e) {
|
||||
console.log("**** ERRROR:", msg, e, e.stack)
|
||||
})
|
||||
} else {
|
||||
console.log('**** ERROR: cannot read file', program.key)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user