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
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`
#!/bin/sh
# 2019-09-10, Nico Schottelius, Seoul
-gpg --list-keys --with-colons | grep RIF | awk -F: '{ print $10 }' | sed 's/\\x3a/:/' | (
+gpg --list-keys --with-colons | grep RI6F | awk -F: '{ print $10 }' | sed 's/\\x3a/:/' | (
while read line
do
name=$(echo $line | sed 's/\(.*\)(.*/\1/')
# Assume by default offline
online=offline
- url=$(echo $line | sed -e 's/.*(RIF //' -e 's/).*//')
+ url=$(echo $line | sed -e 's/.*(RI6F //' -e 's/).*//')
echo "Checking $name on $url ..."
curl -6 -s "$url" > /dev/null && online=online
echo $name is $online