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