stuff
This commit is contained in:
parent
42d2da05ba
commit
52b362a340
51
G1VOEUX.sh
51
G1VOEUX.sh
|
@ -30,7 +30,6 @@ ASTRONAUTENS=$(ipfs key list -l | grep -w "${PLAYER}" | cut -d ' ' -f 1)
|
|||
[[ $ASTRONAUTENS == "" ]] && echo "ASTRONAUTE manquant" && exit 1
|
||||
|
||||
echo "Bienvenue $PSEUDO ($PLAYER) : $G1PUB"
|
||||
echo "Astronaute Ŋ1 : http://127.0.0.1:8080/ipns/$ASTRONAUTENS"
|
||||
echo
|
||||
|
||||
########################################################
|
||||
|
@ -39,7 +38,7 @@ rm -f ~/.zen/tmp/index.html
|
|||
ipfs --timeout 5s get -o ~/.zen/tmp/index.html /ipns/$ASTRONAUTENS
|
||||
if [ ! -f ~/.zen/tmp/index.html ]; then
|
||||
echo "ERROR IPNS TIMEOUT. Restoring local backup..."
|
||||
TW=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/ipfs/moa/index.html | tail -n 1)
|
||||
TW=$(ipfs add -rHq ~/.zen/game/players/$PLAYER/ipfs/moa/ | tail -n 1)
|
||||
ipfs name publish --key=$PLAYER /ipfs/$TW
|
||||
else
|
||||
# Backup
|
||||
|
@ -72,14 +71,16 @@ do
|
|||
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
|
||||
echo " QR code fonctionnel sur réseau IP local (qo-op) : $myIP"
|
||||
|
||||
echo "# CREATION WORLD UPGRADE DATABASE"
|
||||
echo "# UPGRADING WORLD WHISHKEY DATABASE"
|
||||
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||
|
||||
mkdir -p ~/.zen/game/world/$WISHKEY/
|
||||
echo $PEPPER > ~/.zen/game/world/$WISHKEY/.pepper
|
||||
|
||||
echo "# CREATION TW"
|
||||
##########################################################################################
|
||||
# ipfs cat /ipfs/bafybeierk6mgrlwpowdcfpvibujhg2b6upjfl3gryw2k72f7smxt6cqtiu > ~/.zen/Astroport.ONE/templates/twdefault.html
|
||||
##########################################################################################
|
||||
cp ~/.zen/Astroport.ONE/templates/twdefault.html ~/.zen/game/world/$WISHKEY/index.html
|
||||
|
||||
# PERSONNALISATION
|
||||
|
@ -97,8 +98,17 @@ do
|
|||
# ASTROPORT LOCAL IP RELAY == Smartphone doesn't resolve LAN DNS. So using Astroport Station IP
|
||||
sed -i "s~ipfs.infura.io~tube.copylaradio.com~g" ~/.zen/game/world/$WISHKEY/index.html
|
||||
sed -i "s~127.0.0.1~$myIP~g" ~/.zen/game/world/$WISHKEY/index.html
|
||||
#sed -i "s~https://ipfs.bluelightav.org~http://127.0.0.1:5001~g" ~/.zen/game/world/$WISHKEY/index.html
|
||||
|
||||
# ADD API GW TIDDLERS for IPFS SAVE
|
||||
##########################################################################################
|
||||
# [{"title":"$:/ipfs/saver/api/http/local/5001","tags":"$:/ipfs/core $:/ipfs/saver/api","text":"http://127.0.0.1:5001"}]
|
||||
# [{"title":"$:/ipfs/saver/gateway/local/myip","tags":"$:/ipfs/core $:/ipfs/saver/gateway","text":"http://127.0.0.1:8080"}]
|
||||
##########################################################################################
|
||||
tiddlywiki --verbose --load ~/.zen/game/world/$WISHKEY/index.html \
|
||||
--import ~/.zen/Astroport.ONE/templates/data/local.api.json "application/json" \
|
||||
--import ~/.zen/Astroport.ONE/templates/data/local.gw.json "application/json" \
|
||||
--output ~/.zen/tmp --render "$:/core/save/all" "newindex.html" "text/plain"
|
||||
[[ -f ~/.zen/tmp/newindex.html ]] && cp ~/.zen/tmp/newindex.html ~/.zen/game/world/$WISHKEY/index.html
|
||||
|
||||
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://'$myIP':8080", "http://127.0.0.1:8080", "http://astroport", "https://astroport.com", "https://qo-op.com", "https://tube.copylaradio.com" ]'
|
||||
## RESTART IPFS !?
|
||||
|
@ -152,23 +162,38 @@ convert -gravity northwest -pointsize 50 -fill black -draw "text 30,300 \"Ğ1 VO
|
|||
echo "## Creation json tiddler : Qr${PEPPER} /ipfs/${IVOEU}"
|
||||
echo '[
|
||||
{
|
||||
"title": "'Qr${PEPPER}'",
|
||||
"title": "'Voeu${PEPPER}'",
|
||||
"type": "'image/jpeg'",
|
||||
"tags": "'Voeu ${PEPPER}'",
|
||||
"text": "''",
|
||||
"tags": "'$:/isAttachment $:/isEmbedded voeu ${PEPPER}'",
|
||||
"_canonical_uri": "'/ipfs/${IVOEUPLAY}'"
|
||||
}
|
||||
]
|
||||
' > ~/.zen/game/world/$WISHKEY/${PEPPER}.voeu.json
|
||||
|
||||
rm ~/.zen/tmp/newindex.html
|
||||
echo "Ajout nouveau tiddler Qr$PEPPER dans MOA $PSEUDO : http://127.0.0.1:8080/ipns/$ASTRONAUTENS"
|
||||
tiddlywiki --verbose --load ~/.zen/game/players/$PLAYER/ipfs/moa/index.html --import ~/.zen/game/world/$WISHKEY/${PEPPER}.voeu.json --output ~/.zen/tmp --render "$:/core/save/all" "newindex.html" "text/plain"
|
||||
|
||||
|
||||
rm -f ~/.zen/tmp/newindex.html
|
||||
|
||||
echo "Nouveau Qr$PEPPER dans MOA $PSEUDO : http://127.0.0.1:8080/ipns/$ASTRONAUTENS"
|
||||
tiddlywiki --verbose --load ~/.zen/game/players/$PLAYER/ipfs/moa/index.html \
|
||||
--import ~/.zen/game/world/$WISHKEY/${PEPPER}.voeu.json "application/json" \
|
||||
--output ~/.zen/tmp --render "$:/core/save/all" "newindex.html" "text/plain"
|
||||
|
||||
echo "TW Updated..."
|
||||
if [[ -f ~/.zen/tmp/newindex.html ]]; then
|
||||
TW=$(ipfs add -Hq ~/.zen/tmp/newindex.html | tail -n 1)
|
||||
echo "Pulication IPNS clef $PLAYER /ipfs/$TW"
|
||||
echo "Mise à jour ~/.zen/game/players/$PLAYER/ipfs/moa/index.html"
|
||||
cp -f ~/.zen/tmp/newindex.html ~/.zen/game/players/$PLAYER/ipfs/moa/index.html
|
||||
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||
echo "Avancement blockchain $PLAYER : $MOATS"
|
||||
cp ~/.zen/game/players/$PLAYER/ipfs/moa/.chain ~/.zen/game/players/$PLAYER/ipfs/moa/.chain.old
|
||||
TW=$(ipfs add -rHq ~/.zen/game/players/$PLAYER/ipfs/moa/ | tail -n 1)
|
||||
echo "ipfs name publish --key=$PLAYER /ipfs/$TW"
|
||||
ipfs name publish --key=$PLAYER /ipfs/$TW
|
||||
# MAJ CACHE TW $PLAYER
|
||||
cp -f ~/.zen/tmp/newindex.html ~/.zen/game/players/$PLAYER/ipfs/moa/index.html
|
||||
echo $TW > ~/.zen/game/players/$PLAYER/ipfs/moa/.chain
|
||||
echo $MOATS > ~/.zen/game/players/$PLAYER/ipfs/moa/.moats
|
||||
echo
|
||||
fi
|
||||
|
||||
# PRINTING
|
||||
|
@ -195,6 +220,8 @@ convert -gravity northwest -pointsize 50 -fill black -draw "text 30,300 \"Ğ1 VO
|
|||
echo $MOATS > ~/.zen/game/world/$WISHKEY/.moats
|
||||
ipfs name publish --key=${WISHKEY} /ipfs/$IPUSH 2>/dev/null
|
||||
|
||||
echo "Astronaute Ŋ1 : http://127.0.0.1:8080/ipns/$ASTRONAUTENS"
|
||||
|
||||
echo "CAPSULE A REVE $PEPPER : http://127.0.0.1:8080/ipns/$VOEUXNS"
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,199 @@
|
|||
#!/bin/bash
|
||||
########################################################################
|
||||
# Version: 0.3
|
||||
# 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##*/}"
|
||||
|
||||
[ $(id -u) -eq 0 ] && echo "LANCEMENT root INTERDIT. Utilisez un simple utilisateur du groupe \"sudo\" SVP" && exit 1
|
||||
|
||||
|
||||
########################################################################
|
||||
[[ ! $(which ipfs) ]] && echo "=== Installez IPFS !!" && echo "https://docs.ipfs.io/install/command-line/#official-distributions" && exit 1
|
||||
|
||||
# MAIN # SI AUCUNE CLEF DE STATION...
|
||||
if [[ ! -f ~/.zen/secret.dunikey ]];
|
||||
then
|
||||
|
||||
# Check requirements
|
||||
echo "AstrXbian installateur pour distributions DEBIAN et dérivées : LinuxMint (https://www.linuxmint.com/) ou XBIAN (https://xbian.org) recommandées"
|
||||
echo "Appuyez sur ENTRER pour commencer."; read TEST; [[ "$TEST" != "" ]] && echo "SORTIE" && exit 0 ## Ajouter confirmation à chaque nouvelle étape (+explications)
|
||||
echo ; echo "Mise à jour des dépots de votre distribution..."
|
||||
sudo apt-get update
|
||||
|
||||
[[ "$USER" != "xbian" ]] &&\
|
||||
for i in x11-utils xclip zenity handbrake*; do\
|
||||
[ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ] &&\
|
||||
echo ">>> Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<";\
|
||||
sudo apt install -y $i;
|
||||
done
|
||||
|
||||
for i in git fail2ban netcat-traditional inotify-tools curl net-tools libsodium* python3-dev python3-pip python3-setuptools python3-wheel python3-dotenv mpack libssl-dev libffi-dev; do
|
||||
if [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
echo ">>> Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
|
||||
sudo apt install -y $i
|
||||
fi
|
||||
done
|
||||
|
||||
for i in build-essential qrencode jq bc file gawk yt-dlp ffmpeg sqlite dnsutils v4l-utils vlc mp3info musl-dev openssl* cargo detox nmap httrack html2text ssmtp imagemagick ttf-mscorefonts-installer libcurl4-openssl-dev; do
|
||||
if [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
echo ">>> Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
|
||||
sudo apt install -y $i
|
||||
fi
|
||||
done
|
||||
|
||||
[[ ! $(which kodi) && "$USER" != "xbian" ]] &&\
|
||||
echo ">>> Installation Kodi + Vstream = VOTRE VIDEOTHEQUE ! <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<";\
|
||||
sudo apt-get install kodi -y;\
|
||||
${MY_PATH}/.install/kodi_uqload_downloader.sh
|
||||
|
||||
echo "## INSTALLATION AstroGEEK OpenCV = 'Intelligence Amie' "
|
||||
sudo apt-get install python3-opencv -y
|
||||
|
||||
## Correct PDF restrictions for imagemagick
|
||||
echo "# Correction des droits export PDF imagemagick"
|
||||
if [[ $(cat /etc/ImageMagick-6/policy.xml | grep PDF) ]]; then
|
||||
cat /etc/ImageMagick-6/policy.xml | grep -Ev PDF > /tmp/policy.xml
|
||||
sudo cp /tmp/policy.xml /etc/ImageMagick-6/policy.xml
|
||||
fi
|
||||
|
||||
echo "###########################"
|
||||
echo "## INSTALL PYTHON CRYPTO LAYER "
|
||||
echo "###########################"
|
||||
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc && source ~/.bashrc; echo ">>> PATH=$PATH"
|
||||
python3 -m pip install -U pip
|
||||
python3 -m pip install -U setuptools wheel
|
||||
python3 -m pip install -U cryptography Ed25519 base58 google duniterpy pynacl pgpy
|
||||
python3 -m pip install -U nicotine-plus silkaj
|
||||
python3 -m pip install -U protobuf==3.19.0
|
||||
|
||||
|
||||
if [[ "$USER" == "pi" ]]; then ## PROPOSE QR_CODE PRINTER SUR RPI
|
||||
echo "Ambassade? Souhaitez vous ajouter imprimante 'brother_ql'? Saisissez OUI, sinon laissez vide et tapez sur ENTRER"
|
||||
read saisie
|
||||
if [[ $saisie != "" ]]; then
|
||||
sudo apt install printer-driver-all cups -y
|
||||
sudo pip3 install brother_ql
|
||||
sudo cupsctl --remote-admin
|
||||
sudo usermod -aG lpadmin pi
|
||||
sudo usermod -a -G gammu pi
|
||||
fi
|
||||
fi
|
||||
|
||||
# python3 -m pip install -U silkaj
|
||||
## python -> python3 link
|
||||
sudo ln -f -s /usr/bin/python3 /usr/bin/python
|
||||
|
||||
|
||||
########################################################################
|
||||
echo "=== Clonage git CODE 'astrXbian' + 'Astroport.ONE' depuis https://git.p2p.legal"
|
||||
mkdir -p ~/.zen
|
||||
cd ~/.zen
|
||||
git clone https://git.p2p.legal/axiom-team/astrXbian.git
|
||||
git clone https://git.p2p.legal/qo-op/Astroport.ONE.git
|
||||
# TODO INSTALL FROM IPFS / IPNS
|
||||
|
||||
|
||||
## Scripts pour systemd ou InitV (xbian)
|
||||
echo "=== Activation SYSTEM IPFS"
|
||||
~/.zen/astrXbian/.install/ipfs_alone.sh
|
||||
|
||||
########################################################################
|
||||
echo "=== IMPORT configuration ASTROPORT dans ~/.kodi"
|
||||
cp -Rf ~/.zen/astrXbian/.install/.kodi ~/
|
||||
|
||||
########################################################################
|
||||
echo "=== Configuration jaklis: Centre de communication CESIUM+ GCHANGE+"
|
||||
cd ~/.zen/astrXbian/zen/jaklis
|
||||
./setup.sh
|
||||
|
||||
########################################################################
|
||||
echo "=== Sécurisation DEFCON SUDOERS FAIL2BAN"
|
||||
## XBIAN fail2ban ERROR correction ##
|
||||
#[....] Starting authentication failure monitor: fail2ban No file(s) found for glob /var/log/auth.log
|
||||
[[ "$USER" == "xbian" ]] && sudo sed -i "s/auth.log/faillog/g" /etc/fail2ban/paths-common.conf
|
||||
# NODE activates fail2ban IN zen/ipfs_SWARM_refresh.sh
|
||||
|
||||
### MODIFIYING /etc/sudoers ###
|
||||
[[ "$USER" == "xbian" ]] && echo "xbian ALL=(ALL) NOPASSWD:ALL" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/astroport')
|
||||
|
||||
# PERSONNAL DEFCON LEVEL
|
||||
# cp ~/.zen/astrXbian/DEFCON ~/.zen/
|
||||
|
||||
if [[ "$USER" == "xbian" ]]
|
||||
then
|
||||
echo "enabling ipfs initV service autostart"
|
||||
cd /etc/rc2.d && sudo ln -s ../init.d/ipfs S02ipfs
|
||||
cd /etc/rc3.d && sudo ln -s ../init.d/ipfs S02ipfs
|
||||
cd /etc/rc4.d && sudo ln -s ../init.d/ipfs S02ipfs
|
||||
cd /etc/rc5.d && sudo ln -s ../init.d/ipfs S02ipfs
|
||||
|
||||
cd /etc/rc0.d && sudo ln -s ../init.d/ipfs K01ipfs
|
||||
cd /etc/rc1.d && sudo ln -s ../init.d/ipfs K01ipfs
|
||||
cd /etc/rc6.d && sudo ln -s ../init.d/ipfs K01ipfs
|
||||
|
||||
# Disable xbian-config auto launch
|
||||
echo 0 > ~/.xbian-config-start
|
||||
|
||||
fi
|
||||
|
||||
########################################################################
|
||||
# CREATE ~/astroport FILESYSTEM GATE
|
||||
mkdir -p ~/astroport/film
|
||||
mkdir -p ~/astroport/serie
|
||||
mkdir -p ~/astroport/anime
|
||||
echo '${TYPE};${MEDIAID};${YEAR};${TITLE};${SAISON};${GENRES};_IPNSKEY_;${RES};/ipfs/_IPFSREPFILEID_/$URLENCODE_FILE_NAME' > ~/astroport/ajouter_video.modele.txt
|
||||
|
||||
|
||||
#######################################################################
|
||||
|
||||
echo "## INSTALL open_with_linux.py ##
|
||||
## https://darktrojan.github.io/openwith/webextension.html"
|
||||
~/.zen/astrXbian/open_with_linux.py install
|
||||
|
||||
echo ">>> INFO : Ajoutez l'extension 'OpenWith' à votre navigateur !!
|
||||
# https://addons.mozilla.org/firefox/addon/open-with/
|
||||
# https://chrome.google.com/webstore/detail/open-with/cogjlncmljjnjpbgppagklanlcbchlno"
|
||||
|
||||
if [[ "$USER" != "xbian" ]]
|
||||
then
|
||||
## Desktop install
|
||||
echo "INITIALISATIOn Astroport/KODI"
|
||||
echo "Appuyez sur la touche ENTREE pour démarrer le mode Aventure"
|
||||
echo "sinon interrompez ici l'installation, et activez votre Ambassade ~/.zen/Astroport.ONE/start.sh"
|
||||
read
|
||||
~/.zen/Astroport.ONE/adventure.sh
|
||||
# ~/.zen/astrXbian/ISOconfig.sh
|
||||
else
|
||||
## Rpi Xbian install.
|
||||
cat /etc/rc.local | grep -Ev "exit 0" > /tmp/new.rc.local ## REMOVE "exit 0"
|
||||
# PREPARE NEXT BOOT - Network config - NEXTBOOT - ISOConfig - NEXTBOOT - OK
|
||||
echo "su - xbian -c '~/.zen/astrXbian/FirstBOOT.sh'" >> /tmp/new.rc.local
|
||||
echo "exit 0" >> /tmp/new.rc.local
|
||||
sudo cp -f /tmp/new.rc.local /etc/rc.local
|
||||
|
||||
echo "STOP!! Redémarrer Xbian pour continuer la configuration de votre station Astroport/KODI"
|
||||
echo "Faites une ISO : sudo xbian-config"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# MAIN # -f ~/.zen/secret.june (ISOConfig déjà lancé) ##
|
||||
else
|
||||
|
||||
echo "Installation existante !!
|
||||
========================
|
||||
Astroport/KODI (Gchange)
|
||||
========================
|
||||
Connectez-vous sur https://gchange.fr avec vos identifiants
|
||||
|
||||
$(cat ~/.zen/secret.june)
|
||||
|
||||
https://astroport.com
|
||||
"
|
||||
|
||||
# MAIN #
|
||||
fi
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
[{"title":"$:/ipfs/saver/api/http/local/5001","tags":"$:/ipfs/core $:/ipfs/saver/api","text":"http://127.0.0.1:5001"}]
|
|
@ -0,0 +1 @@
|
|||
[{"title":"$:/ipfs/saver/gateway/local/myip","tags":"$:/ipfs/core $:/ipfs/saver/gateway","text":"http://127.0.0.1:8080"}]
|
|
@ -0,0 +1,56 @@
|
|||
#!/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##*/}"
|
||||
################################################################################
|
||||
# Inspect game wishes, refresh latest IPNS version
|
||||
# Backup and chain
|
||||
|
||||
[[ $PLAYER == "" ]] && PLAYER=$(cat ~/.zen/game/players/.current/.player 2>/dev/null)
|
||||
|
||||
|
||||
for voeu in $(ls ~/.zen/game/world/);
|
||||
do
|
||||
echo "VOEU : $voeu"
|
||||
voeuns=$($MY_PATH/g1_to_ipfs.py $voeu)
|
||||
echo "http://127.0.0.1:8080/ipns/$voeuns"
|
||||
echo
|
||||
W=$(cat ~/.zen/game/world/$voeu/.pepper 2>/dev/null)
|
||||
echo $W
|
||||
|
||||
mkdir -p ~/.zen/tmp/work
|
||||
|
||||
echo "Getting latest online TW..."
|
||||
ipfs --timeout 12s get -o ~/.zen/tmp/work/ /ipns/$voeuns
|
||||
|
||||
|
||||
if [[ ! -f ~/.zen/tmp/work/index.html ]]; then
|
||||
echo "UNAVAILABLE WISH! Removing $W $voeu"
|
||||
ipfs key rm $voeu
|
||||
rm -Rf ~/.zen/game/world/$voeu
|
||||
continue
|
||||
fi
|
||||
|
||||
# RECORDING BLOCKCHAIN TIC
|
||||
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||
cp ~/.zen/game/world/$voeu/.chain ~/.zen/game/world/$voeu/.chain.old
|
||||
IPUSH=$(ipfs add -rHq ~/.zen/game/world/$voeu/ | tail -n 1)
|
||||
echo $IPUSH > ~/.zen/game/world/$voeu/.chain
|
||||
echo $MOATS > ~/.zen/game/world/$voeu/.moats
|
||||
ipfs name publish --key=${voeu} /ipfs/$IPUSH 2>/dev/null
|
||||
|
||||
rm -Rf ~/.zen/tmp/work
|
||||
|
||||
if [[ -d ~/.zen/game/players/$PLAYER/voeux/$voeu ]]; then
|
||||
echo "Supprimer votre voeux $W? Tapez sur ENTRER pour passer au voeu suivant..."
|
||||
read QUOI
|
||||
[[ "$QUOI" != "" ]] && ipfs key rm $voeu && rm -Rf ~/.zen/game/world/$voeu && rm -Rf ~/.zen/game/players/$PLAYER/voeux/$voeu && echo "SUPRESSION OK"
|
||||
fi
|
||||
|
||||
done
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
########################################################################
|
||||
MY_PATH="`dirname \"$0\"`" # relative
|
||||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||
ME="${0##*/}"
|
||||
######## YOUTUBE-DL ##########
|
||||
## NOW INSTALL yt-dlp AND LINK TO youtube-dl
|
||||
|
||||
if [[ ! -f /usr/local/bin/yt-dlp ]]; then
|
||||
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && \
|
||||
sudo chmod a+rx /usr/local/bin/yt-dlp && sudo chown $USER /usr/local/bin/yt-dlp
|
||||
|
||||
ytdl=$(which youtube-dl) # modify old
|
||||
[[ -f ${ytdl} && ! -f ${ytdl}.old ]] &&\
|
||||
sudo cp ${ytdl} ${ytdl}.old && \
|
||||
sudo rm ${ytdl}
|
||||
|
||||
sudo ln -s /usr/local/bin/yt-dlp /usr/local/bin/youtube-dl ## NOW youtube-dl is linked to yt-dlp (COMMANDS ARE THE SAME ?)
|
||||
fi
|
||||
|
||||
## UPGRADE TO LATEST
|
||||
ls -al /usr/local/bin/youtube-dl
|
Loading…
Reference in New Issue