mirror of
https://github.com/ivanilves/xiringuito.git
synced 2025-06-01 06:50:16 -07:00
Add reconnection functionality
This commit is contained in:
parent
3808955f85
commit
047a457a2f
@ -26,7 +26,7 @@ function teardown() {
|
|||||||
echo "CONNECTED"
|
echo "CONNECTED"
|
||||||
|
|
||||||
FAILED_PINGS=0
|
FAILED_PINGS=0
|
||||||
while [[ ${FAILED_PINGS} -lt 20 ]]; do
|
while [[ ${FAILED_PINGS} -lt 10 ]]; do
|
||||||
ping -c3 -nq ${CLIENT_IP_ADDR} >/dev/null
|
ping -c3 -nq ${CLIENT_IP_ADDR} >/dev/null
|
||||||
if [[ ${?} -ne 0 ]]; then
|
if [[ ${?} -ne 0 ]]; then
|
||||||
let FAILED_PINGS+=1
|
let FAILED_PINGS+=1
|
||||||
|
12
xiringuito
12
xiringuito
@ -33,6 +33,10 @@ if [[ ${#} -lt 1 ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# We need to save executable path and arguments for reconnection functionality
|
||||||
|
declare -r ORIGINAL_EXEC=${0}
|
||||||
|
declare -r ORIGINAL_ARGS=${@}
|
||||||
|
|
||||||
while getopts "RDh" o; do
|
while getopts "RDh" o; do
|
||||||
case ${o} in
|
case ${o} in
|
||||||
R)
|
R)
|
||||||
@ -151,8 +155,8 @@ fi
|
|||||||
|
|
||||||
set +e
|
set +e
|
||||||
FAILED_PINGS=0
|
FAILED_PINGS=0
|
||||||
while [[ ${FAILED_PINGS} -lt 20 ]]; do
|
while [[ ${FAILED_PINGS} -lt 10 ]]; do
|
||||||
kill -0 ${SSH_PID} &>/dev/null || exit 17
|
kill -0 ${SSH_PID} &>/dev/null || break
|
||||||
|
|
||||||
./scripts/client-ping-server.sh ${TUNNEL_ID} ${IP_BASE}
|
./scripts/client-ping-server.sh ${TUNNEL_ID} ${IP_BASE}
|
||||||
if [[ ${?} -ne 0 ]]; then
|
if [[ ${?} -ne 0 ]]; then
|
||||||
@ -166,3 +170,7 @@ while [[ ${FAILED_PINGS} -lt 20 ]]; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
teardown
|
teardown
|
||||||
|
|
||||||
|
if [[ -z "${NO_RECONNECT}" ]]; then
|
||||||
|
exec ${ORIGINAL_EXEC} ${ORIGINAL_ARGS}
|
||||||
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user