This commit is contained in:
fred 2022-12-04 19:12:02 +01:00
parent 9194845c8d
commit 3040a8eff0
2 changed files with 38 additions and 17 deletions

View File

@ -112,7 +112,7 @@ Vos données son stockées [dans des Tiddlers](http://libra.copylaradio.com:8080
### Foret Enchantée - PROJET ASTROPORT.pdf ### Foret Enchantée - PROJET ASTROPORT.pdf
http://tube.copylaradio.com:8080/ipfs/QmUtGpGeMZvwp47ftqebVmoFWCmvroy5wEtWsKvWvDWJpR https://ipfs.copylaradio.com/ipfs/QmUtGpGeMZvwp47ftqebVmoFWCmvroy5wEtWsKvWvDWJpR
# API # API
@ -144,13 +144,13 @@ http://_ASTROIP_:8080/ipns/_APID_/
_APID_ est la clef IPNS qui contient l'arborescence "json" en lecture _APID_ est la clef IPNS qui contient l'arborescence "json" en lecture
Exemple pour l'application "G1Voeu" http://tube.copylaradio.com:8080/ipns/12D3KooWL2FcDJ41U9SyLuvDmA5qGzyoaj2RoEHiJPpCvY8jvx9u Exemple pour l'application "G1Voeu" https://ipfs.copylaradio.com/ipns/12D3KooWL2FcDJ41U9SyLuvDmA5qGzyoaj2RoEHiJPpCvY8jvx9u
Application "messaging" Application "messaging"
http://tube.copylaradio.com:1234/?salt=toto&pepper=toto&messaging=on http://tube.copylaradio.com:1234/?salt=toto&pepper=toto&messaging=on
Pour écrire une application on utilisera "jsipfs" Pour écrire une application on pourra utiliser "jsipfs"
https://js.ipfs.tech/ https://js.ipfs.tech/
<script src="https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js"></script>
@ -161,8 +161,8 @@ Ajoutez l'appel API "testcraft" pour enregistrer vos json
http://tube.copylaradio.com:1234/?salt=toto&pepper=toto&testcraft=on&nodeid=12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j&dataid=QmZXo87nn34i54HhuMrbuXM5fKXymhV3Zj9exeZDK6s4WD http://tube.copylaradio.com:1234/?salt=toto&pepper=toto&testcraft=on&nodeid=12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j&dataid=QmZXo87nn34i54HhuMrbuXM5fKXymhV3Zj9exeZDK6s4WD
``` ```
# TYPE = official, g1pub, messaging, testcraft, .... # APP = g1pub, messaging, testcraft, ....
http://127.0.0.1:1234/?salt=${SALT}&pepper=${PEPPER}&${TYPE}=?&... http://127.0.0.1:1234/?salt=${SALT}&pepper=${PEPPER}&${APP}=?&...
``` ```
[12345.sh](/qo-op/Astroport.ONE/src/branch/master/12345.sh) [12345.sh](/qo-op/Astroport.ONE/src/branch/master/12345.sh)
@ -172,7 +172,6 @@ DATA ~/.zen/tmp/${IPFSNODEID}/${ASTRONAUTENS}/${TYPE}/${MOATS}.data.json
INDEX ~/.zen/tmp/${IPFSNODEID}/${TYPE}.json INDEX ~/.zen/tmp/${IPFSNODEID}/${TYPE}.json
``` ```
# TIDDLYWIKI # TIDDLYWIKI
Les données produites par chaque clef sont stockées en tant que tiddlers dans des Tiddlywiki. Les données produites par chaque clef sont stockées en tant que tiddlers dans des Tiddlywiki.

View File

@ -22,6 +22,10 @@ MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}" ME="${0##*/}"
start=`date +%s` start=`date +%s`
# REMOVE GtkDialog errors for zenity
shopt -s expand_aliases
alias zenity='zenity 2> >(grep -v GtkDialog >&2)'
alias espeak='espeak 1>&2>/dev/null'
######################################################################## ########################################################################
[[ $(which ipfs) == "" ]] && echo "ERREUR! Installez ipfs" && echo "wget https://git.p2p.legal/axiom-team/astrXbian/raw/master/.install/ipfs_alone.sh -O /tmp/ipfs_install.sh && chmod +x /tmp/ipfs_install.sh && /tmp/ipfs_install.sh" && exit 1 [[ $(which ipfs) == "" ]] && echo "ERREUR! Installez ipfs" && echo "wget https://git.p2p.legal/axiom-team/astrXbian/raw/master/.install/ipfs_alone.sh -O /tmp/ipfs_install.sh && chmod +x /tmp/ipfs_install.sh && /tmp/ipfs_install.sh" && exit 1
[[ $(which zenity) == "" ]] && echo "ERREUR! Installez zenity" && echo "sudo apt install zenity" && exit 1 [[ $(which zenity) == "" ]] && echo "ERREUR! Installez zenity" && echo "sudo apt install zenity" && exit 1
@ -69,10 +73,6 @@ if [ $URL ]; then
CHOICE="$IMPORT" CHOICE="$IMPORT"
fi fi
# REMOVE GtkDialog errors for zenity
shopt -s expand_aliases
alias zenity='zenity 2> >(grep -v GtkDialog >&2)'
alias espeak='espeak 1>&2>/dev/null'
# GET SCREEN DIMENSIONS # GET SCREEN DIMENSIONS
screen=$(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/') screen=$(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/')
@ -162,7 +162,7 @@ case ${CAT} in
######################################################################## ########################################################################
vlog) vlog)
espeak "vlog is video blogging" espeak "Ready to record your webcam"
zenity --warning --width 300 --text "${PLAYER}. Prêt à enregistrer votre video ?" zenity --warning --width 300 --text "${PLAYER}. Prêt à enregistrer votre video ?"
@ -212,11 +212,16 @@ JSON_FILE=$(echo ${FILE_NAME} | sed "s/${FILE_EXT}/json/g")
YID=$(echo "${FILE_NAME}" | cut -d "&" -f 1) YID=$(echo "${FILE_NAME}" | cut -d "&" -f 1)
YNAME=$(echo "${FILE_NAME}" | cut -d "&" -f 2- | sed "s/[(][^)]*[)]//g" | sed -e 's/[^A-Za-z0-9._-]/_/g' | sed -e 's/__/_/g' ) # Remove YoutubeID_ and (what is in perentheses) YNAME=$(echo "${FILE_NAME}" | cut -d "&" -f 2- | sed "s/[(][^)]*[)]//g" | sed -e 's/[^A-Za-z0-9._-]/_/g' | sed -e 's/__/_/g' ) # Remove YoutubeID_ and (what is in perentheses)
[[ $(which detox) ]] && YNAME=$(echo "${FILE_NAME}" | cut -d "&" -f 2- | detox --inline) [[ $(which detox) ]] && YNAME=$(echo "${FILE_NAME}" | cut -d "&" -f 2- | detox --inline)
espeak "OK $YNAME copied"
MEDIAID="$REVSOURCE${YID}" MEDIAID="$REVSOURCE${YID}"
TITLE="${YNAME%.*}" TITLE="${YNAME%.*}"
MEDIAKEY="YOUTUBE_${MEDIAID}" MEDIAKEY="YOUTUBE_${MEDIAID}"
## CORRECT PARAMETERS to Make Kodi compatible YASTRXBIAN FILE ## CORRECT PARAMETERS to Make Kodi compatible YASTRXBIAN FILE
espeak "Please. Choose your tags"
[ ! $2 ] && GENRES=$(zenity --list --checklist --title="GENRE" --height=${haut} \ [ ! $2 ] && GENRES=$(zenity --list --checklist --title="GENRE" --height=${haut} \
--text="Choisissez le(s) genre(s) d'information(s) contenue(s) dans cette vidéo \"${TITLE}\" publiée sur OASIS" \ --text="Choisissez le(s) genre(s) d'information(s) contenue(s) dans cette vidéo \"${TITLE}\" publiée sur OASIS" \
--column="Use" \ --column="Use" \
@ -291,7 +296,7 @@ rm -Rf ${YTEMP}
espeak "${ARR[@]}" espeak "${ARR[@]}"
## CREATE IPNS KEY HOOK ## CREATE IPNS KEY HOOK JUST FOR FUN
REVSOURCE="$(echo "$NIAMOD" | rev | sha256sum | cut -d ' ' -f 1)"; echo $REVSOURCE REVSOURCE="$(echo "$NIAMOD" | rev | sha256sum | cut -d ' ' -f 1)"; echo $REVSOURCE
MEDIAKEY="$REVSOURCE" # MEDIAKEY=435582881619ee4df9e2723fb9e20bb173b32818094a3e40c9536068ae3730ac MEDIAKEY="$REVSOURCE" # MEDIAKEY=435582881619ee4df9e2723fb9e20bb173b32818094a3e40c9536068ae3730ac
@ -324,6 +329,8 @@ rm -Rf ${YTEMP}
echo "$MOATS" > $FILE_PATH/$DOMAIN/.moats # TIMESTMAPING echo "$MOATS" > $FILE_PATH/$DOMAIN/.moats # TIMESTMAPING
echo "$IPNSKEY" > $FILE_PATH/$DOMAIN/.ipnshook # SELF REFERING echo "$IPNSKEY" > $FILE_PATH/$DOMAIN/.ipnshook # SELF REFERING
espeak "OK Web is copied. Adding to I P F S now..."
### ADD TO IPFS ### ADD TO IPFS
IPFSREPFILEID=$(ipfs add -qHwr $FILE_PATH/$DOMAIN/* | tail -n 1) # ADDING $DOMAIN TO IPFS IPFSREPFILEID=$(ipfs add -qHwr $FILE_PATH/$DOMAIN/* | tail -n 1) # ADDING $DOMAIN TO IPFS
ipfs name publish -k $MEDIAKEY /ipfs/$IPFSREPFILEID # PUBLISH $MEDIAKEY ipfs name publish -k $MEDIAKEY /ipfs/$IPFSREPFILEID # PUBLISH $MEDIAKEY
@ -341,9 +348,10 @@ rm -Rf ${YTEMP}
FILE_BSIZE=$(du -b "$FILE_PATH/$DOMAIN/" | awk '{print $1}' | tail -n 1) FILE_BSIZE=$(du -b "$FILE_PATH/$DOMAIN/" | awk '{print $1}' | tail -n 1)
FILE_SIZE=$(echo "${FILE_BSIZE}" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') FILE_SIZE=$(echo "${FILE_BSIZE}" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }')
## NB TEXT IS MADE WITH TIDDLERS FIELDS VALUES (LEARN TODO)
TEXT="<iframe src={{{ [{$:/ipfs/saver/gateway/http/localhost!!text}] [{!!ipfs}] +[join[]] }}} height='360' width='100%'></iframe> TEXT="<iframe src={{{ [{$:/ipfs/saver/gateway/http/localhost!!text}] [{!!ipfs}] +[join[]] }}} height='360' width='100%'></iframe>
Web : $URL ----> <a href={{{ [{$:/ipfs/saver/gateway/http/localhost!!text}] [{!!ipfs}] +[join[]] }}}}><<currentTiddler>></a> Web : $URL ----> <a href={{{ [{$:/ipfs/saver/gateway/http/localhost!!text}] [{!!ipfs}] +[join[]] }}}}><<currentTiddler>></a>
<br>$FILE_SIZE" <br>$FILE_SIZE - $dur sec"
echo '[ echo '[
{ {
@ -359,14 +367,14 @@ echo '[
"mediakey": "'${MEDIAKEY}'", "mediakey": "'${MEDIAKEY}'",
"ipnskey16": "'$(cat $HOME/.zen/tmp/$MEDIAKEY.ipns.enc | base16)'", "ipnskey16": "'$(cat $HOME/.zen/tmp/$MEDIAKEY.ipns.enc | base16)'",
"ipns": "'/ipns/${IPNSKEY}'", "ipns": "'/ipns/${IPNSKEY}'",
"tags": "'ipfs G1Web $PLAYER $DOMAIN'" "tags": "'ipfs G1Web $PLAYER webmaster@$DOMAIN'"
} }
] ]
' > ~/Astroport/${CAT}/${MEDIAID}/${MEDIAKEY}.dragdrop.json ' > ~/Astroport/${CAT}/${MEDIAID}/${MEDIAKEY}.dragdrop.json
# zenity --warning --width ${large} --text "Copie $URL dans ${FILE_PATH}/ et /ipns/$IPNSKEY" # zenity --warning --width ${large} --text "Copie $URL dans ${FILE_PATH}/ et /ipns/$IPNSKEY"
espeak "Your web site is ready" espeak "Done. Tiddler is ready"
;; ;;
@ -382,7 +390,7 @@ echo '[
page) page)
espeak "page : import P D F" espeak "Converting any web page into P D F"
## EVOLVE TO ARTICLE ## EVOLVE TO ARTICLE
# httrack --mirror --ext-depth=0 --depth=1 --near --stay-on-same-address --keep-links=0 --path article-x --quiet https://example.com/article-x/ # httrack --mirror --ext-depth=0 --depth=1 --near --stay-on-same-address --keep-links=0 --path article-x --quiet https://example.com/article-x/
@ -395,7 +403,7 @@ echo '[
cd ~/.zen/tmp/ && rm -f output.pdf cd ~/.zen/tmp/ && rm -f output.pdf
# https://peter.sh/experiments/chromium-command-line-switches # https://peter.sh/experiments/chromium-command-line-switches
${MY_PATH}/tools/timeout.sh -t 12 \ ${MY_PATH}/tools/timeout.sh -t 30 \
chromium --headless --use-mobile-user-agent --no-sandbox --print-to-pdf "$URL" chromium --headless --use-mobile-user-agent --no-sandbox --print-to-pdf "$URL"
fi fi
@ -418,6 +426,8 @@ echo '[
[[ ! -s ~/.zen/tmp/output.pdf ]] && espeak "No file Sorry. Exit" && exit 1 [[ ! -s ~/.zen/tmp/output.pdf ]] && espeak "No file Sorry. Exit" && exit 1
espeak "OK Page copied. Give it a title please"
CTITLE=$(echo $URL | rev | cut -d '/' -f 1 | rev) CTITLE=$(echo $URL | rev | cut -d '/' -f 1 | rev)
TITLE=$(zenity --entry --width 480 --title "Titre" --text "Quel nom de fichier à donner à cette page ? " --entry-text="${CTITLE}") TITLE=$(zenity --entry --width 480 --title "Titre" --text "Quel nom de fichier à donner à cette page ? " --entry-text="${CTITLE}")
@ -691,6 +701,11 @@ FILE_NAME="${TITLE}${SAISON}.${FILE_EXT}"
URLENCODE_FILE_NAME=$(echo ${FILE_NAME} | jq -Rr @uri) URLENCODE_FILE_NAME=$(echo ${FILE_NAME} | jq -Rr @uri)
echo "${CAT};${MEDIAID};${YEAR};${TITLE};${SAISON};${GENRES};_IPNSKEY_;${RES};/ipfs/_IPFSREPFILEID_/$URLENCODE_FILE_NAME" > ~/Astroport/${CAT}/${MEDIAID}/ajouter_video.txt echo "${CAT};${MEDIAID};${YEAR};${TITLE};${SAISON};${GENRES};_IPNSKEY_;${RES};/ipfs/_IPFSREPFILEID_/$URLENCODE_FILE_NAME" > ~/Astroport/${CAT}/${MEDIAID}/ajouter_video.txt
# _IPFSREPFILEID_ is replaced later # _IPFSREPFILEID_ is replaced later
#######################################################
######## NOT CREATING TIDDLER JSON... SWALLOW IS POST-PROCESSED
## new_file_in_astroport.sh ACTIVATES CONTRACT MODE !!
#######################################################
#######################################################
;; ;;
# video _ _ # video _ _
@ -742,6 +757,13 @@ echo "${CAT};${MEDIAID};${YEAR};${TITLE};${SAISON};${GENRES};_IPNSKEY_;${RES};/i
FILE_NAME="${TITLE}.${FILE_EXT}" FILE_NAME="${TITLE}.${FILE_EXT}"
#######################################################
######## NOT CREATING TIDDLER JSON... SWALLOW IS POST-PROCESSED
## new_file_in_astroport.sh FOR OWN CREATION CONTRACTING MODE !!
#######################################################
#######################################################
;; ;;
######################################################################## ########################################################################