update: add more checks and decrease NAT lease lifetime to equal default sleep time
This commit is contained in:
parent
9f543c92d5
commit
7742454fea
|
@ -6,7 +6,7 @@ LABEL description="Map NAT-PMP/UPnP port and update qBittorrent configuration"
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN apt update
|
RUN apt update
|
||||||
RUN apt install --no-install-suggests --no-install-recommends -y natpmpc curl
|
RUN apt install --no-install-suggests --no-install-recommends -y natpmpc curl bc
|
||||||
RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/*
|
RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/*
|
||||||
RUN apt clean
|
RUN apt clean
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ ENV QBITTORRENT_USER='admin'
|
||||||
ENV QBITTORRENT_PASS='adminadmin'
|
ENV QBITTORRENT_PASS='adminadmin'
|
||||||
ENV VPN_GATEWAY=''
|
ENV VPN_GATEWAY=''
|
||||||
ENV CHECK_INTERVAL='300'
|
ENV CHECK_INTERVAL='300'
|
||||||
ENV NAT_LEASE_LIFETIME='3600'
|
ENV NAT_LEASE_LIFETIME='300'
|
||||||
|
|
||||||
COPY data/start.sh /start.sh
|
COPY data/start.sh /start.sh
|
||||||
RUN chmod 750 /start.sh
|
RUN chmod 750 /start.sh
|
||||||
|
|
|
@ -25,14 +25,20 @@ qbt_changeport(){
|
||||||
return $?
|
return $?
|
||||||
}
|
}
|
||||||
|
|
||||||
public_ip=''
|
public_ip=$(getpublicip)
|
||||||
qbt_sid=''
|
qbt_sid=$(qbt_login)
|
||||||
configured_port=''
|
configured_port=$(findconfiguredport ${qbt_sid})
|
||||||
active_port=''
|
active_port=''
|
||||||
|
|
||||||
check() {
|
get_portmap() {
|
||||||
|
res=0
|
||||||
public_ip=$(getpublicip)
|
public_ip=$(getpublicip)
|
||||||
qbt_sid=$(qbt_login)
|
|
||||||
|
if echo $(curl -s --header "Referer: http://${QBITTORRENT_SERVER}:${QBITTORRENT_PORT}" --cookie "${qbt_sid}" http://${QBITTORRENT_SERVER}:${QBITTORRENT_PORT}/api/v2/app/version) | grep -qi forbidden; then
|
||||||
|
echo "$(timestamp) | qBittorrent Cookie invalid, getting new SessionID"
|
||||||
|
qbt_sid=$(qbt_login)
|
||||||
|
fi
|
||||||
|
|
||||||
configured_port=$(findconfiguredport ${qbt_sid})
|
configured_port=$(findconfiguredport ${qbt_sid})
|
||||||
active_port=$(findactiveport)
|
active_port=$(findactiveport)
|
||||||
|
|
||||||
|
@ -46,15 +52,23 @@ check() {
|
||||||
echo "$(timestamp) | Port Changed to: $(findconfiguredport ${qbt_sid})"
|
echo "$(timestamp) | Port Changed to: $(findconfiguredport ${qbt_sid})"
|
||||||
else
|
else
|
||||||
echo "$(timestamp) | Port Change failed."
|
echo "$(timestamp) | Port Change failed."
|
||||||
|
res=1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "$(timestamp) | Port OK (Act: ${active_port} Cfg: ${configured_port})"
|
echo "$(timestamp) | Port OK (Act: ${active_port} Cfg: ${configured_port})"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
return $res
|
||||||
}
|
}
|
||||||
|
|
||||||
while true;
|
while true;
|
||||||
do
|
do
|
||||||
check
|
if get_portmap; then
|
||||||
|
echo "$(timestamp) | NAT-PMP/UPnP Ok!"
|
||||||
|
else
|
||||||
|
echo "$(timestamp) | NAT-PMP/UPnP Failed"
|
||||||
|
fi
|
||||||
|
echo "$(timestamp) | Sleeping for $(echo ${CHECK_INTERVAL}/60 | bc) minutes"
|
||||||
sleep ${CHECK_INTERVAL}
|
sleep ${CHECK_INTERVAL}
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue