2025-07-02 10:40:08 +08:00
#!/bin/bash
2025-07-01 12:30:10 +08:00
prog = " $0 "
while [ -h " ${ prog } " ] ; do
newProg = ` /bin/ls -ld " ${ prog } " `
newProg = ` expr " ${ newProg } " : " .* -> \(.*\) $" `
if expr " x ${ newProg } " : 'x/' >/dev/null; then
prog = " ${ newProg } "
else
progdir = ` dirname " ${ prog } " `
prog = " ${ progdir } / ${ newProg } "
fi
done
progdir = ` dirname " ${ prog } " `
cd " ${ progdir } "
2025-07-02 10:40:08 +08:00
progdir = $( pwd )
2025-07-01 12:30:10 +08:00
num = $( mount | grep "/external" | wc -l)
if [ $num -lt 1 ] ; then
2025-07-02 19:48:26 +08:00
mkdir -p external >/dev/null 2>& 1
2025-07-29 00:02:10 +08:00
mkdir -p emby.external >/dev/null 2>& 1
2025-07-01 12:30:10 +08:00
mount -o bind,shared emby.external external
echo "mount emby.external to external to mark shared"
fi
mkdir -p external/rclone.media rclone.cache
chmod 777 external/rclone.media rclone.cache
url = $( cat rclone.conf | grep -E "^url" | sed -e 's/.*\(http.*\)/\1/' | head -1)
2025-07-04 10:25:10 +08:00
echo " get webdav url from rclone.conf: $url "
2025-07-02 10:40:08 +08:00
mkdir -p ${ progdir } /emby.tmp
chmod 777 ${ progdir } /emby.tmp
export TMPDIR = ${ progdir } /emby.tmp
if [ " $SELFIP " = = "" ] ; then
interface = $( ip route show | grep default | awk '{print $5}' )
export SELFIP = $( ip addr show $interface | grep -w inet | awk '{print $2}' | cut -d/ -f1| head -1)
echo " DETECT SELF IP: ${ SELFIP } , if this is not correct, change SELFIP to your real ip "
fi
2025-07-24 00:35:09 +08:00
echo "TRY CONNECT webdavsim, please wait... about(30s)"
2025-07-02 10:40:08 +08:00
webdavsimok = "0"
2025-07-01 12:30:10 +08:00
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
do
echo " loop: $i "
curl -v -L $url
if [ $? -eq 0 ] ; then
2025-07-02 10:40:08 +08:00
webdavsimok = "1"
2025-07-01 12:30:10 +08:00
break
fi
echo "found error, sleep 3s, and retry..."
sleep 3
done
num = $( ps -ef| grep "rclone --config" | grep -v grep| wc -l)
if [ $num -gt 1 ] ; then
echo "more than 1 run, exit myself."
exit
fi
2025-07-02 10:40:08 +08:00
if [ " $webdavsimok " != "1" ] ; then
echo "webdavsim not run, exit"
exit
fi
2025-07-24 00:35:09 +08:00
echo "ready to rclone mount, please wait...(about 10s)"
2025-07-12 19:15:13 +08:00
rclone --config rclone.conf mount webdavsim-nas:/dav external/rclone.media --daemon --daemon-wait 10s --no-check-certificate --allow-other --umask 000 --default-permissions --dir-cache-time 1h --webdav-vendor rclone --vfs-cache-mode writes --vfs-read-chunk-size 32M --vfs-read-chunk-size-limit 1G --buffer-size 64M --vfs-cache-max-age 1h --vfs-cache-max-size 10G --timeout 1800s --contimeout 10s --daemon-timeout 300s --poll-interval 1800s --low-level-retries 2 --cache-dir rclone.cache --log-file rclone.log
#rclone --config rclone.conf mount webdavsim-nas:/dav external/rclone.media --daemon --daemon-wait 10s --no-check-certificate --allow-other --umask 000 --default-permissions --dir-cache-time 1h --webdav-vendor rclone --vfs-cache-mode off --timeout 1800s --contimeout 10s --daemon-timeout 300s --poll-interval 1800s --low-level-retries 2 --log-file rclone.log
2025-07-04 07:09:59 +08:00
if [ $? -eq 0 ] ; then
echo "mount ok"
else
echo "ERROR:rclone mount fail"
fi
2025-07-01 12:30:10 +08:00
2025-07-04 07:09:59 +08:00
#interface=$(ip route show | grep default | awk '{print $5}')
#SELFIP=$(ip addr show $interface | grep -w inet | awk '{print $2}' | cut -d/ -f1|head -1)
#echo "DETECT SELF IP:${SELFIP}, if this is not correct, change SELFIP to your real ip"
2025-07-01 12:30:10 +08:00
if [ " $SELFIP " != "" ] ; then
if [ ! -e config.selfip.modified.dat ] ; then
if [ -e emby.config/config/system.xml ] ; then
touch config.selfip.modified.dat
echo " auto change embysim's selfip to $SELFIP , please restart embysim "
2025-07-02 10:40:08 +08:00
sed -i -e " /<LocalNetworkAddresses>/{:a;N;/<\/LocalNetworkAddresses>/!ba;s/.*<\/LocalNetworkAddresses>/<LocalNetworkAddresses><string> $SELFIP <\/string><\/LocalNetworkAddresses>/} " emby.config/config/system.xml
sed -i -e " s/<LocalNetworkAddresses \/>/<LocalNetworkAddresses><string> $SELFIP <\/string><\/LocalNetworkAddresses>/ " emby.config/config/system.xml
2025-07-01 12:30:10 +08:00
fi
fi
fi