add ax7000.sh fix
This commit is contained in:
parent
306940262d
commit
6dc8890dd8
85
ax7000.sh
Executable file
85
ax7000.sh
Executable file
@ -0,0 +1,85 @@
|
||||
#!/bin/sh
|
||||
|
||||
auto_ssh_dir="/data/auto_ssh"
|
||||
host_key="/etc/dropbear/dropbear_rsa_host_key"
|
||||
host_key_bk="${auto_ssh_dir}/dropbear_rsa_host_key"
|
||||
|
||||
unlock() {
|
||||
# Restore the host key.
|
||||
[ -f $host_key_bk ] && ln -sf $host_key_bk $host_key
|
||||
|
||||
# Enable telnet, ssh, uart and boot_wait.
|
||||
[ "$(nvram get telnet_en)" = 0 ] && nvram set telnet_en=1 && nvram commit
|
||||
[ "$(nvram get ssh_en)" = 0 ] && nvram set ssh_en=1 && nvram commit
|
||||
[ "$(nvram get uart_en)" = 0 ] && nvram set uart_en=1 && nvram commit
|
||||
[ "$(nvram get boot_wait)" = "off" ] && nvram set boot_wait=on && nvram commit
|
||||
|
||||
[ "$(uci -c /usr/share/xiaoqiang get xiaoqiang_version.version.CHANNEL)" != 'stable' ] && {
|
||||
uci -c /usr/share/xiaoqiang set xiaoqiang_version.version.CHANNEL='stable'
|
||||
uci -c /usr/share/xiaoqiang commit xiaoqiang_version.version 2>/dev/null
|
||||
}
|
||||
|
||||
channel=$(/sbin/uci get /usr/share/xiaoqiang/xiaoqiang_version.version.CHANNEL)
|
||||
if [ "$channel" = "release" ]; then
|
||||
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
|
||||
fi
|
||||
|
||||
if [ -z "$(pidof dropbear)" -o -z "$(netstat -ntul | grep :22)" ]; then
|
||||
/etc/init.d/dropbear restart 2>/dev/null
|
||||
/etc/init.d/dropbear enable
|
||||
fi
|
||||
}
|
||||
|
||||
install() {
|
||||
# unlock SSH.
|
||||
unlock
|
||||
|
||||
# host key is empty, restart dropbear to generate the host key.
|
||||
[ -s $host_key ] || /etc/init.d/dropbear restart 2>/dev/null
|
||||
|
||||
# Backup the host key.
|
||||
if [ ! -s $host_key_bk ]; then
|
||||
i=0
|
||||
while [ $i -le 30 ]; do
|
||||
if [ -s $host_key ]; then
|
||||
cp -f $host_key $host_key_bk 2>/dev/null
|
||||
break
|
||||
fi
|
||||
let i++
|
||||
sleep 1s
|
||||
done
|
||||
fi
|
||||
|
||||
# Add script to system autostart
|
||||
uci set firewall.auto_ssh=include
|
||||
uci set firewall.auto_ssh.type='script'
|
||||
uci set firewall.auto_ssh.path="${auto_ssh_dir}/auto_ssh.sh"
|
||||
uci set firewall.auto_ssh.enabled='1'
|
||||
uci commit firewall
|
||||
echo -e "\033[32m SSH unlock complete. \033[0m"
|
||||
}
|
||||
|
||||
uninstall() {
|
||||
# Remove scripts from system autostart
|
||||
uci delete firewall.auto_ssh
|
||||
uci commit firewall
|
||||
echo -e "\033[33m SSH unlock has been removed. \033[0m"
|
||||
}
|
||||
|
||||
main() {
|
||||
[ -z "$1" ] && unlock && return
|
||||
case "$1" in
|
||||
install)
|
||||
install
|
||||
;;
|
||||
uninstall)
|
||||
uninstall
|
||||
;;
|
||||
*)
|
||||
echo -e "\033[31m Unknown parameter: $1 \033[0m"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
main "$@"
|
Loading…
x
Reference in New Issue
Block a user