#!/bin/bash ######################################################################## # Author: Fred (support@qo-op.com) # Version: 2020.04.28 # 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##*/}" ######################################################################## # \\/// # qo-op ############# '$MY_PATH/$ME' ######################################################################## # ex: ./'$ME' # SYNC IPFS SWARM PEERS SHARED DATA .12D3KooW**** ########################################################################' ######################################################################## # ENVIRONEMENT DETECTION + IPFS ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_info ######################################################################## IPFSNODEID=$(ipfs id -f='\n') [[ $IPFSNODEID == "" ]] && echo "ERROR missing IPFS Node id !! IPFS is not installed !?" && exit 1 ######################################################################## [[ ! -f ~/.zen/secret.dunikey ]] && exit 1 G1PUB=$(cat ~/.zen/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) ######################################################################## ## myCODE is a SECURITY about code SIMILARITY ## EACH NODE CAN CHECK IF ANOTHER HAS SAME IPFS CODE HASH MyCODE=$(ipfs add -rq --ignore="__pycache__" ~/.zen/astrXbian/ | tail -n 1) [[ ! -f ~/.zen/ipfs/.${IPFSNODEID}/.mycode ]] && echo $MyCODE > ~/.zen/ipfs/.${IPFSNODEID}/.mycode [[ "$(cat ~/.zen/ipfs/.${IPFSNODEID}/.mycode)" != "$MyCODE" ]] && echo $MyCODE > ~/.zen/ipfs/.${IPFSNODEID}/.mycode echo " _ _ _ _ / \ / \ / \ / \ ( I | P | N | S ) \_/ \_/ \_/ \_/ ZENTAG MEDIAKEY REFRESH MyCODE = $MyCODE " echo "I am /ipns/$IPFSNODEID controling and refreshing my MEDIAKEY IPNS" ######################################################################## # REFRESH IPNS SELF PUBLISH ######################################################################## ~/.zen/astrXbian/zen/ipns_self_publish.sh ######################################################################## count=0 [[ ! -d ~/.zen/ipfs/.${IPFSNODEID}/KEY/ ]] && exit 0 for id in $(ls ~/.zen/ipfs/.${IPFSNODEID}/KEY/); # Alternative search do count=$((count+1)) && echo "$count) " IPNSLINK=$(ipfs key list -l | grep ${id} | cut -d ' ' -f 1) FILE_NAME=$(cat ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.ipfs.filename) TITLE=$(cat ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.title) source=$(echo $id | cut -d '_' -f 1) ANNONCE=$(cat ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.gchange.ad) ## CRYPTO EXAMPLE, use natools to decrypt (could also verify signature) [[ -f ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.ipfs.filelink.natools.encrypt ]] && $MY_PATH/tools/natools.py decrypt -f pubsec -k "$HOME/.zen/secret.dunikey" -i "$HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.ipfs.filelink.natools.encrypt" -o "/tmp/${id}_filelink.txt" cat /tmp/${id}_filelink.txt ARIESLINK="https://aries.copylaradio.com$(cat /tmp/${id}_filelink.txt)" MIMETYPE="video/${ARIESLINK##*.}" ### IPNS LINK CAN EVOLVE (REFRESH EVERY 12 H TO MAINTAIN ALIVE IN THE SWARM) echo "

ASTROPORT/KODI

LECTURE immédiate! Lancement video locale dans 10 secondes ...
Recrutons experts BASH pour programmer les nouveaux services du Datacenter Virtuel...

Essayez astrXbian service de video-club entre amis



Fichier ajouté par : " > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/index.html ######################################################################## ### ACTIVATE & EXECUTE HERE YOUR OWN SCENARIO # ~/.zen/ipfs/.${IPFSNODEID}/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/index.html ######################################################################## # FRANCE COPIE PRIVEE - clear ipfs link no tracking ## Write KEY id (provide verification) [[ ! -f ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.id ]] && echo ${id} > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.id echo "" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/index.html # echo "" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/index.html if [[ "$source" == "YOUTUBE" ]] then echo "$source" # mutiTUBE - activate .views.counter # echo "" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/index.html # TODO go/index.php from nginx proxy acting act as gateway (= Easy Round robin DNS tube.copylaradio.com is dynamic IP swap swarm nodes from node performance...) fi # ln -s /$HOME/.zen/astrXbian/www /var/www/astrxbian # Testez vos application à même la blockchain en la copiant dans ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/go/ # Proposez de l'ajouter au dépot des applications web2.0 dans ../www/ echo "~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.views.counter" if [[ ! -f ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.views.counter.sign ]]; then echo "0" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.views.counter $MY_PATH/tools/natools.py sign -f pubsec -k "$HOME/.zen/secret.dunikey" -i ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.views.counter -o ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.views.counter.sign fi # EXAMPLE TO ACTIVATE SECURITY : FORCE SIGNATURE VERIFICATION for each sensible file $MY_PATH/tools/natools.py verify -p "${G1PUB}" -i "$HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/${G1PUB}/.views.counter.sign" -o "/tmp/verified_msg" && echo "c'est bon" || echo "c'est pas bon" # Each time a station modify .views.counter it signs, log and timestamp then publish new IPNS to swarm. # If a "faulty" blockchain appears (Mediakey collision)... # Message are sent to warn friends they have to manualy validate data conflict and merge back their mutual chain. # ipfs nanochain progression I=$(ipfs add -qrH ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/ | tail -n 1) OLDCHAIN=$(cat ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/.chain) if [[ "$OLDCHAIN" != "$I" ]] # MODIFY CHAIN only if something was changed then echo "$(date -u +%s%N | cut -b1-13)" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/.timestamp echo $I > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${id}/.chain fi # KEY ZenTag IPNS name publish J=$(ipfs name publish -k ${id} --quieter /ipfs/${I}) echo "$id REFRESHED https://aries.copylaradio.com/ipns/$J" done # ACTIVATION MONNAIES LIBRES EQUIBIBREES # echo "Ajouter une ML en relatif DU : # DU(t+1)=(DU+c²)/r # S(t+1)=(S+DU)/r # M(t+1)=N (et oui, si vous regardez les formules, on n’a pas besoin de M :slight_smile: On a donc pas besoin de stocker M !) # r=(1+DU)*N/N(t+1) (diviser par r, c’est multiplier par [N(t+1)/N]/(1+DU), qui prend en compte la variation de N) # https://forum.monnaie-libre.fr/t/etude-commencer-a-la-moyenne/15231/34?u=qoop # "