Commit 4c0dd909 authored by matograine's avatar matograine

Merge branch 'silkaj-v0.7' into 'master'

Silkaj v0.7

See merge request !7
parents 8828327d 585efd28
......@@ -7,7 +7,7 @@ export PATH=$PATH:/usr/local/bin # utile pour l'utiliser en tâche CRON.
#### Paramètres de l'instance G1Cotis ####
# Dossier G1Cotis (indiquer le chemin complet)
# !! Ne mettez pas de / à la fin !! exemple : /home/toto/G1cotis
dossier=/home/UTILISATEUR/G1cotis
dossier=/home/UTILISATEUR/g1cotis
#### Paramètres Silkaj ####
## Choisir le noeud Duniter sur lequel vous vous connectez (de préférence un noeud régional, ou personnel, différent de g1.duniter.org)
......@@ -20,8 +20,8 @@ silkaj=silkaj
## Si vous avez installé Silkaj en environnement virtuel :
## Chemin vers le dossier contenant Silkaj :
#cd /home/UTILISATEUR/silkaj
#silkaj='pipenv run silkaj'
#cd /home/UTILISATEUR/Silkaj
#silkaj="pipenv run silkaj"
########################
......
......@@ -10,6 +10,16 @@ source $dossier_scripts/fonctions.sh
#### Début du script ####
## nettoyer authfile si besoin
if [ -e authfile ] ; then
mv -f authfile $dossier_auth/authfile.$(date +%d-%m-%y_%H:%m)
fi
if [ -e $dossier/authfile ] ; then
mv -f $dossier/authfile $dossier_auth/authfile.$(date +%d-%m-%y_%H:%m)
fi
# 1- information
printf "\n##################################\n#### Configuration de Ğ1Cotis ####\n################################## \n\n"
......@@ -113,7 +123,7 @@ if [ ! "$?" == "0" ] ; then
tps_random 28 ; dom=$?
dow=*
cr_mens=$(echo "$m $h $dom * $dow cd $dossier_scripts ; bash ./init_mens.sh >> $dossier/logs/g1cotis.log 2>&1")
printf "\nĞ1Cotis (mensuel) sera lancé chaque $dow e jour du mois à $h:$m."
printf "\nĞ1Cotis (mensuel) sera lancé chaque $dom e jour du mois à $h:$m."
printf "\n\n !! ATTENTION !! : Après ce script, exécutez la commande 'crontab -e' et ajoutez à la fin de votre crontable (modifiez MAILTO si vous savez ce que vous faites) :\n\nMAILTO=\"\"\n$cr_reboot\n$cr_quot\n$cr_hebdo\n$cr_mens\n\n "
fi
else
......
......@@ -16,7 +16,7 @@ done
adr_verif ()
{
echo "Vérification de l'adresse..."
$silkaj -p $noeud amount "$1" | grep Total > /dev/null
$silkaj -p $noeud balance "$1" | grep Total > /dev/null
return $?
}
......
......@@ -14,33 +14,6 @@
## Chemin du dossier où est stocké le fichier d'identification du compte intermédiaire
auth=$dossier_auth/$recept.auth # fichier d'authentification du compte intermédiaire, de forme <CLEF_PUB>.auth
#### Fonctions ####
ecriture_liste ()
{
lst=( $@ )
n=0
while [ $n -lt ${#lst[@]} ] ; do
echo ${lst[$n]} >> $fichier
n=$((n+1))
done
}
#tx_verif ()
adr_verif ()
{
echo "Vérification de l'adresse..."
$silkaj amount "$1" | grep Total > /dev/null
return $?
}
tps_random () # paramètres : maximum
{
tps=$RANDOM
tps=$(( $tps % $1 ))
return $tps
}
#### Log ####
echo "===================="
......@@ -73,7 +46,7 @@ fi
## Réserve
## Montant
while true ; do
montant=$($silkaj -p $noeud amount $recept | grep "Total Quantitative" | cut -d'=' -f2 | cut -d' ' -f2- | sed -e "s/ $monnaie//g" | bc )
montant=$($silkaj -p $noeud balance $recept | grep "Total Quantitative" | cut -d'=' -f2 | cut -d' ' -f2- | sed -e "s/ $monnaie//g" | bc )
if [ "$?" == "0" ] ; then
break
else
......@@ -108,7 +81,7 @@ elif [ $montant_round -ge $min ] ; then
restant=$(echo "$restant - $cot" |bc )
# envoi de la transaction
while true ; do
$silkaj -p $noeud --auth-file --file=$auth tx -y --output="${lst_tx[$a]}" --amount="$cot" --comment="$com"
$silkaj -p $noeud --auth-file --file=$auth tx -y --output="${lst_tx[$a]}" --amount="$cot" --comment="$com"
if [ $? == 0 ] ; then
echo "cotisation $(($a+1)) effectuée" ; break
else
......
......@@ -31,7 +31,7 @@ fi
## Montant
while true ; do
montant=$($silkaj -p $noeud amount $recept | grep "Total Quantitative" | cut -d'=' -f2 | cut -d' ' -f2- | sed -e "s/ $monnaie//g" | bc )
montant=$($silkaj -p $noeud balance $recept | grep "Total Quantitative" | cut -d'=' -f2 | cut -d' ' -f2- | sed -e "s/ $monnaie//g" | bc )
if [ "$?" == "0" ] ; then
break
else
......@@ -54,7 +54,7 @@ elif [ $(echo "100 * $montant_round" | bc) -ge $(echo "100 * $virt_recur" | bc)
## Envoi du virement
while true ; do
$silkaj -p $noeud --auth-file --file=$auth tx -y --output="$fin" --amount="$virt_recur" --comment=$com
$silkaj -p $noeud --auth-file --file=$auth tx -y --output="$fin" --amount="$virt_recur" --comment=$com
if [ $? == 0 ] ; then
echo "virement effectué" ; break
else
......
......@@ -43,7 +43,7 @@ printf "#!/bin/bash \n
## Le compte intermédiaire reçoit les paiements, puis envoie les cotisations aux comptes choisis et le restant au compte final.
## On utilise pour ce compte un fichier d'authentification, stocké dans un dossier spécifique.
## Le fichier d'authentification doit être de forme <CLEF_PUBLIQUE>.auth
## Vous le générez sur Silkaj par la commande 'silkaj generate_auth_file'. Prenez soin de le renommer et le déplacer dans le bon dossier par la suite.\n\n
## Vous le générez sur Silkaj par la commande 'silkaj authfile'. Prenez soin de le renommer et le déplacer dans le bon dossier par la suite.\n\n
## Adresse publique du compte intermédiaire\n" >> $fichier
## fin de l'intro ##
......@@ -58,7 +58,7 @@ echo -n "Connaissez-vous déjà les identifiants pour ce compte ? (o/N) : "
read ouinon
if [ "$ouinon" == "o" ] || [ "$ouinon" == "O" ] ; then
printf "\nNous allons créer le fichier d'authentification pour ce compte. Soyez sûr.e de vous rappeler des identifiants, Ğ1Cotis ne les enregistrera pas.\nEntrez les identifiants lorsque Silkaj vous le demandera.\n\nEn attente de Silkaj...\n\n"
$silkaj generate_auth_file > /tmp/$nom
$silkaj authfile > /tmp/$nom
pubkey=$(cat /tmp/$nom | grep "Authentication file 'authfile' generated and stored in current folder for following public key:" | cut -d':' -f2 | sed 's/.\{1\}//' ) #| cut -d' ' -f2- | sed -e 's/ $monnaie//g' )
printf "\nClef publique : $pubkey pour le compte $nom. Est-ce juste ? (o/N) : "
read ouinon
......@@ -76,7 +76,7 @@ read ouinon
mdp=$(diceware -d - --no-caps)
printf "\nNous vous proposons un identifiant secret et un mot de passe, basés sur Diceware. \nEcrivez-les (copier-coller) quand Silkaj vous les demandera.\nRappel : <Ctrl+Maj+C> et <Ctrl+Maj+V> pour copier-coller dans le terminal.\nSoyez sûr.e de vous en rappeler, Ğ1Cotis ne les enregistrera pas. \n\nID= $id\nMDP= $mdp\n\nEn attente de Silkaj...\n\n"
rappel=yes
$silkaj generate_auth_file > /tmp/$nom
$silkaj authfile > /tmp/$nom
pubkey=$(cat /tmp/$nom | grep "Authentication file 'authfile' generated and stored in current folder for following public key:" | cut -d':' -f2 | sed 's/.\{1\}//' ) #| cut -d' ' -f2- | sed -e 's/ $monnaie//g' )
printf "recept=$pubkey\n" >> $fichier
cp ./authfile $dossier_auth/$pubkey.auth
......@@ -149,7 +149,7 @@ for i in ${lst_p[@]} ; do
tot=$(($tot + $i))
if [ $tot -gt 100 ] ; then
rm $fichier
printf "\n\nERREUR : Le total dépasse 100%%. Veuillez relancer le script nouveau-compte.sh et vérifier vos pourcentages.\n\n"
printf "\n\nERREUR : Le total dépasse 100%%. **Veuillez relancer le script nouveau-compte.sh et vérifier vos pourcentages**.\n\n" ; exit
continue
fi
done
......
......@@ -56,7 +56,7 @@ echo -n "Connaissez-vous déjà les identifiants pour ce compte ? (o/N) : "
read ouinon
if [ "$ouinon" == "o" ] || [ "$ouinon" == "O" ] ; then
printf "\nNous allons créer le fichier d'authentification pour ce compte. Soyez sûr.e de vous rappeler des identifiants, Ğ1Cotis ne les enregistrera pas.\nEntrez les identifiants lorsque Silkaj vous le demandera.\n\nEn attente de Silkaj ...\n\n"
$silkaj generate_auth_file > /tmp/$nom
$silkaj authfile > /tmp/$nom
pubkey=$(cat /tmp/$nom | grep "Authentication file 'authfile' generated and stored in current folder for following public key:" | cut -d':' -f2 | sed 's/.\{1\}//' ) #| cut -d' ' -f2- | sed -e 's/ $monnaie//g' )
printf "\nClef publique : $pubkey pour le compte $nom. Est-ce juste ? (o/N) : "
read ouinon
......@@ -74,7 +74,7 @@ read ouinon
mdp=$(diceware -d - --no-caps)
printf "\nNous vous proposons un identifiant secret et un mot de passe, basés sur Diceware. \nEcrivez-les (copier-coller) quand Silkaj vous les demandera.\nRappel : <Ctrl+Maj+C> et <Ctrl+Maj+V> pour copier-coller dans le terminal.\nSoyez sûr.e de vous en rappeler, Ğ1Cotis ne les enregistrera pas. \n\nID= $id\nMDP= $mdp\n\nEn attente de Silkaj ... \n\n"
rappel=yes
$silkaj generate_auth_file > /tmp/$nom
$silkaj authfile > /tmp/$nom
pubkey=$(cat /tmp/$nom | grep "Authentication file 'authfile' generated and stored in current folder for following public key:" | cut -d':' -f2 | sed 's/.\{1\}//' ) #| cut -d' ' -f2- | sed -e 's/ $monnaie//g' )
printf "recept=$pubkey\n" >> $fichier
cp ./authfile $dossier_auth/$pubkey.auth
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment