Complete meca for default sending; Improve help; Edit README.md

This commit is contained in:
poka 2020-11-05 02:10:04 +01:00
parent b5acfff49b
commit 326bc76911
3 changed files with 31 additions and 14 deletions

View File

@ -1,4 +1,3 @@
issuer="" # Clé publique Ḡ1 de l'émetteur du message
recipient="" # Clé publique Ḡ1 du destinataire du message
dunikey="" # La clé privé Ḡ1 de l'émetteur, générable par Cesium au format PubSec
pod="https://g1.data.duniter.fr" # Noeud Cecium+ utilisé pour l'envoi du message

View File

@ -1,14 +1,19 @@
# Dépendances à installer en amont:
- Debian 9/10
- nodejs>8 (Pour JSON.Stringify simplement)
Ceci est un testeur simple pour l'envoi de messages Cesium +
# Utilisation
Éditez le titre et le contenu du message de test dans helloworld si vous voulez.
Définissez votre clé publique, votre salt Ḡ1 au format PubSec.
Définissez la publique du destinataire.
```
chmod u+x sendmsg.sh
./sendmsg.sh
```
## Options
./sendmsg.sh
Par défaut, demandez le titre, le contenu et le destinataire en mode interactif.
Options:
-t Mode test: Utilise le fichier "test.txt" ainsi que le même destinataire que l'émetteur.
-f <file> Lit le fichier <file> avec le titre en première ligne et le contenu dans le reste du fichier pour le message.
-r <pubkey> Utilise <pubkey> comme destinataire du message.
-i <pubkey> Utilise <pubkey> comme émetteur du message.
-k <key> Chemin <key> vers le fichier de trousseau PubSec de l'émetteur.

View File

@ -8,10 +8,16 @@ source .env
# Help display
helpOpt() {
echo -e "This is a simple tester for Cesium+ messages sender)
\rOptions:
echo -e "This is a simple tester for Cesium+ messages sending
\r$0
Default view show last day data in cumulative mode"
Default, ask title, content and recipient in interactive mode.
\rOptions:
-t\t\t\t\tTest mode: Uses the \"test.txt\" file as well as the same recipient as the sender.
-f,--file <file>\t\tRead the file <file> with title in first line and content in rest of the file for the message.
-r,--recipient <pubkey>\tUses <pubkey> as recipient of the message.
-i,--issuer <pubkey>\tUses <pubkey> as issuer of the message.
-k,--key <key>\t\tPath <key> to the pubsec keychain file of the issuer."
}
REGEX_PUBKEYS="[a-zA-Z0-9]{42,44}"
@ -23,17 +29,18 @@ do
case ${args[$i]} in
-f|--file) file="${args[$i+1]}"
[[ ! -f $file ]] && echo "Le fichier $file n'existe pas." && exit 1;;
-t|--test) file="test.txt";;
-t|--test) file="test.txt"
recipient=$issuer;;
-r|--recipient) recipient="${args[$i+1]}"
[[ -z $recipient ]] && echo "Veuillez préciser un destinataire." && exit 1;;
-i|--issuer) issuer="${args[$i+1]}"
[[ -z $issuer ]] && echo "Veuillez préciser un émetteur." && exit 1;;
-k|--key) dunikey="${args[$i+1]}"
[[ -z $dunikey ]] && echo "Veuillez préciser un fichier de trousseau." && exit 1;;
-h|--help) helpOpt && exit 0;;
esac
done
[[ -z $(grep -Eo $REGEX_PUBKEYS <<<$recipient) ]] && echo "Le format de la clé publique du destinataire est invalide." && exit 1
if [[ -z $file ]]; then
read -p "Objet du message: " title
read -p "Corps du message: " content
@ -42,6 +49,12 @@ else
message=$(cat $file)
fi
if [[ -z $recipient ]]; then
read -p "Destinataire: " recipient
fi
[[ -z $(grep -Eo $REGEX_PUBKEYS <<<$recipient) ]] && echo "Le format de la clé publique du destinataire est invalide." && exit 1
# Récupération et chiffrement du titre et du message
title=$(head -n1 <<<$message | ./natools.py encrypt --pubsec -p $recipient -O 58)
content=$(tail -n+2 <<<$message | ./natools.py encrypt --pubsec -p $recipient -O 58)