It's a bit geeky, but it works actually rather simple.
To become a real IPv6 friend, you need to do the following things:
-- Generate a GPG key with a comment named **RIF** following the URL of
- your computer (f.i. **RIF https://nico.ungleich.cloud**)
+- Generate a GPG key with a comment named **RI6F** following the URL of
+ your computer (f.i. **RI6F https://nico.ungleich.cloud**)
- Ensure that the URL points to the IPv6 address of your computer
- Setup a webserver on your computer
- Export your key and all real IPv6 friend keys to your webserver as
- For each of your friends, check whether they are online
- Import the friends of your friends and check whether they are
online, too!
+- Send friend requests (like other platforms!)
### Example: Generating a key with the right comment
GnuPG needs to construct a user ID to identify your key.
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? c
-Comment: RIF https://nico.ungleich.cloud
+Comment: RI6F https://nico.ungleich.cloud
You selected this USER-ID:
- "Nico Schottelius (RIF https://nico.ungleich.cloud) <ipv6@nico.ungleich.cloud>"
+ "Nico Schottelius (RI6F https://nico.ungleich.cloud) <ipv6@nico.ungleich.cloud>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
We need to generate a lot of random bytes. It is a good idea to perform
pub ed25519 2019-09-09 [SC]
B982A8BABC030C66DEF5984527541E11E73F288D
-uid Nico Schottelius (RIF https://nico.ungleich.cloud) <ipv6@nico.ungleich.cloud>
+uid Nico Schottelius (RI6F https://nico.ungleich.cloud) <ipv6@nico.ungleich.cloud>
sub cv25519 2019-09-09 [E]
To make yourself accessible and expose who your real IPv6 friends are.
```
-gpg -a --export RIF > /var/www/html/rifkeys
+gpg -a --export RI6F > /var/www/html/rifkeys
```
### Example: List your friends
You can use the included rif-listfriends.sh or directly gpg:
```
-[1:40] line:~% gpg --list-keys --with-colons | grep RIF | awk -F: '{ print $10 }' | sed 's/\\x3a/:/'
-Nico Schottelius (RIF https://nico.ungleich.cloud) <ipv6@nico.ungleich.cloud>
-Nico Schottelius (myself) (RIF https://nico2.ungleich.cloud) <nico@nico.ungleich.cloud>
+[1:40] line:~% gpg --list-keys --with-colons | grep RI6F | awk -F: '{ print $10 }' | sed 's/\\x3a/:/'
+Nico Schottelius (RI6F https://nico.ungleich.cloud) <ipv6@nico.ungleich.cloud>
+Nico Schottelius (myself) (RI6F https://nico2.ungleich.cloud) <nico@nico.ungleich.cloud>
```
ran above already in the beginning:
```
-gpg -a --export RIF > /var/www/html/rifkeys
+gpg -a --export RI6F > /var/www/html/rifkeys
```
Or use the included `rif-exportfriends.sh`
You can probably just use your mail program for that - and you might
even be able to send it IPv6 only!
+### Example: Invite a friend
+
+Live is not great without friends! Let's invite a friend! This is as
+easy is this:
+
+```
+printf 'Hello yournamehere!\n I am looking for real IPv6 friends.\n You find my friends on https://nico.ungleich.cloud/rifkeys.\nHow real IPv6 friends find each other is explained on https://code.ungleich.ch/nico/rif.\n Looking forward to befriend you!' | mail -s "friend request" ipv6@your.friend.example.com
+```
+
+And obviously this is waaaaaaaaay to long to type. That's why
+`rif-invitefriends.sh` puts this nicely into a script.
+
+Attention: this requires a working mail setup on your computer
+(i.e. outgoing emails sending by `mail` works).
+
## Finding friends
As real IPv6 friends are decentralised, there is no central registry