This is a public key hash:
aaaac6rxjmmenb7m5txgpe3nmmrrh4z4ohcr7sxqkrvbk4csbrrorpw7.key
Snow lets you use it like an address:
$ ping baaaac6rxjmmenb7m5txgpe3nmmrrh4z4ohcr7sxqkrvbk4csbrrorpw7.key
PING baaaac6rxjmmenb7m5txgpe3nmmrrh4z4ohcr7sxqkrvbk4csbrrorpw7.key (172.16.0.2) 56(84) bytes of data.
64 bytes from baaaac6rxjmmenb7m5txgpe3nmmrrh4z4ohcr7sxqkrvbk4csbrrorpw7.key (172.16.0.2): icmp_req=1 ttl=64 time=0.611 ms
64 bytes from baaaac6rxjmmenb7m5txgpe3nmmrrh4z4ohcr7sxqkrvbk4csbrrorpw7.key (172.16.0.2): icmp_req=2 ttl=64 time=0.588 ms
^C
Packets sent to the key name go to the machine with that key. Key names are independent of the underlying network. Think automatic NAT traversal. End-to-end encryption with no configuration. IPv4-only applications on IPv6-only networks. In general it allows network problems to be solved in one place for everyone with an interface that most applications are already using.
But clearly nobody wants to type anything that looks like a public key hash. Fortunately name resolution is a solved problem.
# echo CNAME example.com aaaac6rxjmmenb7m5txgpe3nmmrrh4z4ohcr7sxqkrvbk4csbrrorpw7.key >> /etc/sdns/local.names
$ ping example.com
PING baaaac6rxjmmenb7m5txgpe3nmmrrh4z4ohcr7sxqkrvbk4csbrrorpw7.key (172.16.0.2) 56(84) bytes of data.
64 bytes from baaaac6rxjmmenb7m5txgpe3nmmrrh4z4ohcr7sxqkrvbk4csbrrorpw7.key (172.16.0.2): icmp_req=1 ttl=64 time=0.602 ms
64 bytes from baaaac6rxjmmenb7m5txgpe3nmmrrh4z4ohcr7sxqkrvbk4csbrrorpw7.key (172.16.0.2): icmp_req=2 ttl=64 time=0.594 ms
^C
$ wget -nv http://example.com/lolcatz.png
2014-08-15 12:11:22 URL:http://example.com/lolcatz.png [191177/191177] -> "lolcatz.png" [1]
$ scp c.avi example.com:
c.avi 100% 867KB 867.4KB/s 00:00
$ dig +short @example.com trustiosity.com
54.186.28.113
Much better.
[snow] [How it works] [How to use it] [How to install it] [Advanced Configuration] [App Development] [Read the FAQ]