Useful Snippets - mangei/onion-routing GitHub Wiki
Create public key and encode it in base64:
EncryptionHelper.keyToString(EncryptionHelper.getRSAKeyPair().getPublic())
Decode public key:
String publicKey = ...;
Key key = stringToKey(publicKey);
Register a new node:
curl --header "Content-type: application/json" --request POST --data '{"public_key": "rO0ABXNyAD5vcmcuYm91bmN5Y2FzdGxlLmpjYWpjZS5wcm92aWRlci5hc3ltbWV0cmljLnJzYS5CQ1JTQVB1YmxpY0tleSUiag5b+myEAwACTAAHbW9kdWx1c3QAFkxqYXZhL21hdGgvQmlnSW50ZWdlcjtMAA5wdWJsaWNFeHBvbmVudHEAfgABeHBzcgAUamF2YS5tYXRoLkJpZ0ludGVnZXKM/J8fqTv7HQMABkkACGJpdENvdW50SQAJYml0TGVuZ3RoSQATZmlyc3ROb256ZXJvQnl0ZU51bUkADGxvd2VzdFNldEJpdEkABnNpZ251bVsACW1hZ25pdHVkZXQAAltCeHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhw///////////////+/////gAAAAF1cgACW0Ks8xf4BghU4AIAAHhwAAAAgJJuDBE8QeBzMIjnfNSh2rWXZO11IY/n2FK5yGAhSrD7zuns97KvTSBGdyPNxyDMQjmXeXpEdZZyJx5U8JaHHkwWSgM5MJCf7IVkvDfFiEJ6RGSHWR79BkA/ozpF05sPtR9Oc6x75v2eEeOtgRilbRlEoFccJOhqbtZQSO6DarXBeHNxAH4AA////////////////v////4AAAABdXEAfgAHAAAAAwEAAXh4", "ip": "192.168.1.1", "port": "1234"}' http://localhost:9000/register
Update the heartbeat for a node (the secret is the one that register returns):
curl --header "Content-type: application/json" --request PUT --data '{"secret": "vkcq7s09dmghsc03dbnmb4tqej"}' http://localhost:9000/heartbeat