Add script to listfriends and to import friends

This commit is contained in:
Nico Schottelius 2019-09-10 02:03:49 +09:00
parent 3b8e2bff86
commit 5e7312aca3
4 changed files with 55 additions and 9 deletions

View File

@ -28,7 +28,9 @@ To become a real IPv6 friend, you need to do the following things:
- Setup a webserver on your computer - Setup a webserver on your computer
- Export your key and all real IPv6 friend keys to your webserver as - Export your key and all real IPv6 friend keys to your webserver as
"rifkeys.txt "rifkeys.txt
- For each of your friends, check whether they are online! - For each of your friends, check whether they are online
- Import the friends of your friends and check whether they are
online, too!
### Example: Generating a key with the right comment ### Example: Generating a key with the right comment
@ -122,22 +124,46 @@ gpg -a --export RIF > /var/www/html/rifkeys
### Example: List your friends ### 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/:/' [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 (RIF https://nico.ungleich.cloud) <ipv6@nico.ungleich.cloud>
Nico Schottelius (myself) (RIF https://nico2.ungleich.cloud) <nico@nico.ungleich.cloud> Nico Schottelius (myself) (RIF https://nico2.ungleich.cloud) <nico@nico.ungleich.cloud>
``` ```
### Example: Checking which friends are online ### Example: Checking which friends are online
Use the included rif-checkfriends.sh script or iterate yourself over Use the included rif-checkfriends.sh script or iterate yourself over
above output. above output.
``` ```
[1:54] line:realipv6friend% sh rif-checkfriends.sh
Checking Nico Schottelius on https://nico.ungleich.cloud ...
Nico Schottelius is online
Checking Nico Schottelius (myself) on https://nico2.ungleich.cloud ...
Nico Schottelius (myself) is offline
[1:54] line:realipv6friend%
``` ```
### Example: Importing friends of my friend
Importing friends of a friend is as simple as importing all the
exported keys! We import friends directly from the URL of a friend:
```
curl -6 -s https://nico.ungleich.cloud/rifkeys | gpg --import
```
You can also use
### Example: Sending a message to a friend
Simply use your mail program for that.
And obviously enable signing & encrypting the email.
## To be added ## To be added

15
rif-checkfriends.sh Normal file → Executable file
View File

@ -3,12 +3,13 @@
gpg --list-keys --with-colons | grep RIF | awk -F: '{ print $10 }' | sed 's/\\x3a/:/' | ( gpg --list-keys --with-colons | grep RIF | awk -F: '{ print $10 }' | sed 's/\\x3a/:/' | (
while read line while read line
do name=$(echo $line | sed 's/\(.*\)(.*/\1/') do
# Assume by default offline name=$(echo $line | sed 's/\(.*\)(.*/\1/')
online=offline # Assume by default offline
url=$(echo $line | sed -e 's/.*(RIF //' -e 's/).*//') online=offline
echo "Checking $name on $url ..." url=$(echo $line | sed -e 's/.*(RIF //' -e 's/).*//')
curl -s "$url" > /dev/null && online=online echo "Checking $name on $url ..."
echo $name is $online curl -6 -s "$url" > /dev/null && online=online
echo $name is $online
done done
) )

15
rif-importfriends.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
# 2019-09-10, Nico Schottelius, Seoul
if [ $# -lt 1 ]; then
echo "$0: <URL> [URL...]"
echo "URL: of your real IPv6 friend(s)"
exit 1
fi
while [ $# -ge 1 ]; do
url=$1; shift
fullurl=${url}/rifkeys
curl -6 -s "${fullurl}" | gpg --import
done

4
rif-listfriends.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
# 2019-09-10, Nico Schottelius, Seoul
gpg --list-keys --with-colons | grep RIF | awk -F: '{ print $10 }' | sed 's/\\x3a/:/'