forked from axiom-team/jaklis
Complete meca for default sending; Improve help; Edit README.md
This commit is contained in:
parent
b5acfff49b
commit
326bc76911
|
@ -1,4 +1,3 @@
|
||||||
issuer="" # Clé publique Ḡ1 de l'émetteur du message
|
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
|
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
|
pod="https://g1.data.duniter.fr" # Noeud Cecium+ utilisé pour l'envoi du message
|
||||||
|
|
19
README.md
19
README.md
|
@ -1,14 +1,19 @@
|
||||||
# Dépendances à installer en amont:
|
Ceci est un testeur simple pour l'envoi de messages Cesium +
|
||||||
- Debian 9/10
|
|
||||||
- nodejs>8 (Pour JSON.Stringify simplement)
|
|
||||||
|
|
||||||
# Utilisation
|
# 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
|
chmod u+x sendmsg.sh
|
||||||
./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.
|
||||||
|
|
25
sendmsg.sh
25
sendmsg.sh
|
@ -8,10 +8,16 @@ source .env
|
||||||
|
|
||||||
# Help display
|
# Help display
|
||||||
helpOpt() {
|
helpOpt() {
|
||||||
echo -e "This is a simple tester for Cesium+ messages sender)
|
echo -e "This is a simple tester for Cesium+ messages sending
|
||||||
\rOptions:
|
|
||||||
\r$0
|
\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}"
|
REGEX_PUBKEYS="[a-zA-Z0-9]{42,44}"
|
||||||
|
@ -23,17 +29,18 @@ do
|
||||||
case ${args[$i]} in
|
case ${args[$i]} in
|
||||||
-f|--file) file="${args[$i+1]}"
|
-f|--file) file="${args[$i+1]}"
|
||||||
[[ ! -f $file ]] && echo "Le fichier $file n'existe pas." && exit 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]}"
|
-r|--recipient) recipient="${args[$i+1]}"
|
||||||
[[ -z $recipient ]] && echo "Veuillez préciser un destinataire." && exit 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]}"
|
-k|--key) dunikey="${args[$i+1]}"
|
||||||
[[ -z $dunikey ]] && echo "Veuillez préciser un fichier de trousseau." && exit 1;;
|
[[ -z $dunikey ]] && echo "Veuillez préciser un fichier de trousseau." && exit 1;;
|
||||||
-h|--help) helpOpt && exit 0;;
|
-h|--help) helpOpt && exit 0;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
[[ -z $(grep -Eo $REGEX_PUBKEYS <<<$recipient) ]] && echo "Le format de la clé publique du destinataire est invalide." && exit 1
|
|
||||||
|
|
||||||
if [[ -z $file ]]; then
|
if [[ -z $file ]]; then
|
||||||
read -p "Objet du message: " title
|
read -p "Objet du message: " title
|
||||||
read -p "Corps du message: " content
|
read -p "Corps du message: " content
|
||||||
|
@ -42,6 +49,12 @@ else
|
||||||
message=$(cat $file)
|
message=$(cat $file)
|
||||||
fi
|
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
|
# Récupération et chiffrement du titre et du message
|
||||||
title=$(head -n1 <<<$message | ./natools.py encrypt --pubsec -p $recipient -O 58)
|
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)
|
content=$(tail -n+2 <<<$message | ./natools.py encrypt --pubsec -p $recipient -O 58)
|
||||||
|
|
Loading…
Reference in New Issue