systemctl and InitV startup script
This commit is contained in:
parent
2bde100578
commit
1110b0c74b
|
@ -242,7 +242,7 @@ convert -gravity northwest -pointsize 50 -fill black -draw "text 30,300 \"$PEPPE
|
||||||
|
|
||||||
echo "CAPSULE A REVE $PEPPER : http://127.0.0.1:8080/ipns/$VOEUXNS"
|
echo "CAPSULE A REVE $PEPPER : http://127.0.0.1:8080/ipns/$VOEUXNS"
|
||||||
|
|
||||||
ech "## Creating Cesium+ Profil #### timeout long ... patience ...."
|
echo "## Creating Cesium+ Profil #### timeout long ... patience ...."
|
||||||
$MY_PATH/tools/jaklis/jaklis.py -k ~/.zen/tmp/qrtw.dunikey -n "https://g1.data.presles.fr" set --name "G1Voeu $PEPPER" --avatar "/home/$USER/.zen/Astroport.ONE/images/logojune.jpg" --site "https://astroport.com/ipns/$VOEUXNS" #CESIUM+
|
$MY_PATH/tools/jaklis/jaklis.py -k ~/.zen/tmp/qrtw.dunikey -n "https://g1.data.presles.fr" set --name "G1Voeu $PEPPER" --avatar "/home/$USER/.zen/Astroport.ONE/images/logojune.jpg" --site "https://astroport.com/ipns/$VOEUXNS" #CESIUM+
|
||||||
[[ ! $? == 0 ]] && echo "CESIUM PROFILE CREATION FAILED !!!!"
|
[[ ! $? == 0 ]] && echo "CESIUM PROFILE CREATION FAILED !!!!"
|
||||||
|
|
||||||
|
|
51
install.sh
51
install.sh
|
@ -187,6 +187,57 @@ else
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
###########################################
|
||||||
|
# ACTIVATE IPFS OPTIONS: #swarm0 INIT
|
||||||
|
###########################################
|
||||||
|
### IMPORTANT !!!!!!! IMPORTANT !!!!!!
|
||||||
|
###########################################
|
||||||
|
# DHT PUBSUB mode
|
||||||
|
ipfs config Pubsub.Router gossipsub
|
||||||
|
# MAXSTORAGE = 1/2 available
|
||||||
|
availableDiskSize=$(df -P ~/ | awk 'NR>1{sum+=$4}END{print sum}')
|
||||||
|
diskSize="$((availableDiskSize / 2))"
|
||||||
|
ipfs config Datastore.StorageMax $diskSize
|
||||||
|
## Activate Rapid "ipfs p2p"
|
||||||
|
ipfs config --json Experimental.Libp2pStreamMounting true
|
||||||
|
ipfs config --json Experimental.P2pHttpProxy true
|
||||||
|
ipfs config --json Swarm.ConnMgr.LowWater 0
|
||||||
|
ipfs config --json Swarm.ConnMgr.HighWater 0
|
||||||
|
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://127.0.0.1:8080", "http://astroport", "https://astroport.com", "https://qo-op.com", "https://tube.copylaradio.com" ]'
|
||||||
|
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'
|
||||||
|
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'
|
||||||
|
|
||||||
|
ipfs config Addresses.API "/ip4/0.0.0.0/tcp/5001"
|
||||||
|
ipfs config Addresses.Gateway "/ip4/0.0.0.0/tcp/8080"
|
||||||
|
|
||||||
|
######### CLEAN DEFAULT BOOTSTRAP TO STAY INVISIBLE ###########
|
||||||
|
ipfs bootstrap rm --all
|
||||||
|
###########################################
|
||||||
|
# BOOTSTRAP NODES ARE ADDED LATER
|
||||||
|
###########################################
|
||||||
|
# AVOID CONFLICT WITH KODI ./.install/.kodi/userdata/guisettings.xml
|
||||||
|
ipfs config Addresses.Gateway "/ip4/0.0.0.0/tcp/8080"
|
||||||
|
|
||||||
|
[[ "$USER" != "xbian" ]] && sudo systemctl restart ipfs
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# SUDO permissions
|
||||||
|
########################################################################
|
||||||
|
## USED FOR fail2ban-client (DEFCON)
|
||||||
|
echo "$USER ALL=(ALL) NOPASSWD:/usr/bin/fail2ban-client" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/fail2ban-client')
|
||||||
|
## USED FOR RAMDISK (video live streaming)
|
||||||
|
echo "$USER ALL=(ALL) NOPASSWD:/bin/mount" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/mount')
|
||||||
|
echo "$USER ALL=(ALL) NOPASSWD:/bin/umount" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/umount')
|
||||||
|
## USED FOR SYSTEM UPGRADE
|
||||||
|
echo "$USER ALL=(ALL) NOPASSWD:/usr/bin/apt-get" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/apt-get')
|
||||||
|
echo "$USER ALL=(ALL) NOPASSWD:/usr/bin/apt" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/apt')
|
||||||
|
## USED FOR "systemctl restart ipfs"
|
||||||
|
echo "$USER ALL=(ALL) NOPASSWD:/bin/systemctl" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/systemctl')
|
||||||
|
|
||||||
|
## brother_ql_print
|
||||||
|
echo "$USER ALL=(ALL) NOPASSWD:/usr/local/bin/brother_ql_print" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/brother_ql_print')
|
||||||
|
|
||||||
|
|
||||||
# MAIN # -f ~/.zen/secret.june (ISOConfig déjà lancé) ##
|
# MAIN # -f ~/.zen/secret.june (ISOConfig déjà lancé) ##
|
||||||
else
|
else
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,103 @@
|
||||||
|
#!/bin/sh
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: ipfs
|
||||||
|
# Required-Start: $local_fs $remote_fs $network $syslog $named
|
||||||
|
# Required-Stop: $local_fs $remote_fs $network $syslog $named
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Should-Start: ipfs daemon
|
||||||
|
# Should-Stop: ipfs daemon
|
||||||
|
# Short-Description: Starts the ipfs daemon
|
||||||
|
# Description: ipfs daemon is managing swarm filesystem
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
# Author: Dylan Powers <dylan.kyle.powers@gmail.com
|
||||||
|
|
||||||
|
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
|
||||||
|
DESC="ipfs daemon"
|
||||||
|
NAME=ipfs
|
||||||
|
DAEMON=/usr/local/bin/ipfs
|
||||||
|
DAEMON_ARGS="daemon --enable-pubsub-experiment --enable-namesys-pubsub --enable-gc"
|
||||||
|
PIDFILE=/var/run/$NAME.pid
|
||||||
|
SCRIPTNAME=/etc/init.d/$NAME
|
||||||
|
|
||||||
|
IPFS_PATH=/home/xbian/.ipfs
|
||||||
|
IPFS_USER=xbian
|
||||||
|
# Exit if the package is not installed
|
||||||
|
[ -x "$DAEMON" ] || exit 0
|
||||||
|
|
||||||
|
# Read configuration variable file if it is present
|
||||||
|
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
||||||
|
|
||||||
|
# Load the VERBOSE setting and other rcS variables
|
||||||
|
. /lib/init/vars.sh
|
||||||
|
|
||||||
|
# Define LSB log_* functions.
|
||||||
|
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
|
||||||
|
# and status_of_proc is working.
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
#
|
||||||
|
# Function that starts the daemon/service
|
||||||
|
#
|
||||||
|
do_start() {
|
||||||
|
# Return
|
||||||
|
# 0 if daemon has been started
|
||||||
|
# 1 if daemon was already running
|
||||||
|
# 2 if daemon could not be started
|
||||||
|
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test >/dev/null \
|
||||||
|
|| return 1
|
||||||
|
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \
|
||||||
|
--background --chuid $IPFS_USER --no-close \
|
||||||
|
--exec /usr/bin/env IPFS_PATH="$IPFS_PATH" $DAEMON 2>>/var/log/ipfs.log 1>/dev/null \
|
||||||
|
-- $DAEMON_ARGS \
|
||||||
|
|| return 2
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Function that stops the daemon/service
|
||||||
|
#
|
||||||
|
do_stop() {
|
||||||
|
# Return
|
||||||
|
# 0 if daemon has been stopped
|
||||||
|
# 1 if daemon was already stopped
|
||||||
|
# 2 if daemon could not be stopped
|
||||||
|
# other if a failure occurred
|
||||||
|
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
|
||||||
|
RETVAL="$?"
|
||||||
|
[ "$RETVAL" = 2 ] && return 2
|
||||||
|
|
||||||
|
# Delete the pid
|
||||||
|
rm -f $PIDFILE
|
||||||
|
return "$RETVAL"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
|
||||||
|
do_start
|
||||||
|
case "$?" in
|
||||||
|
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||||
|
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
|
||||||
|
do_stop
|
||||||
|
case "$?" in
|
||||||
|
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||||
|
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
do_stop
|
||||||
|
do_start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
|
||||||
|
exit 3
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -0,0 +1,14 @@
|
||||||
|
[Unit]
|
||||||
|
Description=IPFS daemon
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=_USER
|
||||||
|
ExecStart=/usr/local/bin/ipfs daemon --enable-pubsub-experiment --enable-namesys-pubsub --routing=dhtclient --enable-gc
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=10s
|
||||||
|
CPUAccounting=true
|
||||||
|
CPUQuota=60%
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
|
@ -35,7 +35,8 @@ for yurl in $(cat ~/.zen/tmp/tiddlers.json | jq -r '.[].text' | grep 'http'); do
|
||||||
rm -Rf ~/.zen/tmp/tube
|
rm -Rf ~/.zen/tmp/tube
|
||||||
mkdir -p ~/.zen/tmp/tube
|
mkdir -p ~/.zen/tmp/tube
|
||||||
|
|
||||||
yt-dlp -f "[ext=mp4]+best[height<=480]+[filesize<300M]" --no-mtime --embed-thumbnail --add-metadata -o "$HOME/.zen/tmp/tube/%(title)s.%(ext)s" ${yurl}
|
# https://github.com/yt-dlp/yt-dlp#format-selection-examples
|
||||||
|
yt-dlp -f "bv*[height<=480]+ba/b[height<=480] / wv*+ba/w" --no-mtime --embed-thumbnail --add-metadata -o "$HOME/.zen/tmp/tube/%(title)s.%(ext)s" ${yurl}
|
||||||
FILE=$(ls -t ~/.zen/tmp/tube/ | tail -n 1)
|
FILE=$(ls -t ~/.zen/tmp/tube/ | tail -n 1)
|
||||||
|
|
||||||
[[ ! -f ~/.zen/tmp/tube/$FILE ]] && echo "No FILE -- EXIT --" && exit 1
|
[[ ! -f ~/.zen/tmp/tube/$FILE ]] && echo "No FILE -- EXIT --" && exit 1
|
||||||
|
|
|
@ -47,6 +47,8 @@ select voeu in "${vlist[@]}"; do
|
||||||
|
|
||||||
case $typ in
|
case $typ in
|
||||||
"TW")
|
"TW")
|
||||||
|
echo "Changer de Gateway http://$myIP:8080 ?"
|
||||||
|
read GW && [[ ! $GW ]] && GW="http://$myIP:8080"
|
||||||
qrencode -s 12 -o "$HOME/.zen/game/world/$voeu/QR.WISHLINK.png" "http://$myIP:8080/ipns/$VOEUXNS"
|
qrencode -s 12 -o "$HOME/.zen/game/world/$voeu/QR.WISHLINK.png" "http://$myIP:8080/ipns/$VOEUXNS"
|
||||||
convert $HOME/.zen/game/world/$voeu/QR.WISHLINK.png -resize 600 ~/.zen/tmp/START.png
|
convert $HOME/.zen/game/world/$voeu/QR.WISHLINK.png -resize 600 ~/.zen/tmp/START.png
|
||||||
echo " QR code $TITLE : http://$myIP:8080/ipns/$VOEUXNS"
|
echo " QR code $TITLE : http://$myIP:8080/ipns/$VOEUXNS"
|
||||||
|
|
Loading…
Reference in New Issue