mirror of
https://github.com/stakwork/sphinx-relay.git
synced 2026-08-13 12:33:24 +02:00
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
var fetch = require('node-fetch')
|
|
var crypto = require('crypto')
|
|
var minimist = require('minimist')
|
|
var rsa = require('./rsa')
|
|
|
|
const argv = minimist(process.argv.slice(2))
|
|
const pubkey = argv.pubkey
|
|
const port = argv.port || '3004' // proxy by default
|
|
|
|
const relayURL = 'http://localhost:' + port + '/'
|
|
|
|
/*
|
|
node ./signup --pubkey=XXX --port=3004
|
|
*/
|
|
|
|
async function signup(pubkey) {
|
|
console.log('SIGNUP AS', pubkey)
|
|
const token = crypto.randomBytes(20).toString('hex').toUpperCase()
|
|
const body = {
|
|
token: token,
|
|
pubkey: pubkey,
|
|
}
|
|
const r = await fetch(relayURL + 'contacts/tokens', {
|
|
method: 'POST',
|
|
body: JSON.stringify(body),
|
|
headers: { 'Content-Type': 'application/json' },
|
|
})
|
|
const j = await r.json()
|
|
console.log('j', j)
|
|
const ownerID = j.response.id
|
|
if (!ownerID) return console.log('FAIL')
|
|
|
|
const keys = await rsa.genKeys()
|
|
const contact_key = keys.public
|
|
console.log('PROXY NODE:', {
|
|
pubkey,
|
|
authToken: token,
|
|
contact_key,
|
|
privkey: keys.private,
|
|
})
|
|
|
|
const r3 = await fetch(relayURL + 'contacts/' + ownerID, {
|
|
method: 'PUT',
|
|
body: JSON.stringify({ contact_key }),
|
|
headers: { 'Content-Type': 'application/json', 'x-user-token': token },
|
|
})
|
|
const j3 = await r3.json()
|
|
console.log(j3)
|
|
}
|
|
|
|
if (pubkey) {
|
|
signup(pubkey)
|
|
}
|