sphinx-relay/testing/scripts/decodekeys.js

65 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2021-07-19 13:28:55 -07:00
var fetch = require('node-fetch')
var minimist = require('minimist')
var RNCryptor = require('jscryptor-2')
var fs = require('fs')
2021-07-21 22:32:01 -05:00
const argv = minimist(process.argv.slice(2))
2021-07-19 13:28:55 -07:00
const keyz = argv.keys
const pin = argv.pin
async function go() {
2021-07-21 22:32:01 -05:00
const keys = Buffer.from(keyz, 'base64').toString()
2021-07-19 13:28:55 -07:00
2021-07-21 22:32:01 -05:00
const enc = keys.split('::')[1]
2021-07-19 13:28:55 -07:00
2021-07-21 22:32:01 -05:00
const dec = RNCryptor.Decrypt(enc, pin + '').toString()
2021-07-19 13:28:55 -07:00
2021-07-21 22:32:01 -05:00
const all = dec.split('::')
2021-07-19 13:28:55 -07:00
2021-07-21 22:32:01 -05:00
const priv = all[0]
const pub = all[1]
const ip = all[2]
const token = all[3]
2021-07-19 13:28:55 -07:00
2021-07-21 22:32:01 -05:00
const r = await fetch(ip + '/contacts', {
headers: {
'x-user-token': token,
},
})
const j = await r.json()
const owner = j.response.contacts.find((c) => c.is_owner)
2021-07-19 13:28:55 -07:00
2021-07-21 22:32:01 -05:00
console.log(
JSON.stringify(
{
2021-07-19 13:28:55 -07:00
pubkey: owner.public_key,
ip: ip,
authToken: token,
contact_key: pub,
privkey: priv,
2021-07-21 22:32:01 -05:00
routeHint: owner.route_hint || '',
},
null,
2
)
)
2021-07-19 13:28:55 -07:00
2021-07-21 22:32:01 -05:00
fs.writeFileSync(
'./stuff.json',
JSON.stringify(
{
2021-07-19 13:28:55 -07:00
pubkey: owner.public_key,
ip: ip,
authToken: token,
contact_key: pub,
privkey: priv,
2021-07-21 22:32:01 -05:00
routeHint: owner.route_hint || '',
},
null,
2
)
)
2021-07-19 13:28:55 -07:00
}
2021-07-21 22:32:01 -05:00
go()