#!/bin/bash ######################################################################## # Author: Fred (support@qo-op.com) # Version: 2020.04.19 # 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##*/}" ipfsnodeid=$(/usr/local/bin/ipfs id -f='\n') g1pub=$(cat ~/.ssb/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) # TIME minute=$(date +%M) heure=$(date +%H) timebar="$heure:$minute" jourdelasemaine=$(date +%w) jourdumois=$(date +%d) numerosemaine=$(date +%V) echo $timebar # TIME NTP SYNC: TODO: Problem being root (stickybit INSTALL?) # sudo ntpdate ntp.pool.org # CORRECT PATH [[ ! $(echo $PATH | grep "/usr/local/bin") ]] && export PATH="$PATH:/usr/local/bin" [[ ! $(echo $PATH | grep "~/.local/bin") ]] && export PATH="$PATH:~/.local/bin" ################################################################## # REFRESH IPFS SWARM DATA EVERY 12 minutes [[ $(($minute % 12)) == 0 ]] && $MY_PATH/ipfs_SWARM_refresh.sh ################################################################## ################################################################## # MONITOR INPUT TX (TODO: DEBUG) [[ $(($minute % 5)) == 0 ]] && $MY_PATH/g1_MONITOR_zen.sh "5 minutes" ################################################################## ################################################################## # RANDOMLY RUN SSB GET zenytv (avoid simultaneous run in swarm) randh=$((1 + RANDOM % 24)) [[ $(($heure % $randh)) == 0 ]] && $MY_PATH/ssb_GET_zenytv.sh ################################################################## randh=$((1 + RANDOM % 24)) [[ $(($heure % $randh)) == 0 ]] && $MY_PATH/ssb_GET_zenyta.sh ################################################################## randh=$((1 + RANDOM % 24)) [[ $(($heure % $randh)) == 0 ]] && $MY_PATH/miam_miam.sh ################################################################## ################################################################## # MIDNIGHT:01 : ZENBOT CLEANING & UPDATE if [[ "$timebar" == "00:01" ]]; then # UPGRADE youtube-dl youtube-dl --rm-cache-dir youtube-dl -U # LOG ROTATE EVERY SUNDAY [[ $jourdelasemaine == 0 ]] && mv -f /tmp/astroport.log ~/.zen/astroport.$numerosemaine.log # LOG BACKUP FOR 1 YEAR !! # GIT PULL cd $MY_PATH/../ && git pull && cd $MY_PATH # UPDATE CODE git pull # Clear 24h ssb_GET markers rm ~/.zen/zenytv.last.ts rm ~/.zen/zenyta.last.ts fi ################################################################## ################################################################## if [[ "$1" == "PRINT" ]]; then ################################################################## ################################################################## # Refresh All peers SWARM Wallets. ################################################################## ipfs_swarm_wallets_refresh ################################################################################ # PRINT G1Tag PRINTED FROM ANOTHER NODE (TODO: Correct BAD Cypher KEY + BUG why last image png layers are not printed???) # CREATE and REMOVE rr.bin -> done.rr if [[ -d "./wallets_swarm/.$IPFSNODEID/PRINT/" ]]; then log "__SUB:cron_MINUTE.sh: SEARCH NEW PRINT FOR ME .$IPFSNODEID" mkdir -p ./wallets/.$IPFSNODEID/PRINT/ for qrrtag in ./wallets_swarm/.$IPFSNODEID/PRINT/*.bin; do rr=$(echo $qrrtag | cut -d '/' -f 5 | cut -d '.' -f 1) if [[ ! -f "./wallets/.$IPFSNODEID/PRINT/done.$rr" ]]; then log "__SUB:cron_MINUTE.sh: PRINT G1Tag $rr - START: $(date)" ./shell/natools.py decrypt -k "$NODE_G1AUTHFILE" -i "${qrrtag}" -o "/tmp/G1Tag.png" log "__SUB:cron_MINUTE.sh: natools.py decrypt - $(date)" brother_ql_create --model QL-700 "/tmp/G1Tag.png" --label-size 62 > "/tmp/G1Tag.bin" log "__SUB:cron_MINUTE.sh: brother_ql_create - $(date)" brother_ql_print "/tmp/G1Tag.bin" /dev/usb/lp0 log "__SUB:cron_MINUTE.sh: brother_ql_print - $(date)" # INFORM PRINT DONE echo "OK" > ./wallets/.$IPFSNODEID/PRINT/done.$rr I=$(ipfs_node_wallets_add) else lqrrtag=$(echo "${qrrtag}" | sed s/_swarm//g ) log "__SUB:cron_MINUTE.sh: REMOVE OLD DONE PRINT ${lqrrtag} + ./wallets/.$IPFSNODEID/PRINT/done.$rr" rm -f "./wallets/.$IPFSNODEID/PRINT/done.$rr" rm -f "${lqrrtag}" I=$(ipfs_node_wallets_add) fi done log "__SUB:cron_MINUTE.sh: REMOVE OLD PRINT MARKED AS DONE" for scan in ./wallets_swarm/.Qm*/PRINT/done.*; do lscan=$(echo $scan | sed s/_swarm//g ) lid=$(echo $scan | cut -d '/' -f 3 | cut -d '.' -f 2 ) lrr=$(echo $scan | cut -d '/' -f 5 | cut -d '.' -f 2 ) log "__SUB:cron_MINUTE.sh: REMOVE ./wallets/.$lid/PRINT/$lrr.bin OLD PRINT ${lscan} SENT to $lid ($lrr.bin)" rm -f ./wallets/.$lid/PRINT/$lrr.bin rm -f "${lscan}" I=$(ipfs_node_wallets_add) done rm "/tmp/G1Tag.bin" rm "/tmp/G1Tag.png" fi fi ################################################################## ################################################################## if [[ "$1" == "KALKUN" ]]; then ################################################################## for number in ./wallets/*; do member="" phone=$(echo $number | cut -d '/' -f 3); if [[ -f $number/$phone.uidname ]]; then member=$(cat $number/$phone.uidname); fi if [[ ! $member ]]; then member=$phone; fi if [[ $phone && $member ]]; then add_contact $phone $member; log "__SUB:cron_MINUTE.sh: KALKUN add_contact $phone $member"; fi done fi ##################################################################