mirror of
https://github.com/monlor/MIXBOX-ARCHIVE.git
synced 2026-03-10 23:41:27 +00:00
moxbox init
This commit is contained in:
9
apps/dropbear/config/banner
Normal file
9
apps/dropbear/config/banner
Normal file
@@ -0,0 +1,9 @@
|
||||
-----------------------------------------------------
|
||||
Welcome to MIXBOX!
|
||||
-----------------------------------------------------
|
||||
__ ______ __ ________ __ ____ ____ _ __
|
||||
/ / / / _/ / |/ / _/ |/ // __ )/ __ \ |/ /
|
||||
/ /_/ // / / /|_/ // / | // __ / / / / /
|
||||
/ __ // / / / / // / / |/ /_/ / /_/ / |
|
||||
/_/ /_/___/ /_/ /_/___//_/|_/_____/\____/_/|_|
|
||||
|
||||
8
apps/dropbear/config/dropbear.uci
Normal file
8
apps/dropbear/config/dropbear.uci
Normal file
@@ -0,0 +1,8 @@
|
||||
service="DropBear"
|
||||
appname="dropbear"
|
||||
needver="0.0.1"
|
||||
backupfiles="bin/dropbear,config/dropbear_dss_host_key,config/dropbear_rsa_host_key"
|
||||
supports="linux_arm,linux_mips"
|
||||
appinfo="移植小米的SSH功能到工具箱"
|
||||
newinfo="添加备份功能支持"
|
||||
version="0.0.2"
|
||||
26
apps/dropbear/config/mixbox.conf
Normal file
26
apps/dropbear/config/mixbox.conf
Normal file
@@ -0,0 +1,26 @@
|
||||
#------------------【DropBear】--------------------
|
||||
dropbear() {
|
||||
|
||||
eval `mbdb export dropbear`
|
||||
source "$(mbdb get mixbox.main.path)"/bin/base
|
||||
echo "********* $service ***********"
|
||||
echo "[${appinfo}]"
|
||||
echo "[仅支持小米路由器!]"
|
||||
readsh "启动${appname}服务[1/0] " "enable" "1"
|
||||
|
||||
if [ "$enable" == '1' ]; then
|
||||
# Scripts Here
|
||||
readsh "请输入${appname}端口号" "port" "1022"
|
||||
read -p "【慎重】是否启动时修改root用户密码[1/0]? " modify_passwd
|
||||
checkread $modify_passwd && mbdb set $appname.main.modify_passwd="$modify_passwd"
|
||||
if [ "$modify_passwd" = '1' ]; then
|
||||
readsh "请输入系统root用户密码" "rootpasswd"
|
||||
fi
|
||||
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
|
||||
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
|
||||
elif [ "$enable" = '0' ]; then
|
||||
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
|
||||
fi
|
||||
|
||||
}
|
||||
#------------------【DropBear】--------------------
|
||||
84
apps/dropbear/scripts/dropbear.sh
Normal file
84
apps/dropbear/scripts/dropbear.sh
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/bin/sh
|
||||
source "$(mbdb get mixbox.main.path)"/bin/base
|
||||
eval `mbdb export dropbear`
|
||||
|
||||
[ -z "${port}" ] && port=1022
|
||||
|
||||
get_config() {
|
||||
|
||||
logsh "【$service】" "检查${appname}配置文件中..."
|
||||
[ ! -f ${mbroot}/apps/${appname}/config/dropbear_rsa_host_key -a ! -f /etc/dropbear/dropbear_rsa_host_key ] && logsh "【$service】" "缺失证书文件无法启动!" && exit 1
|
||||
[ ! -f ${mbroot}/apps/${appname}/config/dropbear_dss_host_key -a ! -f /etc/dropbear/dropbear_dss_host_key ] && logsh "【$service】" "缺失证书文件无法启动!" && exit 1
|
||||
[ ! -f ${mbroot}/apps/${appname}/bin/${appname} ] && cp -rf /usr/sbin/dropbear ${mbroot}/apps/${appname}/bin/${appname}
|
||||
# [ ! -f ${mbroot}/apps/${appname}/bin/dropbearkey ] && cp -rf /usr/bin/dropbearkey ${mbroot}/apps/${appname}/bin/dropbearkey
|
||||
[ ! -f ${mbroot}/apps/${appname}/config/dropbear_rsa_host_key ] && cp -rf /etc/dropbear/dropbear_rsa_host_key ${mbroot}/apps/${appname}/config/dropbear_rsa_host_key
|
||||
[ ! -f ${mbroot}/apps/${appname}/config/dropbear_dss_host_key ] && cp -rf /etc/dropbear/dropbear_dss_host_key ${mbroot}/apps/${appname}/config/dropbear_dss_host_key
|
||||
|
||||
}
|
||||
|
||||
start() {
|
||||
|
||||
logsh "【$service】" "正在启动${appname}服务... "
|
||||
# cru a "${appname}" "0 6 * * * ${mbroot}/apps/${appname}/scripts/${appname}.sh restart"
|
||||
# Scripts Here
|
||||
logsh "【$service】" "服务启动端口号为:${port}"
|
||||
get_config
|
||||
if [ "$modify_passwd" = '1' -a -n "$rootpasswd" ]; then
|
||||
logsh "【$service】" "系统root用户密码将修改为:$rootpasswd"
|
||||
echo -e "${rootpasswd}\n${rootpasswd}" | passwd root
|
||||
fi
|
||||
open_port
|
||||
write_firewall_start
|
||||
${mbroot}/apps/${appname}/bin/${appname} -p ${port} -d ${mbroot}/apps/${appname}/config/dropbear_dss_host_key -r ${mbroot}/apps/${appname}/config/dropbear_rsa_host_key -b ${mbroot}/apps/${appname}/config/banner
|
||||
logsh "【$service】" "启动${appname}服务完成!"
|
||||
sleep 1
|
||||
kill -9 "$(pssh | grep ${mbroot}/apps/${appname}/bin/${appname} | grep -Ev "[ ]+${port}[ ]+" | awk '{print$1}' | tr '\n' ' ')" && sleep 1
|
||||
|
||||
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
||||
logsh "【$service】" "正在停止${appname}服务... "
|
||||
[ "$enable" == '0' ] && destroy
|
||||
close_port
|
||||
remove_firewall_start
|
||||
|
||||
}
|
||||
|
||||
destroy() {
|
||||
|
||||
# End app, Scripts here
|
||||
# cru d "${appname}"
|
||||
logsh "【$service】" "如果终止${appname}将会在重启后生效!"
|
||||
# kill -9 "$(pssh | grep ${mbroot}/apps/${appname}/bin/${appname} | awk '{print$1}' | tr '\n' ' ')" && sleep 1
|
||||
return
|
||||
|
||||
}
|
||||
|
||||
end() {
|
||||
|
||||
mbdb set $appname.main.enable=0
|
||||
stop && exit 1
|
||||
|
||||
}
|
||||
|
||||
status() {
|
||||
|
||||
if [ -n "$(pssh | grep ${mbroot}/apps/${appname}/bin/${appname})" ]; then
|
||||
status="运行端口号:${port}|1"
|
||||
else
|
||||
status="未运行|0"
|
||||
fi
|
||||
mbdb set ${appname}.main.status="$status"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start) start ;;
|
||||
stop) stop ;;
|
||||
restart) stop; start; ;;
|
||||
reload) close_port && open_port ;;
|
||||
status) status ;;
|
||||
esac
|
||||
|
||||
|
||||
Reference in New Issue
Block a user