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:
38
tools/deploy.sh
Normal file
38
tools/deploy.sh
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
GIT_BRANCH="$1"
|
||||
|
||||
GIT_REF="$2"
|
||||
|
||||
rm -rf mbfiles_git/
|
||||
|
||||
git clone "${GIT_REF}" mbfiles_git
|
||||
|
||||
cd mbfiles_git
|
||||
|
||||
git branch | grep -q "* ${GIT_BRANCH}" || git checkout -b "${GIT_BRANCH}"
|
||||
|
||||
cp -rf ../mbfiles/* .
|
||||
|
||||
git config --local user.email "monlor@qq.com"
|
||||
git config --local user.name "monlor"
|
||||
|
||||
|
||||
git lfs install
|
||||
|
||||
git lfs track "*_darwin_*"
|
||||
|
||||
git lfs track "*_linux_*"
|
||||
|
||||
git lfs track "*.png"
|
||||
|
||||
git config lfs.${CO_REF}/info/lfs.locksverify true
|
||||
|
||||
git config lfs.allowincompletepush true
|
||||
|
||||
git add .
|
||||
git commit -m "$(TZ='Asia/Shanghai' date "+%Y-%m-%d %H:%M:%S")" -a
|
||||
|
||||
git push "${CO_REF}" "${GIT_BRANCH}":"${GIT_BRANCH}" -f
|
||||
|
||||
rm -rf mbfiles_git/
|
||||
168
tools/gitsync.sh
Executable file
168
tools/gitsync.sh
Executable file
@@ -0,0 +1,168 @@
|
||||
#!/bin/bash -e
|
||||
path=./
|
||||
cd $path
|
||||
[ $? -ne 0 ] && echo "Change directory failed!" && exit
|
||||
#find . -name '._*' -type f -print -exec rm -rf {} \;
|
||||
find . -name '.DS_Store' | xargs rm -rf
|
||||
find . -name '._*' | xargs rm -rf
|
||||
[ "$(uname -s)" = "Darwin" ] && args="\"\"" || args=""
|
||||
|
||||
github_url="https://github.com/monlor/MIXBOX.git"
|
||||
github_raw="https://raw.githubusercontent.com/MIXBOX/master"
|
||||
coding_url="git@e.coding.net:monlor/MIXBOX.git"
|
||||
coding_raw="https://monlor.coding.net/p/MIXBOX/d/MIXBOX/git/raw/master"
|
||||
|
||||
sedsh() {
|
||||
[ -z "$1" -o -z "$2" -o -z "$3" ] && echo "null sedsh params!" && exit 1
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
if [ "$1" = "s" ]; then
|
||||
sed -i "" "s#$2#$3#g" "$4"
|
||||
elif [[ "$1" = "d" ]]; then
|
||||
sed -i "" "/$2/d" "$3"
|
||||
fi
|
||||
else
|
||||
if [[ "$1" = "s" ]]; then
|
||||
sed -i "s#$2#$3#g" "$4"
|
||||
elif [[ "$1" = "d" ]]; then
|
||||
sed -i "/$2/d" "$3"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
version() {
|
||||
local appname="$1"
|
||||
eval `cat apps/${appname}/config/${appname}.uci | grep version`
|
||||
[ -z "$version" ] && echo "版本号读取失败!" && exit 1
|
||||
# sed -i $args '/version/d' apps/${appname}/config/${appname}.uci
|
||||
sedsh "d" "version" "apps/${appname}/config/${appname}.uci"
|
||||
num1=$(echo "$version" | cut -d'.' -f1)
|
||||
num2=$(echo "$version" | cut -d'.' -f2)
|
||||
num3=$(echo "$version" | cut -d'.' -f3)
|
||||
if [ "$num3" -eq '9' ]; then
|
||||
if [[ "$num2" -eq '9' ]]; then
|
||||
let num1=$num1+1
|
||||
num2=0
|
||||
num3=0
|
||||
else
|
||||
let num2=$num2+1
|
||||
num3=0
|
||||
fi
|
||||
else
|
||||
let num3=$num3+1
|
||||
fi
|
||||
echo "version=\"$num1.$num2.$num3\"" >> apps/${appname}/config/${appname}.uci
|
||||
}
|
||||
|
||||
pack_app() {
|
||||
local appname=$1
|
||||
rm -rf pack/
|
||||
mkdir pack/
|
||||
[ ! -d apps/$appname ] && echo "未找到插件[$appname]..." && return 1
|
||||
eval `cat apps/$appname/config/$appname.uci | grep supports`
|
||||
echo $supports | tr ',' '\n' | while read model; do
|
||||
cp -rf apps/$appname/ pack/$appname/
|
||||
[ ! -d pack/$appname/bin ] && mkdir pack/$appname/bin
|
||||
rm -rf pack/$appname/bin/*
|
||||
ls apps/$appname/bin 2> /dev/null | grep -E "${model}|^[a-z]{1,}[^_]$" | while read line; do
|
||||
cp -rf apps/$appname/bin/$line pack/$appname/bin/${line/_${model}/}
|
||||
done
|
||||
echo "正在打包插件[$appname]平台[$model],文件名[${appname}_${model}.tar.gz]..."
|
||||
tar zcvf ${appname}_${model}.tar.gz -C pack/ ${appname}/ &> /dev/null
|
||||
# [ ! -d ./appstore/history ] && mkdir ./appstore/history
|
||||
# mv ./appstore/${appname}_${model}.tar.gz ./appstore/history &> /dev/null
|
||||
mv -f ${appname}_${model}.tar.gz ./appstore
|
||||
rm -rf pack/$appname/
|
||||
done
|
||||
rm -rf pack/
|
||||
}
|
||||
|
||||
gerneral_applist() {
|
||||
rm -rf applist.txt
|
||||
ls apps/ | while read line
|
||||
do
|
||||
eval `cat apps/${line}/config/${line}.uci`
|
||||
echo "$appname|$appinfo|$newinfo|$version|$service|$supports" >> applist.txt
|
||||
done
|
||||
}
|
||||
|
||||
pack() {
|
||||
|
||||
case "$1" in
|
||||
all )
|
||||
ls apps/ | while read line; do
|
||||
[ "$2" = "-v" ] && version ${line}
|
||||
pack_app $line
|
||||
done
|
||||
;;
|
||||
* )
|
||||
[ -z "$1" ] && echo "未输入插件名!" && exit
|
||||
[ "$2" = "-v" ] && version $1
|
||||
pack_app $1
|
||||
;;
|
||||
esac
|
||||
gerneral_applist
|
||||
|
||||
}
|
||||
|
||||
localgit() {
|
||||
git add .
|
||||
git commit -m "`date "+%Y-%m-%d %H:%M:%S"`"
|
||||
}
|
||||
|
||||
github() {
|
||||
|
||||
# sed -i $args "s#^mburl.*#mburl=\"$github_raw\"#" ./install.sh
|
||||
# sedsh "s" "^mburl.*" "mburl=\"$github_raw\"" "./install.sh"
|
||||
# git remote rm origin
|
||||
# git remote add origin $github_url
|
||||
git push $github_url $1:$1
|
||||
}
|
||||
|
||||
coding() {
|
||||
|
||||
# sed -i $args "s#^mburl.*#mburl=\"$coding_raw\"#" ./install.sh
|
||||
# sedsh "s" "^mburl.*" "mburl=\"$coding_raw\"" "./install.sh"
|
||||
git remote rm origin
|
||||
git remote add origin $coding_url
|
||||
git push origin $1
|
||||
|
||||
}
|
||||
|
||||
reset() {
|
||||
|
||||
git checkout --orphan latest_branch
|
||||
git add -A
|
||||
git commit -am "`date +%Y-%m-%d`"
|
||||
git branch -D master
|
||||
git branch -m master
|
||||
|
||||
# git push -f origin master
|
||||
# github
|
||||
# coding
|
||||
git rm -r --cached .
|
||||
}
|
||||
|
||||
case $1 in
|
||||
github)
|
||||
github master
|
||||
;;
|
||||
# coding)
|
||||
# localgit
|
||||
# coding master
|
||||
# ;;
|
||||
localgit)
|
||||
localgit
|
||||
;;
|
||||
push)
|
||||
git status && localgit
|
||||
github $2
|
||||
# coding $1
|
||||
;;
|
||||
pack)
|
||||
shift 1
|
||||
pack $@
|
||||
;;
|
||||
reset)
|
||||
reset master
|
||||
;;
|
||||
esac
|
||||
118
tools/newapp.sh
Executable file
118
tools/newapp.sh
Executable file
@@ -0,0 +1,118 @@
|
||||
#!/bin/sh
|
||||
# 快速生成新app
|
||||
dir=./apps
|
||||
appname="$1"
|
||||
service="$2"
|
||||
appinfo="$3"
|
||||
needver=""
|
||||
[ -z "${appname}" -o -z "$service" -o -z "${appinfo}" ] && echo "信息为空(插件名,服务名,介绍)!" && exit
|
||||
[ -d $dir/${appname} ] && echo "插件已存在!" && exit
|
||||
cd $dir || (mkdir -p $dir && cd $dir)
|
||||
mkdir -p ${appname}
|
||||
mkdir -p ${appname}/bin
|
||||
mkdir -p ${appname}/config
|
||||
mkdir -p ${appname}/scripts
|
||||
echo "生成插件uci配置文件..."
|
||||
cat > ${appname}/config/${appname}.uci <<-EOF
|
||||
service="$service"
|
||||
appname="${appname}"
|
||||
needver="0.0.1"
|
||||
backupfiles=""
|
||||
supports="linux_arm,linux_mips,linux_x86_64,darwin_linux_x86_64"
|
||||
appinfo="${appinfo}"
|
||||
newinfo=""
|
||||
EOF
|
||||
echo "生成工具箱配置文件..."
|
||||
cat > ${appname}/config/mixbox.conf <<EOF
|
||||
#------------------【$2】--------------------
|
||||
${appname}() {
|
||||
|
||||
eval \`mbdb export ${appname}\`
|
||||
source "\$(mbdb get mixbox.main.path)"/bin/base
|
||||
echo "********* \$service ***********"
|
||||
echo "[\${appinfo}]"
|
||||
readsh "启动\${appname}服务[1/0] " "enable" "1"
|
||||
if [ "\$enable" == '1' ]; then
|
||||
# Scripts Here
|
||||
|
||||
# readsh "请输入\${appname}外网访问配置[1/0]" "openport" "0"
|
||||
readsh "重启\${appname}服务[1/0] " "res" "1"
|
||||
[ "\$res" = '1' -o -z "\$res" ] && \${mbroot}/apps/\${appname}/scripts/\${appname}.sh restart
|
||||
else
|
||||
\${mbroot}/apps/\${appname}/scripts/\${appname}.sh stop
|
||||
fi
|
||||
|
||||
}
|
||||
#------------------【$2】--------------------
|
||||
EOF
|
||||
echo "生成插件运行脚本..."
|
||||
cat > ${appname}/scripts/${appname}.sh <<-EOF
|
||||
#!/bin/sh
|
||||
#copyright by monlor
|
||||
eval \`mbdb export ${appname}\`
|
||||
source "\$(mbdb get mixbox.main.path)"/bin/base
|
||||
port=""
|
||||
|
||||
start() {
|
||||
|
||||
[ -n "\$(pidof \${appname})" ] && logsh "【\$service】" "\${appname}已经在运行!" && exit 1
|
||||
logsh "【\$service】" "正在启动\${appname}服务... "
|
||||
# cru a "\${appname}" "0 6 * * * \${mbroot}/apps/\${appname}/scripts/\${appname}.sh restart"
|
||||
# Scripts Here
|
||||
|
||||
# open_port
|
||||
# write_firewall_start
|
||||
daemon \${mbroot}/apps/\${appname}/bin/\${appname}
|
||||
if [ \$? -ne 0 ]; then
|
||||
logsh "【\$service】" "启动\${appname}服务失败!" && end
|
||||
else
|
||||
logsh "【\$service】" "启动\${appname}服务完成!"
|
||||
# logsh "【\$service】" "请在浏览器打开地址:http://\$lanip:\$port"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
||||
logsh "【\$service】" "正在停止\${appname}服务... "
|
||||
[ "\$enable" == '0' ] && destroy
|
||||
# close_port
|
||||
# remove_firewall_start
|
||||
killall -9 \${appname} &> /dev/null
|
||||
|
||||
}
|
||||
|
||||
destroy() {
|
||||
|
||||
# End app, Scripts here
|
||||
# cru d "\${appname}"
|
||||
return
|
||||
|
||||
}
|
||||
|
||||
end() {
|
||||
|
||||
mbdb set \${appname}.main.enable=0
|
||||
stop && exit 1
|
||||
|
||||
}
|
||||
|
||||
status() {
|
||||
|
||||
if [ -n "\$(pidof \${appname})" ]; 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_port ;;
|
||||
status) status ;;
|
||||
esac
|
||||
|
||||
EOF
|
||||
Reference in New Issue
Block a user