Easier install & systemd setup README include "test section"
This commit is contained in:
parent
732c741ac5
commit
4e989a4d03
|
@ -1,3 +1,4 @@
|
||||||
.env
|
.env
|
||||||
*.pyc
|
*.pyc
|
||||||
tmp/
|
tmp/
|
||||||
|
DICE
|
||||||
|
|
19
G1BILLETS.sh
19
G1BILLETS.sh
|
@ -22,6 +22,9 @@ if [[ $MONTANT != "daemon" ]]; then
|
||||||
|
|
||||||
STYLE="$2"
|
STYLE="$2"
|
||||||
|
|
||||||
|
DICE=$(cat $MY_PATH/DICE 2>/dev/null) ## HOW MANY WORDS SECRETS
|
||||||
|
[[ $DICE != ?(-)+([0-9]) ]] && DICE=4
|
||||||
|
|
||||||
## CHECK IF STYLE IS EMAIL => astro IPFS G1BILLET
|
## CHECK IF STYLE IS EMAIL => astro IPFS G1BILLET
|
||||||
if [[ "${STYLE}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]; then
|
if [[ "${STYLE}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]; then
|
||||||
echo "ASTROPORT NEW PLAYER"
|
echo "ASTROPORT NEW PLAYER"
|
||||||
|
@ -30,7 +33,7 @@ STYLE="$2"
|
||||||
STYLE="astro"
|
STYLE="astro"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## PLANCHE PDF DE 6 BILLETS PAR DEFAUT
|
## STYLE SELECTED: PDF DE 6 BILLETS OR SINGLE
|
||||||
NBbillets=6
|
NBbillets=6
|
||||||
[[ "${STYLE}" != "" && "${STYLE}" != "solian" && "${STYLE}" != "jeu" ]] && NBbillets=1
|
[[ "${STYLE}" != "" && "${STYLE}" != "solian" && "${STYLE}" != "jeu" ]] && NBbillets=1
|
||||||
|
|
||||||
|
@ -50,8 +53,9 @@ do
|
||||||
boucle=$((boucle+1))
|
boucle=$((boucle+1))
|
||||||
mkdir -p "${MY_PATH}/tmp/g1billet/${UNIQID}"
|
mkdir -p "${MY_PATH}/tmp/g1billet/${UNIQID}"
|
||||||
|
|
||||||
SALT=$(${MY_PATH}/diceware.sh 4 | xargs)
|
## ADAPT SECURITY LEVEL
|
||||||
SECRET=$(${MY_PATH}/diceware.sh 4 | xargs)
|
SALT=$(${MY_PATH}/diceware.sh $DICE | xargs)
|
||||||
|
SECRET=$(${MY_PATH}/diceware.sh $DICE | xargs)
|
||||||
|
|
||||||
# CREATION CLEF BILLET
|
# CREATION CLEF BILLET
|
||||||
BILLETPUBKEY=$(python3 ${MY_PATH}/key_create_dunikey.py "$SALT" "$SECRET")
|
BILLETPUBKEY=$(python3 ${MY_PATH}/key_create_dunikey.py "$SALT" "$SECRET")
|
||||||
|
@ -63,6 +67,7 @@ do
|
||||||
rm -f ${MY_PATH}/tmp/g1billet.${UNIQID}.ipns.key
|
rm -f ${MY_PATH}/tmp/g1billet.${UNIQID}.ipns.key
|
||||||
ipfs key rm ${UNIQID} && echo "/ipns/$ASTRONAUTENS"
|
ipfs key rm ${UNIQID} && echo "/ipns/$ASTRONAUTENS"
|
||||||
|
|
||||||
|
### GRAPHISM #####
|
||||||
# CREATION FICHIER IMAGE BILLET dans ${MY_PATH}/tmp/g1billet/${UNIQID}
|
# CREATION FICHIER IMAGE BILLET dans ${MY_PATH}/tmp/g1billet/${UNIQID}
|
||||||
$(${MY_PATH}/MAKE_G1BILLET.sh "${SALT}" "${SECRET}" "${MONTANT}" "${BILLETPUBKEY}" "${UNIQID}" "${STYLE}" "${ASTRONAUTENS}" "${EMAIL}")
|
$(${MY_PATH}/MAKE_G1BILLET.sh "${SALT}" "${SECRET}" "${MONTANT}" "${BILLETPUBKEY}" "${UNIQID}" "${STYLE}" "${ASTRONAUTENS}" "${EMAIL}")
|
||||||
|
|
||||||
|
@ -181,7 +186,9 @@ function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
|
||||||
mkdir -p ${MY_PATH}/tmp
|
mkdir -p ${MY_PATH}/tmp
|
||||||
exec 2>&1 >> ${MY_PATH}/tmp/G1BILLETS.log
|
exec 2>&1 >> ${MY_PATH}/tmp/G1BILLETS.log
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
########### daemon loop
|
########### daemon loop
|
||||||
|
#####################################################################
|
||||||
while true; do
|
while true; do
|
||||||
echo "=================================================="
|
echo "=================================================="
|
||||||
echo "$ME DAEMON READY"
|
echo "$ME DAEMON READY"
|
||||||
|
@ -208,7 +215,9 @@ while true; do
|
||||||
MONTANT=$(urldecode ${arr[1]} | xargs); STYLE=$(urldecode ${arr[3]} | xargs);
|
MONTANT=$(urldecode ${arr[1]} | xargs); STYLE=$(urldecode ${arr[3]} | xargs);
|
||||||
# echo "DECODED : $ONE=$MONTANT & $TWO=$STYLE"
|
# echo "DECODED : $ONE=$MONTANT & $TWO=$STYLE"
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
echo ${MY_PATH}/${ME} '"'$MONTANT'"' '"'$STYLE'"'
|
echo ${MY_PATH}/${ME} '"'$MONTANT'"' '"'$STYLE'"'
|
||||||
|
#####################################################################
|
||||||
# EXECUTE COMMAND
|
# EXECUTE COMMAND
|
||||||
LOG=$(${MY_PATH}/${ME} "$MONTANT" "$STYLE")
|
LOG=$(${MY_PATH}/${ME} "$MONTANT" "$STYLE")
|
||||||
|
|
||||||
|
@ -261,7 +270,9 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
#####################################################################
|
||||||
|
## loop ###############################################################
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ esac
|
||||||
|
|
||||||
|
|
||||||
# Add ${MY_PATH}/images/logo.png (250px)
|
# Add ${MY_PATH}/images/logo.png (250px)
|
||||||
composite -compose Over -gravity SouthWest -geometry +50+50 -dissolve 70% "${MY_PATH}/images/logo${STYLE}.png" "${MY_PATH}/images/fond${STYLE}.jpg" "${MY_PATH}/tmp/${BILLETNAME}.jpg"
|
composite -compose Over -gravity SouthWest -geometry +150+50 -dissolve 70% "${MY_PATH}/images/logo${STYLE}.png" "${MY_PATH}/images/fond${STYLE}.jpg" "${MY_PATH}/tmp/${BILLETNAME}.jpg"
|
||||||
|
|
||||||
# xbian style (ASTROPORT/KODI) + JEU
|
# xbian style (ASTROPORT/KODI) + JEU
|
||||||
if [[ "${STYLE}" == "xbian" || "${STYLE}" == "jeu" || "${STYLE}" == "astro" ]]
|
if [[ "${STYLE}" == "xbian" || "${STYLE}" == "jeu" || "${STYLE}" == "astro" ]]
|
||||||
|
@ -73,19 +73,19 @@ then
|
||||||
## IT IS AN ASTRONAUTENS IPNS LINK
|
## IT IS AN ASTRONAUTENS IPNS LINK
|
||||||
MOK="TW."
|
MOK="TW."
|
||||||
qrencode -s 6 -o "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.TW.png" "https://ipfs.copylaradio.com/ipns/$ASTRONAUTENS"
|
qrencode -s 6 -o "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.TW.png" "https://ipfs.copylaradio.com/ipns/$ASTRONAUTENS"
|
||||||
composite -compose Over -gravity SouthWest -geometry +40+45 "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.TW.png" "${MY_PATH}/tmp/${BILLETNAME}.jpg" "${MY_PATH}/tmp/${BILLETNAME}${MOK}.jpg"
|
composite -compose Over -gravity SouthWest -geometry +50+50 "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.TW.png" "${MY_PATH}/tmp/${BILLETNAME}.jpg" "${MY_PATH}/tmp/${BILLETNAME}${MOK}.jpg"
|
||||||
else
|
else
|
||||||
MOK=""
|
MOK=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# CREATE PSEUDO for Gchange.fr
|
# CREATE PSEUDO for Gchange.fr
|
||||||
XZUID="$EMAIL"
|
XZUID="$EMAIL"
|
||||||
BOTTOM="ASTROPORT (TW) : https://astroport.copylaradio.com"
|
BOTTOM="$(date) :: $(hostname) :: ♥Box ::"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
XZUID="G1 BILLET"
|
XZUID="G1 BILLET"
|
||||||
BOTTOM="$(date) https://gchange.fr https://cesium.app"
|
BOTTOM="$(date) :: https://gchange.fr :: https://cesium.app :: $(hostname)"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ convert -font 'Liberation-Sans' \
|
||||||
-pointsize 20 -fill black -draw 'text 380,26 "'"${NOTERIB}"'"' \
|
-pointsize 20 -fill black -draw 'text 380,26 "'"${NOTERIB}"'"' \
|
||||||
-pointsize 30 -draw 'text 50,100 "'"Secret 1: $SALT"'"' \
|
-pointsize 30 -draw 'text 50,100 "'"Secret 1: $SALT"'"' \
|
||||||
-pointsize 30 -fill black -draw 'text 50,130 "'"Secret 2: $SECRET"'"' \
|
-pointsize 30 -fill black -draw 'text 50,130 "'"Secret 2: $SECRET"'"' \
|
||||||
-pointsize 25 -fill black -draw 'text 50,440 "'"$BOTTOM"'"' \
|
-pointsize 25 -fill white -draw 'text 50,440 "'"$BOTTOM"'"' \
|
||||||
"${MY_PATH}/tmp/${BILLETNAME}.jpg" "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg"
|
"${MY_PATH}/tmp/${BILLETNAME}.jpg" "${MY_PATH}/tmp/g1billet/${UNIQID}/${BILLETNAME}.BILLET.jpg"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
28
README.md
28
README.md
|
@ -65,11 +65,33 @@ cd G1BILLET
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Ajoutez les dépendances nécessaire
|
Installation
|
||||||
|
```
|
||||||
|
./install.sh
|
||||||
|
./setup_systemd.sh
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo apt install python3 python3-pip imagemagick qrencode ttf-mscorefonts-installer netcat-traditional
|
|
||||||
sudo pip3 install duniterpy
|
|
||||||
|
Test Crypto
|
||||||
|
```
|
||||||
|
./keygen 'toto' 'toto'
|
||||||
|
EA7Dsw39ShZg4SpURsrgMaMqrweJPUFPYHwZA8e92e3D
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Test Graphic
|
||||||
|
```
|
||||||
|
SALT=toto; PEPPER=toto;
|
||||||
|
SECRET=toto; MONTANT=___;
|
||||||
|
BILLETPUBKEY=EA7Dsw39ShZg4SpURsrgMaMqrweJPUFPYHwZA8e92e3D;
|
||||||
|
UNIQID=toto; STYLE=astro
|
||||||
|
ASTRONAUTENS=k51qzi5uqu5dl1zsbaala0bi26zpl5cfi7mogjwl9cg76d8awfc1d0iv738kak
|
||||||
|
EMAIL=toto@yopmail.com
|
||||||
|
|
||||||
|
./MAKE_G1BILLET.sh "${SALT}" "${SECRET}" "${MONTANT}" "${BILLETPUBKEY}" "${UNIQID}" "${STYLE}" "${ASTRONAUTENS}" "${EMAIL}"
|
||||||
|
|
||||||
|
xdg-open tmp/g1billet/toto/toto.BILLET.jpg
|
||||||
```
|
```
|
||||||
|
|
||||||
NB: Si une erreur du type "not autorized" apparait, vous devez autoriser la création de pdf en editant /etc/ImageMagick-6/policy.xml pour commenter la ligne:
|
NB: Si une erreur du type "not autorized" apparait, vous devez autoriser la création de pdf en editant /etc/ImageMagick-6/policy.xml pour commenter la ligne:
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
BIN
images/g1jeu.png
BIN
images/g1jeu.png
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 54 KiB |
|
@ -1,40 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
################################################################################
|
|
||||||
# Author: Fred (support@qo-op.com)
|
|
||||||
# Version: 0.1
|
|
||||||
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
|
||||||
################################################################################
|
|
||||||
MY_PATH="`dirname \"$0\"`" # relative
|
|
||||||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|
||||||
ME="${0##*/}"
|
|
||||||
|
|
||||||
echo "#############################################"
|
|
||||||
echo ">>>>>>>>>>> SYSTEMD SETUP "
|
|
||||||
echo "#############################################"
|
|
||||||
|
|
||||||
echo "CREATE SYSTEMD g1billet SERVICE >>>>>>>>>>>>>>>>>>"
|
|
||||||
cat > /tmp/g1billet.service <<EOF
|
|
||||||
[Unit]
|
|
||||||
Description=G1BILLET API
|
|
||||||
After=network.target
|
|
||||||
Requires=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
User=_USER_
|
|
||||||
RestartSec=1
|
|
||||||
Restart=always
|
|
||||||
ExecStart=_MYPATH_/G1BILLETS.sh daemon
|
|
||||||
StandardOutput=file:_MYPATH_/tmp/g1billet.log
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
|
|
||||||
sudo cp -f /tmp/g1billet.service /etc/systemd/system/
|
|
||||||
sudo sed -i "s~_USER_~${USER}~g" /etc/systemd/system/g1billet.service
|
|
||||||
sudo sed -i "s~_MYPATH_~${MY_PATH}~g" /etc/systemd/system/g1billet.service
|
|
||||||
|
|
||||||
sudo systemctl daemon-reload
|
|
||||||
sudo systemctl enable g1billet
|
|
||||||
sudo systemctl restart g1billet
|
|
Loading…
Reference in New Issue