2018-12-31

This commit is contained in:
monlor
2018-12-31 23:47:47 +08:00
commit 3ae56f5e6e
1091 changed files with 173538 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
service="FireWall"
appname="firewall"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64"
openport=1
appinfo="防火墙端口开放插件"
newinfo="支持添加多种端口号类型"
version="0.0.2"

View File

@@ -0,0 +1,52 @@
#------------------【FireWall】--------------------
firewall() {
eval `mbdb export firewall`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
echo "已开放端口(工具箱插件默认已开通端口): "
allport=$(mbdb show $appname.openport)
[ -z "$allport" ] && echo "没有开通端口!" || echo "$allport"
read -p "是否要更改${appname}配置?[1/0] " res
if [ "$res" == '1' ]; then
read -p "添加${appname}配置?[1/0] " res
if [ "$res" == '1' ]; then
while(true)
do
read -p "请输入配置名称: " name
read -p "请输入开通端口(列入70或70,80,10或100:110): " port
if [ ! -z "$name" -a ! -z "${port}" ]; then
mbdb set $appname.openport.$name="${port}"
else
echo "配置为空,未添加!"
fi
read -p "继续添加配置?[1/0] " res
[ "$res" == '0' -o -z "$res" ] && break
done
fi
read -p "删除${appname}配置?[1/0] " res
if [ "$res" == '1' ]; then
read -p "清空配置再添加?[1/0] " res
[ "$res" == '1' ] && mbdb clear $appname.openport
echo "`mbdb keys $appname.openport`"
while(true)
do
read -p "请输入要删除的配置名: " res
[ ! -z "$res" ] && mbdb del $appname.openport.$res
read -p "继续删除配置?[1/0] " res
[ "$res" == '0' -o -z "$res" ] && break
done
fi
fi
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【FireWall】--------------------

View File

@@ -0,0 +1 @@
1.1.0

View File

@@ -0,0 +1,67 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export firewall`
# port=1688
open_ports() {
logsh "$service" "加载${appname}配置"
[ -z "`mbdb keys $appname.openport`" ] && logsh "$service" "未添加${appname}配置!" && exit
mbdb keys $appname.openport | while read line
do
name="${line}"
port=$(mbdb get $appname.openport.$name)
[ -z "$name" -o -z "${port}" ] && return 1
logsh "$service" "开放$name的端口号: ${port}"
open_port ${port}
done
return 0
}
start () {
result=$(ps | grep ${mbroot}/apps/${appname}/bin/${appname} | grep -v grep | wc -l)
if [ "$result" != '0' ];then
logsh "$service" "${appname}已经在运行!"
exit 1
fi
logsh "$service" "正在启动${appname}服务... "
open_ports
write_firewall_start
status
logsh "$service" "启动${appname}服务完成!"
}
stop () {
logsh "$service" "正在停止${appname}服务... "
close_port
remove_firewall_start
}
status() {
result1=$(iptables -S | grep -c "mixbox-${appname}")
if [ "$result1" != '0' ]; then
status="运行中|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_ports ;;
status) status ;;
esac