moxbox init

This commit is contained in:
monlor
2020-03-05 00:08:40 +08:00
commit 76dbe98978
856 changed files with 170708 additions and 0 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
service="AliDDNS"
appname="aliddns"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
appinfo="动态将你的路由器IP绑定到域名"
newinfo=""
version="0.0.2"
+28
View File
@@ -0,0 +1,28 @@
#------------------【AliDDNS】--------------------
aliddns() {
eval `mbdb export aliddns`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
# Scripts Here
read -p "修改${appname}配置?[1/0] " res
if [ "$res" = '1' ]; then
readsh "请输入${appname}访问ID" "app_key"
readsh "请输入${appname}访问密钥" "app_secret"
readsh "请输入${appname}域名[例如@.mixbox.com或www.mixbox.com]" "domain"
readsh "请输入${appname}检查分钟间隔(建议10)" "time" "10"
fi
# read -p "更新DNS前先清除旧的DNS记录(默认不清除)[1/0] " res
# mbdb set $appname.main.clean="$res"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【AliDDNS】--------------------
+1
View File
@@ -0,0 +1 @@
1.0.5
+68
View File
@@ -0,0 +1,68 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export aliddns`
start() {
# [ -n "$(pidof ${appname})" ] && logsh "【$service】" "${appname}已经在运行!" && exit 1
logsh "$service" "正在启动${appname}服务... "
# Scripts Here
# open_port
# write_firewall_start
[ -z "$app_key" -o -z "$app_secret" -o -z "$domain" ] && logsh "$service" "访问ID或密钥或域名为空!" && exit 1
[ -z "$time" ] && time=10
cru a "${appname}" "*/$time * * * * ${mbroot}/apps/${appname}/scripts/${appname}.sh restart"
daemon ${mbroot}/apps/${appname}/bin/${appname} --id "$app_key" --secret "$app_secret" auto-update --domain "$domain"
if [ $? -ne 0 ]; then
logsh "$service" "启动${appname}服务失败!"
else
logsh "$service" "启动${appname}服务完成!"
fi
}
stop() {
logsh "$service" "正在停止${appname}服务... "
[ "$enable" == '0' ] && destroy
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 "$(cru l | grep ${appname})" ]; then
status="更新域名:$domain|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
Binary file not shown.
Binary file not shown.
Binary file not shown.
+63
View File
@@ -0,0 +1,63 @@
#用户名
#rpc-user=user
#密码
#rpc-passwd=passwd
#设置加密的密钥
#rpc-secret=secret
#允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#是否启用https加密,启用之后要设置公钥,私钥的文件路径
#rpc-secure=true
#启用加密设置公钥
#rpc-certificate=/home/name/.config/aria2/example.crt
#启用加密设置私钥
#rpc-private-key=/home/name/.config/aria2/example.key
#允许外部访问,false的话只监听本地端口
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
rpc-listen-port=6800
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=5
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=5
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=10
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
max-overall-upload-limit=0
#单文件速度限制
max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
#文件保存路径, 默认为当前启动位置
dir=/extdisks/sda1/下载
#IPv4 DHT routing table file to PATH(IPV6默认没有打开的)
#dht-file-path=/extdisks/sda1/下载/.aria2/dht.dat
#dht-file-path6=/extdisks/sda1/下载/.aria2/dht6.dat
#bt-tracker
#bt-tracker=
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc
#不进行证书校验
check-certificate=false
#保存aria2下载记录
input-file=/etc/aria2.session
save-session=/etc/aria2.session
save-session-interval=60
log-level=warn
+7
View File
@@ -0,0 +1,7 @@
service="Aria2"
appname="aria2"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64"
appinfo="Linux下一款高效的下载工具"
newinfo="支持x86_64设备"
version="0.0.5"
+33
View File
@@ -0,0 +1,33 @@
#------------------【Aria2】--------------------
aria2() {
eval `mbdb export aria2`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[Linux下一款高效的下载工具]"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
read -p "修改${appname}端口号(`mbdb get ${appname}.main.port || echo 6800`)[1/0] " res
if [ "$res" == '1' ]; then
read -p "请输入${appname}端口号(默认6800)" res
mbdb set $appname.main.port="$res"
fi
token=$(mbdb get ${appname}.main.token)
path=$(mbdb get ${appname}.main.path)
[ -z $token ] && token="空"
[ -z $path ] && path="$mbdisk/下载"
read -p "修改${appname}配置($token, $path)[1/0] " res
if [ "$res" == '1' ]; then
read -p "请输入${appname}密钥(回车表示不设置)" res
[ ! -z "$res" ] && mbdb set $appname.main.token="$res" || mbdb set $appname.main.token=""
read -p "请输入${appname}下载路径(回车默认$mbdisk/下载)" res
[ ! -z "$res" ] && mbdb set $appname.main.path="$res" || mbdb set $appname.main.path="$mbdisk/下载"
fi
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【Aria2】--------------------
Binary file not shown.
Binary file not shown.
Binary file not shown.
+129
View File
@@ -0,0 +1,129 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export aria2`
port=6800
WEBDIR=${mbroot}/apps/${appname}/web
[ -z "${port}" ] && port=6800
[ -z "$path" ] && path="$mbdisk/下载"
aria2url=http://$lanip/backup/log/${appname}
binname=aria2c
open_ports() {
# 添加bt下载和DHT监听端口
open_port 6881:6999 tcp
}
set_config() {
logsh "$service" "加载${appname}配置..."
[ ! -f /etc/aria2.session ] && touch /etc/aria2.session
[ ! -z "${port}" ] && sed -i "s/^.*rpc-listen-port.*$/rpc-listen-port=${port}/" ${mbroot}/apps/${appname}/config/${appname}.conf
if [ ! -z "$token" ]; then
sed -i "s/^.*rpc-secret.*$/rpc-secret=$token/" ${mbroot}/apps/${appname}/config/${appname}.conf
else
sed -i "s/^.*rpc-secret.*$/#rpc-secret=/" ${mbroot}/apps/${appname}/config/${appname}.conf
fi
sed -i "s#dir.*#dir=$path#" ${mbroot}/apps/${appname}/config/${appname}.conf
[ ! -d "$path" ] && mkdir -p $path
# DHT 缓存目录配置
if [ ! -d "${path}/.aria2" ]; then
mkdir -p "${path}/.aria2"
# IPV6默认没有开,可以不用配置
sed -i "s#.*dht-file-path.*#dht-file-path=${path}/.aria2/dht.dat#" ${mbroot}/apps/${appname}/config/${appname}.conf
sed -i "s#.*dht-file-path6.*#dht-file-path6=${path}/.aria2/dht6.dat#" ${mbroot}/apps/${appname}/config/${appname}.conf
fi
# 自动更新bt-tracker
list=`curl -s https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt|awk NF|sed ":a;N;s/\n/,/g;ta"`
if [ ! -z "${list}" ]; then
sed -i "s#.*bt-tracker.*#bt-tracker=${list}#" ${mbroot}/apps/${appname}/config/${appname}.conf
logsh "$service" "更新bt-tracker"
fi
#R3加载库文件
[ "$xq" == "R3" -o "$xq" == "R1CM" ] && export LD_LIBRARY_PATH=${mbroot}/apps/${appname}/lib:/usr/lib:/lib
if [ ! -d /tmp/syslogbackup/${appname} ] && [ -n "$xq" ]; then
logsh "$service" "生成${appname}本地web页面"
mkdir -p /tmp/syslogbackup &> /dev/null
ln -s $WEBDIR/AriaNG /tmp/syslogbackup/${appname} > /dev/null 2>&1
fi
#添加定时重启任务
cru a ${appname} "0 6 * * * ${mbroot}/apps/${appname}/scripts/${appname}.sh restart"
}
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}服务... "
set_config
open_port
write_firewall_start
if [ ! -f ${mbroot}/apps/${appname}/bin/${appname} ]; then
bincheck ${binname}
[ $? -eq 0 ] && ln -sf $(which $binname) ${mbroot}/apps/${appname}/bin/${appname}
fi
daemon ${mbroot}/apps/${appname}/bin/${appname} --conf-path=${mbroot}/apps/${appname}/config/${appname}.conf -D -l ${mbroot}/var/log/${appname}.log
if [ $? -ne 0 ]; then
logsh "$service" "启动${appname}服务失败!"
else
logsh "$service" "启动${appname}服务完成!"
logsh "$service" "访问[$aria2url]管理服务"
[ -z "$token" ] && tokentext="" || tokentext=token:"$token"@
logsh "$service" "jsonrpc地址:http://"$tokentext""$lanip":"${port}"/jsonrpc"
fi
}
stop () {
logsh "$service" "正在停止${appname}服务... "
close_port
remove_firewall_start
killall -9 ${appname} &> /dev/null
destroy
}
destroy() {
if [ "$enable" == '0' ]; then
[ -d /tmp/syslogbackup/${appname} ] && rm -rf /tmp/syslogbackup/${appname}
cru d ${appname}
fi
}
status() {
result=$(pssh | grep ${mbroot}/apps/${appname}/bin/${appname} | grep -v grep | wc -l)
if [ "$result" == '0' ]; then
status="未运行|0"
else
status="运行端口号: ${port}|1"
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
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
#copyright by monlor
source /etc/mixbox/bin/base
appname=aria2
[ "$xq" != "R3" -a "$xq" != "R1CM" ] && rm -rf ${mbtmp}/${appname}/lib
+576
View File
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8
View File
@@ -0,0 +1,8 @@
service="BaiduPCS"
appname="baidupcs"
needver="0.0.1"
backupfiles=""
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
appinfo="第三方百度网盘web客户端,基于Go语言"
newinfo="二进制更新至3.7.0"
version="0.0.6"
+20
View File
@@ -0,0 +1,20 @@
#------------------【BaiduPCS】--------------------
baidupcs() {
eval `mbdb export baidupcs`
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}端口号" "port" "5299"
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
}
#------------------【BaiduPCS】--------------------
+69
View File
@@ -0,0 +1,69 @@
#!/bin/sh
eval `mbdb export baidupcs`
source "$(mbdb get mixbox.main.path)"/bin/base
export BAIDUPCS_GO_CONFIG_DIR="${mbroot}/apps/${appname}/config"
port="5299"
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"
logsh "$service" "注意登陆成功后先设置下载路径,例如:$mbdisk/下载"
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
+9
View File
@@ -0,0 +1,9 @@
-----------------------------------------------------
Welcome to MIXBOX!
-----------------------------------------------------
__ ______ __ ________ __ ____ ____ _ __
/ / / / _/ / |/ / _/ |/ // __ )/ __ \ |/ /
/ /_/ // / / /|_/ // / | // __ / / / / /
/ __ // / / / / // / / |/ /_/ / /_/ / |
/_/ /_/___/ /_/ /_/___//_/|_/_____/\____/_/|_|
+8
View 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
View 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
View 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
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,7 @@
service="EasyExplorer"
appname="easyexplorer"
needver="0.0.1"
supports="linux_arm,linux_x86_64,darwin_x86_64"
appinfo="一款跨设备的P2P文件同步工具"
newinfo="修复程序无法运行的bug,更新二进制版本为最新版"
version="0.0.5"
+31
View File
@@ -0,0 +1,31 @@
#------------------【EasyExplorer】--------------------
easyexplorer() {
eval `mbdb export easyexplorer`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
read -p "修改${appname}文件共享目录(`mbdb get ${appname}.main.share_path || echo $mbdisk`)[1/0] " res
if [ "$res" == '1' ]; then
read -p "请输入${appname}文件共享目录(回车默认$mbdisk)" res
[ ! -z $res ] && mbdb set $appname.main.share_path="$res" || mbdb set $appname.main.share_path="$mbdisk"
fi
echo "请在https://www.ddnsto.com/注册获取秘钥(token)"
[ -z $token ] && token="空"
read -p "修改${appname}秘钥($token)[1/0] " res
if [ "$res" == '1' ]; then
read -p "请输入${appname}秘钥:" res
mbdb set $appname.main.token="$res"
fi
readsh "请输入${appname}运行端口号" "port" "8890"
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【EasyExplorer】--------------------
+74
View File
@@ -0,0 +1,74 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export easyexplorer`
path=$(mbdb get ${appname}.main.share_path) || path="$mbdisk"
port=$(mbdb get ${appname}.main.port) || port=8890
set_config() {
[ ! -d "$path" ] && mkdir -p $path
token=$(mbdb get ${appname}.main.token)
[ -z "$token" ] && logsh "$service" "未配置${appname}的密钥" && exit
}
start () {
if [ "$model" != "arm" ]; then
logsh "$service" "${appname}服务仅支持arm路由器,准备卸载"
${mbroot}/scripts/appmanage.sh del ${appname}
exit
fi
result=$(ps | grep ${mbroot}/apps/${appname}/bin | grep -v grep | wc -l)
if [ "$result" != '0' ];then
logsh "$service" "${appname}已经在运行!"
exit 1
fi
logsh "$service" "正在启动${appname}服务... "
set_config
# open_port
# write_firewall_start
daemon ${mbroot}/apps/${appname}/bin -fe 0.0.0.0:${port} -u $token -share $path -c ${mbtmp}
if [ $? -ne 0 ]; then
logsh "$service" "启动${appname}服务失败!"
else
logsh "$service" "启动${appname}服务完成!"
logsh "$service" "请在浏览器中访问[http://$lanip:${port}]"
fi
}
stop () {
logsh "$service" "正在停止${appname}服务... "
service_stop ${mbroot}/apps/${appname}/bin
killall -9 ${appname} &> /dev/null
}
status() {
result=$(pssh | grep ${mbroot}/apps/${appname}/bin | grep -v grep | wc -l)
if [ "$result" == '0' ]; then
status="未运行|0"
else
status="运行端口号:${port},共享目录: $path|1"
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
+7
View File
@@ -0,0 +1,7 @@
service=Entware
appname="entware"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64"
newinfo="修复了ONMP无法使用的问题"
appinfo="一款开源且强大的包管理工具,许多功能都通过它来实现"
version="0.0.4"
+21
View File
@@ -0,0 +1,21 @@
#------------------【Entware】--------------------
entware() {
eval `mbdb export entware`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
readsh "请输入${appname}安装路径" "path" "$mbdisk/.Entware"
echo "安装ONMP后,请勿安装工具箱插件HttpFile和KodExplorer"
read -p "启动ONMP安装程序?[1/0] " res
[ "$res" == '1' ] && mbdb set $appname.main.onmp="1" || mbdb set $appname.main.onmp="0"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【Entware】--------------------
+161
View File
@@ -0,0 +1,161 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export entware`
# port=
BIN=/opt/etc/init.d/rc.unslung
[ -z "$path" ] && path="$mbdisk/.Entware"
# set_env() {
# echo "alias opkg=/opt/bin/opkg" >> ${mbroot}/config/profile
# logsh "【$service】" "已修改opkg配置,请运行source /etc/profile生效!"
# }
# clear_env() {
# sed -i '/alias opkg/d' ${mbroot}/config/profile
# }
init() {
logsh "$service" "初始化${appname}服务..."
if [ -z "$path" ]; then
logsh "$service" "未配置安装路径!"
exit
fi
[ ! -d /opt/bin ] && mount -o blind "$path" /opt > /dev/null 2>&1
result1=$(echo ${profilepath} | grep -c /opt/sbin)
result2=$(echo ${libpath} | grep -c /opt/lib)
[ "$result1" == '0' ] && mbdb set mixbox.main.profilepath="${profilepath}:/opt/bin:/opt/sbin"
[ "$result2" == '0' ] && mbdb set mixbox.main.libpath="${libpath}:/opt/lib"
if [ ! -f $path/etc/init.d/rc.unslung ]; then
logsh "$service" "检测到第一次运行${appname}服务,正在安装..."
mkdir -p $path > /dev/null 2>&1
[ $? -ne 0 ] && logsh "【Tools】" "创建目录失败,检查你的路径是否正确!" && end
umount -lf /opt > /dev/null 2>&1
mount -o blind $path /opt
if [ "$model" = "linux_arm" ]; then
if [ "$(uname -r | cut -d'.' -f1)" -ge '3' ]; then
wget -O - http://bin.entware.net/armv7sf-k3.2/installer/generic.sh | sh
else
wget -O - http://bin.entware.net/armv7sf-k2.6/installer/generic.sh | sh
fi
elif [ "$model" = "linux_mips" ]; then
wget -O - http://bin.entware.net/mipselsf-k3.4/installer/generic.sh | sh
elif [ "$model" = "linux_x86_64" ]; then
wget -O - http://bin.entware.net/x64-k3.2/installer/generic.sh | sh
else
logsh "【Tools】" "不支持你的设备!"
end
fi
if [ $? -ne 0 ]; then
logsh "【Tools】" "${appname}】服务安装失败"
umount -lf /opt
rm -rf $path
exit 1
fi
/opt/bin/opkg update
/opt/bin/opkg install curl
source /etc/profile > /dev/null 2>&1
logsh "$service" "安装完成,请运行source /etc/profile使配置生效!"
logsh "$service" "如需安装ONMP,参考https://github.com/mixbox/ONMP"
fi
# echo >> ${mbroot}/config/profile
#if [ -z "$(cat ${mbroot}/config/profile | grep "alias opkg")" ]; then
# echo "alias opkg=/opt/bin/opkg" >> ${mbroot}/config/profile
# set_env
#fi
}
start () {
result=$(ps | grep "{${appname}}" | grep -v grep | wc -l)
if [ "$result" -gt '2' ];then
logsh "$service" "${appname}已经在运行!"
exit 1
fi
logsh "$service" "正在启动${appname}服务... "
init
# open_port
# write_firewall_start
# ${mbroot}/apps/${appname}/bin start >> /tmp/messages 2>&1
logsh "$service" "启动依赖${appname}的所有插件..."
mbdb keys ${appname}.app | while read line
do
[ "$(mbdb get ${appname}.app.${line})" != '1' ] && continue
mbdb set ${line}.main.enable=1
${mbroot}/apps/${line}/scripts/${line}.sh status
if [ "$(mbdb get mixbox.${line}.status | cut -d'|' -f2)" = '0' ]; then
${mbroot}/apps/${line}/scripts/${line}.sh restart
fi
done
logsh "$service" "${appname}服务启动完成"
[ "$onmp" == '1' ] && sh -c "$(curl -kfsSl https://raw.githubusercontent.com/monlor/ONMP/master/oneclick.sh)"
}
stop () {
logsh "$service" "正在停止${appname}服务... "
[ "$enable" == '0' ] && destroy
# ${mbroot}/apps/${appname}/bin stop >> /tmp/messages 2>&1
[ -d /opt/bin ] && umountsh /opt
# ps | grep ${mbroot}/apps/${appname}/bin | grep -v grep | awk '{print$1}' | xargs kill -9 > /dev/null 2>&1
#
# clear_env
logsh "$service" "停止成功,请运行source /etc/profile使配置生效!"
logsh "$service" "若要重置【${appname}】服务,删除$path文件并启动即可"
}
destroy() {
logsh "$service" "关闭依赖${appname}的所有插件..."
local uciname=app
mbdb keys $appname.app | while read line
do
[ "$(mbdb get $appname.app.${line})" != '1' ] && continue
${mbroot}/apps/${line}/scripts/${line}.sh stop
# 后将enable置为0不会运行destroy方法,保存依赖entware的插件列表
mbdb set ${line}.main.enable=0
done
mbdb set mixbox.main.profilepath="$(echo "$profilepath" | sed -e 's/:\/opt\/bin:\/opt\/sbin//')"
mbdb set mixbox.main.libpath="$(echo "$libpath" | sed -e 's/:\/opt\/lib//')"
}
end() {
mbdb set $appname.main.enable=0
stop && exit 1
}
status() {
result1=$(echo ${libpath} | grep -c "/opt/lib")
result2=$(echo ${profilepath} | grep -c /opt/sbin)
if [ -d $path ] && [ "$result1" != '0' ] && [ "$result2" != '0' ] && [ -d /opt/bin ]; then
status="安装路径: $path|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
+34
View File
@@ -0,0 +1,34 @@
auto_start_enable() {
[ -z "$1" ] && return 1
mbdb set entware.app."$1" "1"
}
auto_start_disable() {
[ -z "$1" ] && return 1
mbdb del entware.app."$1"
}
detect_entware() {
result1=$(mbdb show entware)
result2=$(ls /opt | grep etc)
if [ -z "$result1" ] || [ -z "$result2" ]; then
logsh "$service" "检测到【Entware】服务未启动或未安装"
return 1
else
result3=$(echo $PATH | grep opt)
[ -z "$result3" ] && export PATH=/opt/bin:/opt/sbin:$PATH
fi
return 0
}
install_entware_app() {
for i in $@; do
result=$(/opt/bin/opkg list-installed | grep -c "^$i")
if [ "$result" == '0' ]; then
/opt/bin/opkg install $i
[ $? -ne 0 ] && logsh "$service" "程序$i安装失败" && return 1
fi
done
return 0
}
+8
View File
@@ -0,0 +1,8 @@
service="FastDick"
appname="fastdick"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
backupfiles="bin/fastdick"
appinfo="迅雷快鸟,宽带提速工具"
newinfo=""
version="0.0.2"
+30
View File
@@ -0,0 +1,30 @@
#------------------【FastDick】--------------------
fastdick() {
eval `mbdb export fastdick`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
[ -z "$(mbdb show entware)" ] && echo "请先安装Entware插件!" && return
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
uid=$(mbdb get ${appname}.main.uid) || uid="空"
pwd=$(mbdb get ${appname}.main.pwd) || pwd="空"
peerid=$(mbdb get ${appname}.main.peerid) || peerid="空"
echo "[请按https://github.com/fffonion/Xunlei-Fastdick这里的教程运行swjsq.py并找到运行成功后生成的swjsq_wget.sh文件,复制其所有内容编辑到配置里]"
read -p "修改${appname}配置(将开始使用vim编辑快鸟运行脚本)[1/0]" res
if [ "$res" == '1' ]; then
echo "[提示]按i开始编辑,编辑完按ESC键再按:wq即可保存退出[注意冒号]"
read -p "清空文件之后再编辑?[1/0]" res
[ "$res" = '1' ] && cat /dev/null > ${mbroot}/apps/${appname}/bin/${appname}
vim ${mbroot}/apps/${appname}/bin/${appname}
fi
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【FastDick】--------------------
+1
View File
@@ -0,0 +1 @@
1.0.6
+80
View File
@@ -0,0 +1,80 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export fastdick`
# set_config() {
# logsh "【$service】" "检查${appname}配置"
# if [ -z "$uid" ] || [ -z "pwd" ] || [ -z "peerid" ]; then
# logsh "【$service】" "${appname}用户名或密码为空"
# exit
# fi
# uidline=$(cat ${mbroot}/apps/${appname}/bin/${appname} | grep -n uid | head -1 | cut -d: -f1)
# pwdline=$(cat ${mbroot}/apps/${appname}/bin/${appname} | grep -n pwd | head -1 | cut -d: -f1)
# peerline=$(cat ${mbroot}/apps/${appname}/bin/${appname} | grep -n peerid | head -1 | cut -d: -f1)
# #设置用户名密码
# sed -i ""$uidline"s#.*#uid=$uid#" ${mbroot}/apps/${appname}/bin/${appname}
# sed -i ""$pwdline"s#.*#pwd=$pwd#" ${mbroot}/apps/${appname}/bin/${appname}
# sed -i ""$peerline"s#.*#peerid=$peerid#" ${mbroot}/apps/${appname}/bin/${appname}
# }
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_port
# write_firewall_start
nohup ${mbroot}/apps/${appname}/bin/${appname} &> ${mbroot}/var/log/${appname}.log &
logsh "$service" "启动${appname}服务完成!"
}
stop () {
logsh "$service" "正在停止${appname}服务... "
killall -9 ${appname} &> /dev/null
killall ${mbroot}/apps/${appname}/bin/${appname} > /dev/null 2>&1
#
}
status() {
result=$(pssh | grep ${mbroot}/apps/${appname}/bin/${appname} | grep -v grep | wc -l)
if [ "$result" == '0' ]; then
status="未运行|0"
else
if [ -f ${mbroot}/var/log/${appname}.log ]; then
info=$(cat ${mbroot}/var/log/${appname}.log | tail -1)
message=$(echo "$info" | awk -F ',|\{|\}' '{print$8}' | sed -e 's/\"//g' | cut -d':' -f2)
province_name=$(echo "$info" | awk -F ',|\{|\}' '{print$10}' | sed -e 's/\"//g' | cut -d':' -f2)
sp_name=$(echo "$info" | awk -F ',|\{|\}' '{print$14}' | sed -e 's/\"//g' | cut -d':' -f2)
downstream=$(echo "$info" | awk -F ',|\{|\}' '{print$3}' | sed -e 's/\"//g' | cut -d':' -f2)
let downstream=$downstream/1024 > /dev/null 2>&1
if [ "$message" == "提速成功" ]; then
status="登录用户id: $uid, 运营商: $province_name$sp_name, 下行速度: "$downstream"Mbps|1"
else
status="提速异常, 可能还在运行, 请查看日志cat ${mbroot}/var/log/${appname}.log|0"
fi
else
status="提速异常, 账号问题或登录频繁|0"
fi
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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8
View File
@@ -0,0 +1,8 @@
service="FileBrowser"
appname="filebrowser"
needver="0.0.1"
appinfo="Web文件浏览器"
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
backupfiles="config/filebrowser.conf"
newinfo="更新arm二进制至2.0.3"
version="0.0.3"
+41
View File
@@ -0,0 +1,41 @@
#------------------【FileBrowser】--------------------
filebrowser() {
eval `mbdb export filebrowser`
source /etc/mixbox/bin/base
uciset="mbdb set $appname.main"
echo "********* $service ***********"
echo "[${appinfo}]"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
# Scripts Here
[ -z "${port}" ] && port=1086
read -p "修改${appname}端口号(${port})[1/0] " res
if [ "$res" == '1' ]; then
read -p "请输入端口号:" res
[ -n "$res" ] && mbdb set $appname.main.port="$res"
fi
[ -z "$scope" ] && scope="$mbdisk"
read -p "修改${appname}默认访问路径($scope)[1/0] " res
if [ "$res" == '1' ]; then
while(true)
do
read -p "请输入默认访问路径:" res
[ -z "$res" ] && break
if [ ! -d "$res" ]; then
echo "输入的路径不存在!"
else
[ -n "$res" ] && mbdb set $appname.main.scope="$res"
break
fi
done
fi
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【FileBrowser】--------------------
+1
View File
@@ -0,0 +1 @@
1.0.3
+62
View File
@@ -0,0 +1,62 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export filebrowser`
[ -z "${port}" ] && port=1086
[ -z "$scope" ] && scope="$mbdisk"
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} -p ${port} -d ${mbroot}/apps/${appname}/config/${appname}.db -l ${mbroot}/var/log/${appname}.log -s $scope
if [ $? -ne 0 ]; then
logsh "$service" "启动${appname}服务失败!"
else
logsh "$service" "启动${appname}服务完成!"
logsh "$service" "请在浏览器中访问[http://$lanip:${port}],默认用户名密码admin"
fi
}
stop() {
logsh "$service" "正在停止${appname}服务... "
close_port
remove_firewall_start
killall -9 ${appname} &> /dev/null
[ "$enable" == '0' ] && destroy
}
destroy() {
# End app, Scripts here
cru d "${appname}"
return
}
status() {
if [ -z "$(pidof ${appname})" ]; then
status="未运行|0"
else
status="运行端口号:${port}|1"
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
+8
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"
+52
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】--------------------
+1
View File
@@ -0,0 +1 @@
1.1.0
+67
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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
service=Frpc
appname="frpc"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
appinfo="内网穿透工具,相对于ngrok资源占用较多"
newinfo="修复自定义域名配置错误"
version="0.0.5"
+97
View File
@@ -0,0 +1,97 @@
#------------------【Frpc】--------------------
frpcAdd() {
read -p "请输入${appname}名称:" name
[ -z "$name" ] && return
read -p "请输入${appname}类型(1.http 2.tcp)" type
read -p "请输入${appname}本地ip(回车默认$lanip)" local_ip
read -p "请输入${appname}本地端口:" local_port
remote_port="" && domain=""
[ "$type" == '2' ] && read -p "请输入${appname}远程访问端口:" remote_port
[ "$type" == '1' ] && read -p "请输入${appname}域名(自动识别子域名或自定义域名)" domain
if [ ! -z $name ]; then
[ -z $local_ip ] && local_ip=$lanip
if [ "$type" == '1' ]; then
type=http
elif [ "$type" == '2' ]; then
type=tcp
else
type="输入有误"
fi
read -p "确定要添加配置:$name,$type,$local_ip,$local_port,$remote_port,$domain[1/0] " res
if [ "$res" == '1' ]; then
mbdb set $appname.info.$name="$type,$local_ip,$local_port,$remote_port,$domain"
fi
fi
read -p "添加完成,再添加一个?[1/0] " res
if checkread $res; then
[ "$res" == '1' ] && frpcAdd
fi
}
frpcDel() {
frpclist=$(mbdb keys $appname.info)
echo "${appname}穿透配置[`echo $frpclist`]"
read -p "请输入要删除的配置名:" res
[ ! -z "$res" ] && mbdb del $appname.info.$res
read -p "删除完成,继续删除?[1/0] " res
if checkread $res; then
[ "$res" == '1' ] && frpcDel
fi
}
frpc() {
eval `mbdb export frpc`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
echo "1.[0.9.3] 2.[0.17.0] 3.[0.20.0]"
read -p "请选择${appname}运行版本(回车不修改,默认最新):" res
case "$res" in
1) res="0.9.3" ;;
2) res="0.17.0" ;;
3) res="0.20.0" ;;
*) res="" ;;
esac
[ -z "$res" ] && [ -z "$runver" ] && res="0.20.0"
[ -n "$res" ] && mbdb set $appname.main.runver="$res"
[ -z "$server" ] && server="空"
[ -z "$server_port" ] && server_port="空"
[ -z "$token" ] && token="空"
read -p "修改${appname}服务器($server, $server_port, $token)[1/0] " res
if [ "$res" == '1' ]; then
read -p "请输入${appname}服务器:" res
[ ! -z "$res" ] && mbdb set $appname.main.server="$res"
read -p "请输入${appname}服务器端口:" res
[ ! -z "$res" ] && mbdb set $appname.main.server_port="$res"
read -p "请输入${appname}服务器秘钥:" res
[ ! -z "$res" ] && mbdb set $appname.main.token="$res"
if [ "$(mbdb get ${appname}.main.runver)" != "0.9.3" ]; then
read -p "请输入${appname}的tcp_mux配置(true/false)" res
[ -n "$res" ] && mbdb set $appname.main.tcp_mux="$res"
read -p "请输入${appname}的user配置:" res
[ -n "$res" ] && mbdb set $appname.main.user="$res"
read -p "请输入${appname}的协议配置protocol" res
[ -n "$res" ] && mbdb set $appname.main.protocol="$res"
fi
fi
frpclist=$(mbdb keys $appname.info)
[ -z "$frpclist" ] && frpclist="空"
echo "${appname}穿透配置[`echo $frpclist`]"
read -p "添加${appname}穿透配置?[1/0] " res
[ "$res" == '1' ] && frpcAdd
read -p "删除${appname}穿透配置?[1/0] " res
[ "$res" == '1' ] && frpcDel
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【Frpc】--------------------
+133
View File
@@ -0,0 +1,133 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export frpc`
# port=
[ -z "$tcp_mux" ] && tcp_mux="true"
[ -z "$user" ] && user="mixbox"
[ -z "$protocol" ] && protocol="tcp"
[ -z "$runver" ] && runver=`${mbroot}/apps/${appname}/bin/${appname} -v`
set_config() {
logsh "$service" "生成${appname}配置文件"
result=$(mbdb show ${appname}.main | grep server | wc -l)
if [ "$result" == '0' ]; then
logsh "$service" "${appname}配置出现问题!"
exit
fi
if [ "$(${mbroot}/apps/${appname}/bin/${appname} -v)" != "$runver" ]; then
logsh "$service" "检测到版本号更换,重新下载${appname}程序..."
wgetsh "${mbroot}/apps/${appname}/bin/${appname}" "$mburl/appsbin/frp-bin/$runver/frpc_${model}"
[ "$?" -ne 0 ] && logsh "$service" "下载${appname}程序失败!" && exit 1
fi
token=$(mbdb get ${appname}.main.token)
cat > ${mbroot}/apps/${appname}/config/${appname}.conf <<-EOF
[common]
server_addr = $server
server_port = $server_port
log_file = ${mbroot}/var/log/${appname}.log
log_level = info
log_max_days = 1
EOF
if [ "$runver" != "0.9.3" ]; then
echo "token = $token" >> ${mbroot}/apps/${appname}/config/${appname}.conf
echo "tcp_mux = $tcp_mux" >> ${mbroot}/apps/${appname}/config/${appname}.conf
echo "user = $user" >> ${mbroot}/apps/${appname}/config/${appname}.conf
echo "protocol = $protocol" >> ${mbroot}/apps/${appname}/config/${appname}.conf
else
echo "privilege_token = $token" >> ${mbroot}/apps/${appname}/config/${appname}.conf
fi
mbdb show ${appname}.info | while read line
do
[ -z "${line}" ] || [ ${line:0:1} == "#" ] && continue
echo >> ${mbroot}/apps/${appname}/config/${appname}.conf
name="$(echo ${line} | cut -d'=' -f1)"
info="$(echo ${line} | cut -d'=' -f2)"
echo "[$name]" >> ${mbroot}/apps/${appname}/config/${appname}.conf
type=`cutsh $info 1`
[ "$type" != "http" -a "$type" != "tcp" ] && logsh "$service" "节点$name类型设置错误" && exit
echo "type = $type" >> ${mbroot}/apps/${appname}/config/${appname}.conf
echo "local_ip = `cutsh $info 2`" >> ${mbroot}/apps/${appname}/config/${appname}.conf
echo "local_port = `cutsh $info 3`" >> ${mbroot}/apps/${appname}/config/${appname}.conf
if [ "$type" == "tcp" -o "$type" == "udp" ]; then
echo "remote_port = `cutsh $info 4`" >> ${mbroot}/apps/${appname}/config/${appname}.conf
logsh "$service" "加载${appname}配置:【$name】启动为tcp/udp模式,端口号:[`cutsh ${line} 4`]"
fi
if [ "$type" == "http" -o "$type" == "https" ]; then
domain=`cutsh $info 5`
if [ `echo $domain | grep "\." | wc -l` -eq 0 ]; then
echo "subdomain = $domain" >> ${mbroot}/apps/${appname}/config/${appname}.conf
logsh "$service" "加载${appname}配置:【$name】启动为http/https子域名模式,域名:[$domain]"
else
echo "custom_domains = $domain" >> ${mbroot}/apps/${appname}/config/${appname}.conf
logsh "$service" "加载${appname}配置:【$name】启动为http/https自定义域名模式,域名:[$domain]"
fi
fi
echo "use_encryption = true" >> ${mbroot}/apps/${appname}/config/${appname}.conf
echo "use_gzip = false" >> ${mbroot}/apps/${appname}/config/${appname}.conf
done
}
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}服务... "
cru a "${appname}" "0 6 * * * ${mbroot}/apps/${appname}/scripts/${appname}.sh restart"
set_config
# open_port
# write_firewall_start
daemon ${mbroot}/apps/${appname}/bin/${appname} -c ${mbroot}/apps/${appname}/config/${appname}.conf
if [ $? -ne 0 ]; then
logsh "$service" "启动${appname}服务失败!"
else
logsh "$service" "启动${appname}服务完成!"
fi
}
stop () {
logsh "$service" "正在停止${appname}服务... "
killall -9 ${appname} &> /dev/null
#
rm -rf ${mbroot}/apps/${appname}/config/${appname}.conf > /dev/null 2>&1
[ "$enable" == '0' ] && destroy
}
destroy() {
cru d "${appname}"
}
status() {
result=$(pssh | grep ${mbroot}/apps/${appname}/bin/${appname} | grep -v grep | wc -l)
if [ "$result" == '0' ]; then
status="未运行|0"
else
status="运行服务器: $server:$server_port|1"
fi
mbdb set $appname.main.status="$status"
}
case "$1" in
start) start ;;
stop) stop ;;
restart) stop; start ;;
reload) stop; start ;;
status) status ;;
esac
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8
View File
@@ -0,0 +1,8 @@
service="Frps"
appname="frps"
needver="0.0.1"
openport="1"
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
appinfo="内网穿透工具Frp服务端"
newinfo="frp程序更新到0.21.0"
version="1.1.2"
+39
View File
@@ -0,0 +1,39 @@
#------------------【Frps】--------------------
frps() {
eval `mbdb export frps`
source /etc/mixbox/bin/base
uciset="mbdb set $appname.main"
echo "********* $service ***********"
echo "[${appinfo}]"
echo "技巧:回车表示默认或历史设置,-1表示还原默认或不启用"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
# Scripts Here
read -p "修改${appname}配置信息?[1/0] " res
if [ "$res" = '1' ]; then
readsh "请输入${appname}运行端口号" "port" "7000"
readsh "请输入${appname}的udp端口号" "udp_port" "7001"
readsh "请输入${appname}的kcp配置[1/0]" "kcp" "1"
readsh "请输入${appname}用于http穿透的端口号" "http_port" "90"
readsh "请输入${appname}用于https穿透的端口号" "https_port" "91"
readsh "请输入${appname}访问密钥" "token" "12345678"
readsh "请输入${appname}子域名" "subdomain"
read -p "是否启用${appname}的web控制面板?[1/0] " res
[ -n "$res" ] && mbdb set $appname.main.dashboard="$res"
if [ "$res" = '1' ]; then
readsh "请输入${appname}控制面板端口号" "dashboard_port" "7500"
readsh "请输入${appname}控制面板用户名" "dashboard_user" "admin"
readsh "请输入${appname}控制面板密码" "dashboard_pwd" "admin"
fi
fi
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【Frps】--------------------
+1
View File
@@ -0,0 +1 @@
1.0.4
+94
View File
@@ -0,0 +1,94 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export frps`
open_ports() {
[ -n "${port}" ] && open_port ${port}
[ -n "$udp_port" ] && open_port $udp_port
[ -n "$http_port" ] && open_port $http_port
[ -n "$https_port" ] && open_port $https_port
[ -n "$dashboard_port" ] && open_port $dashboard_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_ports
write_firewall_start
cat > ${mbroot}/apps/${appname}/config/${appname}.conf <<-EOF
[common]
bind_addr = 0.0.0.0
bind_port = ${port}
bind_udp_port = $udp_port
`[ "$kcp" = '1' ] && echo "kcp_bind_port = ${port}"`
vhost_http_port = $http_port
vhost_https_port = $https_port
dashboard_addr = 0.0.0.0
`[ "$dashboard" = '1' ] && echo "dashboard_port = $dashboard_port"`
`[ "$dashboard" = '1' ] && echo "dashboard_user = $dashboard_user"`
`[ "$dashboard" = '1' ] && echo "dashboard_pwd = $dashboard_pwd"`
log_file = /var/log/${appname}.log
log_level = info
log_max_days = 3
token = $token
#max_pool_count = 5
#max_ports_per_client = 0
#authentication_timeout = 900
`[ -n "$subdomain" ] && echo "subdomain_host = $subdomain"`
tcp_mux = true
EOF
daemon ${mbroot}/apps/${appname}/bin/${appname} -c ${mbroot}/apps/${appname}/config/${appname}.conf
if [ $? -ne 0 ]; then
logsh "$service" "启动${appname}服务失败!"
else
logsh "$service" "启动${appname}服务完成!"
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="运行端口号:${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_ports ;;
status) status ;;
esac
+7
View File
@@ -0,0 +1,7 @@
service="HttpFile"
appname="httpfile"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64"
newinfo="脚本逻辑错误"
appinfo="搭建简单的web文件浏览页面"
version="0.0.3"
+56
View File
@@ -0,0 +1,56 @@
#------------------【HttpFile】--------------------
httpfile() {
eval `mbdb export httpfile`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
echo "[如需使用ONMP请停止本插件]"
[ -z "$(mbdb show entware)" ] && echo "请先安装Entware插件!" && return
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
echo "${appname}全部配置: "
allinfo=$(mbdb show $appname.web)
[ -z "$allinfo" ] && echo "未添加配置!" || echo "$allinfo"
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 "请输入${appname}配置名称: " name
read -p "请输入${appname}运行端口号: " port
read -p "请输入${appname}访问路径: " path
if [ -z "$name" -o -z "${port}" -o -z "$path" ]; then
echo "配置不能为空,未添加!"
else
mbdb set $appname.web.$name="${port},$path"
fi
echo "已添加配置[$name $path ${port}]"
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.web
echo "["$(mbdb keys $appname.web)"]"
while(true)
do
read -p "请输入要删除的配置名: " res
[ ! -z "$res" ] && mbdb del $appname.web.$res
read -p "继续删除配置?[1/0] " res
[ "$res" == '0' -o -z "$res" ] && break
done
fi
fi
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【HttpFile】--------------------
+165
View File
@@ -0,0 +1,165 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export httpfile`
source /etc/mixbox/apps/entware/scripts/functions.sh
# port=
BIN=/opt/sbin/nginx
NGINXCONF=/opt/etc/nginx/nginx.conf
CONF=/opt/etc/nginx/vhost/httpfile.conf
ports=""
open_ports() {
mbdb get $appname.main.ports | tr ',' '\n' | while read line; do
[ -z "${line}" ] && continue
open_port "${line}"
done
}
set_config() {
result=$(/opt/bin/opkg list-installed | grep -c "^nginx")
[ "$result" == '0' ] && /opt/bin/opkg install nginx
logsh "$service" "生成nginx配置信息..."
#修改nginx配置文件
[ ! -x "${mbroot}/apps/${appname}/bin" ] && logsh "$service" "nginx未安装!" && end
cat > ${mbtmp}/nginx.conf <<-\EOF
user root;
pid /opt/var/run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 65535;
events {
worker_connections 1024;
}
http {
include mime.types;
sendfile on;
default_type application/octet-stream;
keepalive_timeout 65;
client_max_body_size 4G;
include /opt/etc/nginx/vhost/*.conf;
}
EOF
umountsh $NGINXCONF
mount --bind ${mbtmp}/nginx.conf $NGINXCONF
# 生成配置文件
logsh "$service" "生成${appname}配置文件..."
[ ! -d "/opt/etc/nginx/vhost" ] && mkdir -p /opt/etc/nginx/vhost
[ -z "`mbdb keys $appname.web`" ] && logsh "$service" "未添加${appname}配置!" && end
rm -rf ${mbtmp}/${appname}.conf
mbdb keys $appname.web | while read line
do
port=$(mbdb get $appname.web.${line} | cutsh 1)
path=$(mbdb get $appname.web.${line} | cutsh 2)
cat >> ${mbtmp}/${appname}.conf <<-\EOF
server {
listen port;
server_name httpfile;
charset utf-8;
location / {
root directory;
index index.php index.html index.htm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
}
EOF
sed -i "s/port/${port}/" ${mbtmp}/${appname}.conf
sed -i "s#directory#$path#" ${mbtmp}/${appname}.conf
logsh "$service" "加载${appname}配置:[端口号:${port}, 路径:$path]"
ports="${port}s${port},"
done
mbdb set $appname.main.ports="$(mbdb values $appname.web | cutsh 1 | tr '\n' ',')"
rm -rf ${mbroot}/apps/${appname}/config/${appname}.conf
ln -s ${mbtmp}/${appname}.conf ${mbroot}/apps/${appname}/config/${appname}.conf
}
start () {
result=$(ps | grep nginx | grep -v sysa | grep -v grep | wc -l)
if [ "$result" != '0' ] && [ -f "${mbroot}/apps/${appname}/config/${appname}.conf" ];then
logsh "$service" "${appname}已经在运行!"
exit 1
fi
# result=$(ps | grep entware.sh | grep -v grep | wc -l)
# if [ "$result" != '0' ];then
# logsh "【$service】" "检测到【Entware】正在运行,现在启用${appname}可能会冲突"
# exit 1
# fi
logsh "$service" "正在启动${appname}服务... "
# 检查entware
result1=$(mbdb show entware)
result2=$(ls /opt | grep etc)
if [ -z "$result1" ] || [ -z "$result2" ]; then
logsh "$service" "检测到【Entware】服务未启动或未安装"
end
else
result3=$(echo $PATH | grep opt)
[ -z "$result3" ] && export PATH=/opt/bin/:/opt/sbin:$PATH
fi
set_config
open_ports
write_firewall_start
#添加entware识别
auto_start_enable
[ ! -f "/opt/etc/init.d/S80nginx" ] && logsh "$service" "未找到启动脚本!" && exit
/opt/etc/init.d/S80nginx stop &> /dev/null
/opt/etc/init.d/S80nginx start > /dev/null
if [ $? -ne 0 ]; then
logsh "$service" "启动${appname}服务失败!"
else
logsh "$service" "启动${appname}服务完成!"
fi
}
stop () {
logsh "$service" "正在停止${appname}服务... "
[ "$enable" == '0' ] && destroy
close_port
remove_firewall_start
rm -rf ${mbtmp}/${appname}.conf ${mbroot}/apps/${appname}/config/${appname}.conf
umountsh $NGINXCONF
}
destroy() {
#清除entware识别
auto_start_disable
}
end() {
/opt/etc/init.d/S80nginx stop > /dev/null
stop && exit 1
}
status() {
result=$(pssh | grep nginx | grep -v sysa | grep -v grep | wc -l)
if [ "$result" != '0' ] && [ -f "${mbroot}/apps/${appname}/config/${appname}.conf" ]; 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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
service="JetBrains"
appname="jetbrains"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
appinfo="快速搭建JetBrains激活服务器"
newinfo=""
version="0.0.2"
+18
View File
@@ -0,0 +1,18 @@
#------------------【Jetbrains】--------------------
jetbrains() {
eval `mbdb export jetbrains`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
readsh "请输入${appname}端口号" "port" "1001"
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【JetBrains】--------------------
+1
View File
@@ -0,0 +1 @@
1.0.3
+57
View File
@@ -0,0 +1,57 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export jetbrains`
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_port
write_firewall_start
daemon ${mbroot}/apps/${appname}/bin/${appname} -p ${port}
if [ $? -ne 0 ]; then
logsh "$service" "启动${appname}服务失败!"
else
logsh "$service" "启动${appname}服务完成!"
logsh "$service" "激活服务器地址为:[http://$lanip:${port}]"
fi
}
stop () {
logsh "$service" "正在停止${appname}服务... "
close_port
remove_firewall_start
killall -9 ${appname} &> /dev/null
}
status() {
result=$(pssh | grep ${mbroot}/apps/${appname}/bin/${appname} | grep -v grep | wc -l)
if [ "$result" == '0' ]; then
status="未运行|0"
else
status="运行端口号: ${port}|1"
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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
service="Kms"
appname="kms"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
appinfo="快速搭建Windows、Office激活服务器"
newinfo="Support for Windows 10 1809, Windows Server 2019 and Office 2019 built-in"
version="0.0.2"
+19
View File
@@ -0,0 +1,19 @@
#------------------【Kms】--------------------
kms() {
eval `mbdb export kms`
source /etc/mixbox/bin/base
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【Kms】--------------------
+1
View File
@@ -0,0 +1 @@
1.1.5
+67
View File
@@ -0,0 +1,67 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export kms`
port=1688
set_config() {
echo -e "srv-host=_vlmcs._tcp,XiaoQiang,1688,0,100\ndomain=lan" > /tmp/etc/dnsmasq.d/kms.conf
/etc/init.d/dnsmasq reload
}
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}服务... "
set_config
open_port
write_firewall_start
daemon ${mbroot}/apps/${appname}/bin/${appname} -l ${mbroot}/var/log/${appname}.log
if [ $? -ne 0 ]; then
logsh "$service" "启动${appname}服务失败!"
else
logsh "$service" "启动${appname}服务完成!"
fi
}
stop () {
logsh "$service" "正在停止${appname}服务... "
close_port
remove_firewall_start
killall -9 ${appname} &> /dev/null
rm -rf /tmp/etc/dnsmasq.d/kms.conf
}
status() {
result=$(pssh | grep ${mbroot}/apps/${appname}/bin/${appname} | grep -v grep | wc -l)
if [ "$result" == '0' ]; then
status="未运行|0"
else
status="运行端口号: ${port}|1"
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
+8
View File
@@ -0,0 +1,8 @@
service="KodExplorer"
appname="kodexplorer"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64"
appinfo="可道云,在线文档管理器,需要entware环境"
newinfo="修复unzip命令缺失"
version="0.0.3"
version="0.0.4"
+26
View File
@@ -0,0 +1,26 @@
#------------------【KodExplorer】--------------------
kodexplorer() {
eval `mbdb export kodexplorer`
source /etc/mixbox/bin/base
echo "********* $service ***********"
echo "[${appinfo}]"
echo "[如需使用ONMP请停止本插件]"
[ -z "$(mbdb show entware)" ] && echo "请先安装Entware插件!" && return
readsh "启动${appname}服务[1/0] " "enable" "1"
if [ "$enable" == '1' ]; then
read -p "修改${appname}端口号(`mbdb get ${appname}.main.port || echo 81`)[1/0] " res
if [ "$res" == '1' ]; then
read -p "请输入${appname}端口号(默认81)" res
[ ! -z $res ] && mbdb set $appname.main.port="$res" || mbdb set $appname.main.port=81
fi
readsh "请输入${appname}管理目录" "path" "$mbdisk"
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
${mbroot}/apps/${appname}/scripts/${appname}.sh restart
else
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
fi
}
#------------------【KodExplorer】--------------------
+1
View File
@@ -0,0 +1 @@
1.4.1
+229
View File
@@ -0,0 +1,229 @@
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export kodexplorer`
source /etc/mixbox/apps/entware/scripts/functions.sh
# port=81
PHPBIN=/opt/bin/spawn-fcgi
NGINXBIN=/opt/sbin/nginx
NGINXCONF=/opt/etc/nginx/nginx.conf
PHPCONF=/opt/etc/php.ini
WWW=/opt/share/nginx/html/kodexplorer
CONF="/opt/etc/nginx/vhost/kodexplorer.conf"
path=$(mbdb get ${appname}.main.path)
port=$(mbdb get ${appname}.main.port) || port=81
lanip=$(uci get network.lan.ipaddr)
opkg_list="php7-cgi php7-mod-curl php7-mod-gd php7-mod-iconv php7-mod-json php7-mod-mbstring php7-mod-opcache php7-mod-session php7-mod-zip nginx spawn-fcgi zoneinfo-core zoneinfo-asia libxml2 unzip"
config_php() {
logsh "$service" "修改php配置信息..."
result=$(/opt/bin/opkg list-installed | grep -c "^php7-cgi")
[ "$result" == '0' ] && logsh "$service" "php未安装!" && end
cp $PHPCONF ${mbtmp}/php.ini
sed -i "/doc_root/d" ${mbtmp}/php.ini
sed -i "s#.*open_basedir.*#open_basedir = \"$WWW\"#" ${mbtmp}/php.ini
sed -i 's/memory_limit = 8M/memory_limit = 20M/' ${mbtmp}/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 2000M/' ${mbtmp}/php.ini
umountsh $PHPCONF
mount --bind ${mbtmp}/php.ini $PHPCONF
# echo "<?php phpinfo(); ?>" > $WWW/info.php
# rm -rf $WWW/index.html
}
config_nginx() {
logsh "$service" "生成nginx配置信息..."
#修改nginx配置文件
[ ! -x "$NGINXBIN" ] && logsh "$service" "nginx未安装!" && end
cat > ${mbtmp}/nginx.conf <<-\EOF
user root;
pid /opt/var/run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 65535;
events {
worker_connections 1024;
}
http {
include mime.types;
sendfile on;
default_type application/octet-stream;
keepalive_timeout 65;
client_max_body_size 4G;
include /opt/etc/nginx/vhost/*.conf;
}
EOF
umountsh $NGINXCONF
mount --bind ${mbtmp}/nginx.conf $NGINXCONF
#生成配置文件
[ ! -d "/opt/etc/nginx/vhost" ] && mkdir -p /opt/etc/nginx/vhost
cat > ${mbtmp}/${appname}.conf <<-\EOF
server {
listen 81;
server_name kodexplorer;
location / {
root /opt/share/nginx/html/kodexplorer;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /opt/share/nginx/html/kodexplorer;
fastcgi_pass 127.0.0.1:9009;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
EOF
sed -i "s/81/${port}/" ${mbtmp}/${appname}.conf
rm -rf /opt/etc/nginx/vhost/${appname}.conf
ln -s ${mbtmp}/${appname}.conf /opt/etc/nginx/vhost/${appname}.conf
}
detect_webfiles() {
if [ ! -d $WWW/app/kod/ ]; then
logsh "$service" "未检测到${appname}文件,正在下载"
[ ! -d $WWW ] && mkdir $WWW
wgetsh $WWW/kodexplorer.zip $mburl/appsbin/kodexplorer.zip
[ $? -ne 0 ] && logsh "$service" "${appname}文件下载失败" && stop
unzip $WWW/kodexplorer.zip -d $WWW
rm -rf $WWW/kodexplorer.zip
fi
}
detect_opkg() {
for i in $opkg_list
do
result=$(/opt/bin/opkg list-installed | grep -c "^$i")
[ "$result" == '0' ] && /opt/bin/opkg install $i
done
}
mount_admin_root() {
if [ -n "$path" ]; then
logsh "$service" "挂载${appname}管理目录"
if [ -d $WWW/data/User/admin/home ]; then
[ ! -d "$path" ] && mkdir -p $path
umountsh $WWW/data/User/admin/home
mount --bind "$path" $WWW/data/User/admin/home
else
logsh "$service" "检测到${appname}服务未配置,无法挂载管理目录"
fi
fi
}
start () {
result=$(ps | grep -E 'nginx|php-cgi' | grep -v sysa | grep -v grep | wc -l)
if [ "$result" != '0' -a -f /opt/etc/nginx/vhost/${appname}.conf ];then
logsh "$service" "${appname}已经在运行!"
exit 1
fi
# result=$(ps | grep entware.sh | grep -v grep | wc -l)
# if [ "$result" != '0' ];then
# logsh "【$service】" "检测到【Entware】正在运行,现在启用${appname}可能会冲突"
# exit 1
# fi
logsh "$service" "正在启动${appname}服务... "
#检查entware状态
result1=$(mbdb show entware)
result2=$(ls /opt | grep etc)
if [ -z "$result1" ] || [ -z "$result2" ]; then
logsh "$service" "检测到【Entware】服务未启动或未安装"
end
else
result3=$(echo $PATH | grep opt)
[ -z "$result3" ] && export PATH=/opt/bin/:/opt/sbin:$PATH
fi
detect_opkg
config_nginx
config_php
detect_webfiles
mount_admin_root
#添加entware识别
auto_start_enable
open_port
write_firewall_start
/opt/etc/init.d/S80nginx stop &> /dev/null
/opt/etc/init.d/S80nginx start > /dev/null
if [ $? -ne 0 ]; then
logsh "$service" "启动nginx服务失败!"
fi
daemon $PHPBIN -a 127.0.0.1 -p 9009 -C 2 -f /opt/bin/php-cgi > /dev/null
if [ $? -ne 0 ]; then
logsh "$service" "启动php服务失败!"
fi
logsh "$service" "${appname}服务启动完成"
logsh "$service" "请在浏览器中访问[http://$lanip:${port}]配置"
}
stop () {
logsh "$service" "正在停止${appname}服务... "
[ "$enable" == '0' ] && destroy
result=$(mbdb get mixbox.httpfile.enable)
killall php-cgi &> /dev/null
# kill -9 $(ps | grep 'nginx' | grep -v sysa | grep -v grep | awk '{print$1}') > /dev/null 2>&1
close_port
remove_firewall_start
#清除关于entware配置
logsh "$service" "关闭或卸载不会删除opkg的软件包和${appname}的web文件!"
umountsh $PHPCONF && rm -rf ${mbtmp}/php.ini
umountsh $NGINXCONF && rm -rf ${mbtmp}/nginx.conf
rm -rf ${mbtmp}/${appname}.conf /opt/etc/nginx/vhost/${appname}.conf
umountsh $WWW/data/User/admin/home
}
end() {
/opt/etc/init.d/S80nginx stop > /dev/null
stop && exit 1
}
destroy() {
#清除entware识别
auto_start_disable
}
status() {
result=$(pssh | grep -E 'nginx|php-cgi' | grep -v sysa | grep -v grep | wc -l)
if [ "$result" -ge '5' ] && [ -f "/opt/etc/nginx/vhost/${appname}.conf" ]; then
status="运行端口号: ${port}, 管理目录: $path|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
File diff suppressed because it is too large Load Diff
+31
View File
@@ -0,0 +1,31 @@
#!/bin/sh
mbroot=$(mbdb get mixbox.main.path)
alias echo_date='echo $(date +%Y年%m月%d日\ %X):'
if [ ! -f openssl.cnf ]; then
echo_date "Cannot found openssl.cnf"
exit 1
fi
if [ -f ${mbroot}/apps/koolproxy/bin/data/private/ca.key.pem ]; then
echo_date "已经又证书了!"
else
echo_date "生成证书中..."
#step 1, root ca
mkdir -p certs private
rm -f index.txt serial private/ca.key.pem
chmod 700 private
touch index.txt
echo 1000 > serial
../openssl genrsa -aes256 -passout pass:koolshare -out private/ca.key.pem 2048
chmod 400 private/ca.key.pem
../openssl req -config openssl.cnf -passin pass:koolshare \
-subj "/C=CN/ST=Beijing/L=KP/O=KoolProxy inc/CN=koolproxy.com" \
-key private/ca.key.pem \
-new -x509 -days 7300 -sha256 -extensions v3_ca \
-out certs/ca.crt
#step 2, domain rsa key
../openssl genrsa -aes256 -passout pass:koolshare -out private/base.key.pem 2048
echo_date "证书生成完毕..."
fi
@@ -0,0 +1,443 @@
ipset=/.com/black_koolproxy
ipset=/.cn/black_koolproxy
ipset=/.101.201.29.182/black_koolproxy
ipset=/.211.151.146.65/black_koolproxy
ipset=/.211.157.171.237/black_koolproxy
ipset=/.61.156.8.189/black_koolproxy
ipset=/.a.baiy.net/black_koolproxy
ipset=/.a.collective-media.net/black_koolproxy
ipset=/.a.itiexue.net/black_koolproxy
ipset=/.a.kickass.to/black_koolproxy
ipset=/.a.shamla.net/black_koolproxy
ipset=/.a.xlpu.cc/black_koolproxy
ipset=/.aavideo.xyz/black_koolproxy
ipset=/.action.data.cp61.ott.cibntv.net/black_koolproxy
ipset=/.ad-apac.doubleclick.net/black_koolproxy
ipset=/.ad.adfurikun.jp/black_koolproxy
ipset=/.ad.csdn.net/black_koolproxy
ipset=/.ad.doubleclick.net/black_koolproxy
ipset=/.ad.ettoday.net/black_koolproxy
ipset=/.ad.fglighting.net/black_koolproxy
ipset=/.ad.hefei.cc/black_koolproxy
ipset=/.ad.jp.doubleclick.net/black_koolproxy
ipset=/.ad.leadboltads.net/black_koolproxy
ipset=/.ad.leadboltmobile.net/black_koolproxy
ipset=/.ad.qingting.fm/black_koolproxy
ipset=/.ad.yixin.im/black_koolproxy
ipset=/.ad7.tagphi.net/black_koolproxy
ipset=/.adbma.adk2.co/black_koolproxy
ipset=/.adclick.g.doubleclick.net/black_koolproxy
ipset=/.adimg.cqnews.net/black_koolproxy
ipset=/.adimg.daumcdn.net/black_koolproxy
ipset=/.adimgs.xici.net/black_koolproxy
ipset=/.adinf.cp11.ott.cibntv.net/black_koolproxy
ipset=/.adm.zbinfo.net/black_koolproxy
ipset=/.admaster.mobi/black_koolproxy
ipset=/.admgr.qingting.fm/black_koolproxy
ipset=/.admicro1.vcmedia.vn/black_koolproxy
ipset=/.admicro4.vcmedia.vn/black_koolproxy
ipset=/.admicro5.vcmedia.vn/black_koolproxy
ipset=/.admicro6.vcmedia.vn/black_koolproxy
ipset=/.admin.louxia.org/black_koolproxy
ipset=/.adplexmedia.adk2.co/black_koolproxy
ipset=/.ads.csdn.net/black_koolproxy
ipset=/.ads.doublemax.net/black_koolproxy
ipset=/.ads.mp.mydas.mobi/black_koolproxy
ipset=/.ads.mydas.mobi/black_koolproxy
ipset=/.ads.pro-market.net/black_koolproxy
ipset=/.ads.trafficjunky.net/black_koolproxy
ipset=/.ads.wasu.tv/black_koolproxy
ipset=/.ads2.opensubtitles.org/black_koolproxy
ipset=/.adstat.cp11.ott.cibntv.net/black_koolproxy
ipset=/.adsystem.wasu.tv/black_koolproxy
ipset=/.adv.fjtv.net/black_koolproxy
ipset=/.adwasu.wasu.tv/black_koolproxy
ipset=/.ag.nukefans.net/black_koolproxy
ipset=/.agn.aty.cp45.ott.cibntv.net/black_koolproxy
ipset=/.al.za5.net/black_koolproxy
ipset=/.aladdin.genieesspv.jp/black_koolproxy
ipset=/.alog.umeng.co/black_koolproxy
ipset=/.amiok.org/black_koolproxy
ipset=/.ams.51junpin.net/black_koolproxy
ipset=/.analytics.ad.daum.net/black_koolproxy
ipset=/.analytics.ws.126.net/black_koolproxy
ipset=/.android.push.126.net/black_koolproxy
ipset=/.androidsdk.ads.mp.mydas.mobi/black_koolproxy
ipset=/.aos.gw.youmi.net/black_koolproxy
ipset=/.aos.prf.hn/black_koolproxy
ipset=/.aos.wall.youmi.net/black_koolproxy
ipset=/.api.adfurikun.jp/black_koolproxy
ipset=/.api.adtimaserver.vn/black_koolproxy
ipset=/.api.cupid.ptqy.gitv.tv/black_koolproxy
ipset=/.api.dewmobile.net/black_koolproxy
ipset=/.api.oneyuan.nagezan.net/black_koolproxy
ipset=/.apklog.cp11.ott.cibntv.net/black_koolproxy
ipset=/.app-g.39.net/black_koolproxy
ipset=/.app.50bang.org/black_koolproxy
ipset=/.ark.cp21.ott.cibntv.net/black_koolproxy
ipset=/.ark.letv-epg.wasu.tv/black_koolproxy
ipset=/.as.kejet.net/black_koolproxy
ipset=/.asimgs.cp61.ott.cibntv.net/black_koolproxy
ipset=/.au.umeng.co/black_koolproxy
ipset=/.au.youmi.net/black_koolproxy
ipset=/.aw.kejet.net/black_koolproxy
ipset=/.b.baiy.net/black_koolproxy
ipset=/.b.bst.126.net/black_koolproxy
ipset=/.b.yunfanlm.net/black_koolproxy
ipset=/.banner.img.static.youmi.net/black_koolproxy
ipset=/.bdaz.adsfactor.net/black_koolproxy
ipset=/.beacon.krxd.net/black_koolproxy
ipset=/.bid.g.doubleclick.net/black_koolproxy
ipset=/.bigbos.top/black_koolproxy
ipset=/.biz5.sandai.net/black_koolproxy
ipset=/.bkmcgi.play.cp81.ott.cibntv.net/black_koolproxy
ipset=/.bksdkconfig.play.cp81.ott.cibntv.net/black_koolproxy
ipset=/.bmp.ali213.net/black_koolproxy
ipset=/.bmp1.ali213.net/black_koolproxy
ipset=/.brance.play.cp81.ott.cibntv.net/black_koolproxy
ipset=/.bshare.optimix.asia/black_koolproxy
ipset=/.bx.optimix.asia/black_koolproxy
ipset=/.c.ad6media.fr/black_koolproxy
ipset=/.c.mnet-ad.net/black_koolproxy
ipset=/.c03.optimix.asia/black_koolproxy
ipset=/.c1.adform.net/black_koolproxy
ipset=/.c1.popads.net/black_koolproxy
ipset=/.c2.97you.net/black_koolproxy
ipset=/.c2.popads.net/black_koolproxy
ipset=/.c5.97you.net/black_koolproxy
ipset=/.cachenotice.cp11.ott.cibntv.net/black_koolproxy
ipset=/.cc.bigbos.top/black_koolproxy
ipset=/.cc.ccg51.win/black_koolproxy
ipset=/.cc.yfi052.pw/black_koolproxy
ipset=/.ccg51.win/black_koolproxy
ipset=/.cdn.adsfactor.net/black_koolproxy
ipset=/.cdn.clicktale.net/black_koolproxy
ipset=/.cdn.innity.net/black_koolproxy
ipset=/.cdn.media.innity.net/black_koolproxy
ipset=/.cdn1.ettoday.net/black_koolproxy
ipset=/.cdn3.e705.net/black_koolproxy
ipset=/.cdnonead-onead.cdn.hinet.net/black_koolproxy
ipset=/.cdnssl.clicktale.net/black_koolproxy
ipset=/.cf.gdatecube.net/black_koolproxy
ipset=/.cfg.adsmogo.mobi/black_koolproxy
ipset=/.cfg.adsmogo.net/black_koolproxy
ipset=/.cfg.adsmogo.org/black_koolproxy
ipset=/.ck.kejet.net/black_koolproxy
ipset=/.clicklog.moviebox.baofeng.net/black_koolproxy
ipset=/.clicktalecdn.sslcs.cdngc.net/black_koolproxy
ipset=/.clk.gentags.net/black_koolproxy
ipset=/.cloud.zyiis.net/black_koolproxy
ipset=/.cm.fastapi.net/black_koolproxy
ipset=/.cm.g.doubleclick.net/black_koolproxy
ipset=/.cm.gtags.net/black_koolproxy
ipset=/.cmarket.kejet.net/black_koolproxy
ipset=/.cms.gtags.net/black_koolproxy
ipset=/.code2.huimee.net/black_koolproxy
ipset=/.config.baofeng.net/black_koolproxy
ipset=/.contextual.media.net/black_koolproxy
ipset=/.corner.houyi.baofeng.net/black_koolproxy
ipset=/.count.game.pps.tv/black_koolproxy
ipset=/.counter.csdn.net/black_koolproxy
ipset=/.cp.3big.net/black_koolproxy
ipset=/.cp.5jjx.net/black_koolproxy
ipset=/.cp.efo.cc/black_koolproxy
ipset=/.cp.jiajv.net/black_koolproxy
ipset=/.cpc.88rpg.net/black_koolproxy
ipset=/.cus.adsmogo.mobi/black_koolproxy
ipset=/.cus.adsmogo.org/black_koolproxy
ipset=/.cvt.mydas.mobi/black_koolproxy
ipset=/.d.39.net/black_koolproxy
ipset=/.d.pixiv.org/black_koolproxy
ipset=/.d.yoyi.tv/black_koolproxy
ipset=/.d1635hfcvs8ero.cloudfront.net/black_koolproxy
ipset=/.d3al52d8cojds7.cloudfront.net/black_koolproxy
ipset=/.d3f.houyi.baofeng.net/black_koolproxy
ipset=/.daima.jiduan.cc/black_koolproxy
ipset=/.daima.kandu.cc/black_koolproxy
ipset=/.dat.gtags.net/black_koolproxy
ipset=/.dc.cp21.ott.cibntv.net/black_koolproxy
ipset=/.dc.csdn.net/black_koolproxy
ipset=/.dc.letv-epg.wasu.tv/black_koolproxy
ipset=/.dc2.csdn.net/black_koolproxy
ipset=/.de.as.cp61.ott.cibntv.net/black_koolproxy
ipset=/.dex.advg.jp/black_koolproxy
ipset=/.display.ad.daum.net/black_koolproxy
ipset=/.dl-vip.pcfaster.baidu.co.th/black_koolproxy
ipset=/.dl.img80.net/black_koolproxy
ipset=/.dl.xyymall.net/black_koolproxy
ipset=/.dload.qd.qingting.fm/black_koolproxy
ipset=/.dm531.dm530.net/black_koolproxy
ipset=/.dm532.dm530.net/black_koolproxy
ipset=/.dmp.kejet.net/black_koolproxy
ipset=/.dmp.tenmax.io/black_koolproxy
ipset=/.dolphin.ftimg.net/black_koolproxy
ipset=/.down.laomaotao.net/black_koolproxy
ipset=/.down.xiazai2.net/black_koolproxy
ipset=/.down.xiazaiyuan.net/black_koolproxy
ipset=/.downloada.dewmobile.net/black_koolproxy
ipset=/.downloadb.dewmobile.net/black_koolproxy
ipset=/.dp3.play.cp81.ott.cibntv.net/black_koolproxy
ipset=/.dpvc.39.net/black_koolproxy
ipset=/.dr3k6qonw2kee.cloudfront.net/black_koolproxy
ipset=/.dt.39photo.net/black_koolproxy
ipset=/.dz.njq.net/black_koolproxy
ipset=/.e-vcdn.anthill.vn/black_koolproxy
ipset=/.e.e708.net/black_koolproxy
ipset=/.ee.e701.net/black_koolproxy
ipset=/.ex.puata.info/black_koolproxy
ipset=/.f.e703.net/black_koolproxy
ipset=/.f.e719.net/black_koolproxy
ipset=/.f.novanet.vn/black_koolproxy
ipset=/.f2.e703.net/black_koolproxy
ipset=/.float.sandai.net/black_koolproxy
ipset=/.g.ad8.cc/black_koolproxy
ipset=/.g.doubleclick.net/black_koolproxy
ipset=/.g.fastapi.net/black_koolproxy
ipset=/.g.ousns.net/black_koolproxy
ipset=/.game.pps.tv/black_koolproxy
ipset=/.googleads.g.doubleclick.net/black_koolproxy
ipset=/.guess.union2.50bang.org/black_koolproxy
ipset=/.ha.pro-market.net/black_koolproxy
ipset=/.haitaoad.nosdn.127.net/black_koolproxy
ipset=/.i.9le.net/black_koolproxy
ipset=/.i.adfurikun.jp/black_koolproxy
ipset=/.i.bsshw.net/black_koolproxy
ipset=/.i.jiajv.net/black_koolproxy
ipset=/.i.l.inmobicdn.net/black_koolproxy
ipset=/.icon.51.la/black_koolproxy
ipset=/.id1.anreson.net/black_koolproxy
ipset=/.ii.bsshw.net/black_koolproxy
ipset=/.ima.xcyjzs.net/black_koolproxy
ipset=/.images.cp45.ott.cibntv.net/black_koolproxy
ipset=/.img.88rpg.net/black_koolproxy
ipset=/.img.ads.csdn.net/black_koolproxy
ipset=/.img.users.51.la/black_koolproxy
ipset=/.img1.126.net/black_koolproxy
ipset=/.img1.pszyzxh.org/black_koolproxy
ipset=/.img2.126.net/black_koolproxy
ipset=/.imgcdn.xixiwan.net/black_koolproxy
ipset=/.imp-mdsp.avazutracking.net/black_koolproxy
ipset=/.imp.adsmogo.mobi/black_koolproxy
ipset=/.imp.adsmogo.net/black_koolproxy
ipset=/.ipua.adfurikun.jp/black_koolproxy
ipset=/.irs01.net/black_koolproxy
ipset=/.j.microad.net/black_koolproxy
ipset=/.jgl.microad.net/black_koolproxy
ipset=/.jp.as.cp61.ott.cibntv.net/black_koolproxy
ipset=/.jph.itiexue.net/black_koolproxy
ipset=/.js-1.pchome.net/black_koolproxy
ipset=/.js.a3p4.net/black_koolproxy
ipset=/.js.cyad.cc/black_koolproxy
ipset=/.js.mumayi.net/black_koolproxy
ipset=/.js.revsci.net/black_koolproxy
ipset=/.js.users.51.la/black_koolproxy
ipset=/.js1116.anreson.net/black_koolproxy
ipset=/.js1315.anreson.net/black_koolproxy
ipset=/.js1940.anreson.net/black_koolproxy
ipset=/.js2294.anreson.net/black_koolproxy
ipset=/.js3555.hongtaidichan.net/black_koolproxy
ipset=/.js4476.hongtaidichan.net/black_koolproxy
ipset=/.js4775.hongtaidichan.net/black_koolproxy
ipset=/.js883.anreson.net/black_koolproxy
ipset=/.jsc.dt07.net/black_koolproxy
ipset=/.jssd.kb20.cc/black_koolproxy
ipset=/.jump1.pszyzxh.org/black_koolproxy
ipset=/.jump2.pszyzxh.org/black_koolproxy
ipset=/.kawa11.space/black_koolproxy
ipset=/.keydot.net/black_koolproxy
ipset=/.kti.bigbos.top/black_koolproxy
ipset=/.l.fastapi.net/black_koolproxy
ipset=/.lg.logging.admicro.vn/black_koolproxy
ipset=/.lg1.logging.admicro.vn/black_koolproxy
ipset=/.link.jiduan.cc/black_koolproxy
ipset=/.livep.l.cp81.ott.cibntv.net/black_koolproxy
ipset=/.lives.l.cp81.ott.cibntv.net/black_koolproxy
ipset=/.loading.baofeng5.baofeng.net/black_koolproxy
ipset=/.log.adtimaserver.vn/black_koolproxy
ipset=/.log.houyi.baofeng.net/black_koolproxy
ipset=/.log.tiexue.net/black_koolproxy
ipset=/.logger.qingting.fm/black_koolproxy
ipset=/.logic.cpm.cm.sandai.net/black_koolproxy
ipset=/.m.analytics.126.net/black_koolproxy
ipset=/.m.down.sandai.net/black_koolproxy
ipset=/.m.kejet.net/black_koolproxy
ipset=/.mc.yandex.ru/black_koolproxy
ipset=/.mcc.chinauma.net/black_koolproxy
ipset=/.mcgi.play.cp81.ott.cibntv.net/black_koolproxy
ipset=/.media.adtimaserver.vn/black_koolproxy
ipset=/.media.trafficjunky.net/black_koolproxy
ipset=/.mg.dt07.net/black_koolproxy
ipset=/.mid.houyi.baofeng.net/black_koolproxy
ipset=/.mimg.126.net/black_koolproxy
ipset=/.mixer.cupid.ptqy.gitv.tv/black_koolproxy
ipset=/.mlog.search.xiaomi.net/black_koolproxy
ipset=/.mmg.aty.cp45.ott.cibntv.net/black_koolproxy
ipset=/.ms.anreson.net/black_koolproxy
ipset=/.msg.71.am/black_koolproxy
ipset=/.msg.ptqy.gitv.tv/black_koolproxy
ipset=/.msg.video.ptqy.gitv.tv/black_koolproxy
ipset=/.msg2.video.ptqy.gitv.tv/black_koolproxy
ipset=/.msga.71.am/black_koolproxy
ipset=/.msga.ptqy.gitv.tv/black_koolproxy
ipset=/.nclog.mars.baofeng.net/black_koolproxy
ipset=/.news-l.play.cp81.ott.cibntv.net/black_koolproxy
ipset=/.news.766ba.net/black_koolproxy
ipset=/.news.push.126.net/black_koolproxy
ipset=/.nl.rcd.ptqy.gitv.tv/black_koolproxy
ipset=/.oc.umeng.co/black_koolproxy
ipset=/.oki.xcyjzs.net/black_koolproxy
ipset=/.okt.xcyjzs.net/black_koolproxy
ipset=/.onlinetips.baofeng5.baofeng.net/black_koolproxy
ipset=/.outer.anquan.org/black_koolproxy
ipset=/.p-l.play.cp81.ott.cibntv.net/black_koolproxy
ipset=/.p.rhgw.net/black_koolproxy
ipset=/.panel.adtify.pl/black_koolproxy
ipset=/.parser.houyi.baofeng.net/black_koolproxy
ipset=/.pb.bi.gitv.tv/black_koolproxy
ipset=/.pb.ott.hd.cp45.ott.cibntv.net/black_koolproxy
ipset=/.pclog.suishenyun.net/black_koolproxy
ipset=/.pd7-imp.revsci.net/black_koolproxy
ipset=/.phpad.cqnews.net/black_koolproxy
ipset=/.pic.fastapi.net/black_koolproxy
ipset=/.pix04.revsci.net/black_koolproxy
ipset=/.pre.api.tw06.xlmc.sandai.net/black_koolproxy
ipset=/.ps.eyeota.net/black_koolproxy
ipset=/.pt.trafficjunky.net/black_koolproxy
ipset=/.pubads.g.doubleclick.net/black_koolproxy
ipset=/.push.tv.api.3g.cp31.ott.cibntv.net/black_koolproxy
ipset=/.pvlog.moviebox.baofeng.net/black_koolproxy
ipset=/.px.owneriq.net/black_koolproxy
ipset=/.qiye11.ejunshi.net/black_koolproxy
ipset=/.qosp.msg.71.am/black_koolproxy
ipset=/.qr.cp31.ott.cibntv.net/black_koolproxy
ipset=/.quote.51.la/black_koolproxy
ipset=/.r.l.cp31.ott.cibntv.net/black_koolproxy
ipset=/.r.popin.cc/black_koolproxy
ipset=/.r.youmi.net/black_koolproxy
ipset=/.r1.cp31.ott.cibntv.net/black_koolproxy
ipset=/.resolver.msg.xiaomi.net/black_koolproxy
ipset=/.rlog.popin.cc/black_koolproxy
ipset=/.rtb-asiamax.tenmax.io/black_koolproxy
ipset=/.rtb-p.kejet.net/black_koolproxy
ipset=/.s.5jjx.net/black_koolproxy
ipset=/.s.ato.mx/black_koolproxy
ipset=/.s.de123.net/black_koolproxy
ipset=/.s.druu.cc/black_koolproxy
ipset=/.s.eclick.vn/black_koolproxy
ipset=/.s.effectivemeasure.net/black_koolproxy
ipset=/.s.fastapi.net/black_koolproxy
ipset=/.s.gdatecube.net/black_koolproxy
ipset=/.s.qd.qingting.fm/black_koolproxy
ipset=/.s.youmi.net/black_koolproxy
ipset=/.s0.2mdn.net/black_koolproxy
ipset=/.s03.optimix.asia/black_koolproxy
ipset=/.s1.2mdn.net/black_koolproxy
ipset=/.s4.55.la/black_koolproxy
ipset=/.s5.keydot.net/black_koolproxy
ipset=/.sd.kk3g.net/black_koolproxy
ipset=/.sd.mmfile.net/black_koolproxy
ipset=/.sdk.data.cp61.ott.cibntv.net/black_koolproxy
ipset=/.sdk.m.cp31.ott.cibntv.net/black_koolproxy
ipset=/.sdkconfig.play.cp81.ott.cibntv.net/black_koolproxy
ipset=/.securepubads.g.doubleclick.net/black_koolproxy
ipset=/.serve.popads.net/black_koolproxy
ipset=/.servedby.adsfactor.net/black_koolproxy
ipset=/.servicegetbook.net/black_koolproxy
ipset=/.sg-cdn.effectivemeasure.net/black_koolproxy
ipset=/.sh.adingo.jp/black_koolproxy
ipset=/.shzyjbr.wtdtjs.rocks/black_koolproxy
ipset=/.sis.jpush.io/black_koolproxy
ipset=/.sit.gentags.net/black_koolproxy
ipset=/.sjkmio.812920.top/black_koolproxy
ipset=/.snap.snapmobile.asia/black_koolproxy
ipset=/.sp.gmossp-sp.jp/black_koolproxy
ipset=/.spap.adingo.jp.eimg.jp/black_koolproxy
ipset=/.spap.adingo.jp/black_koolproxy
ipset=/.spapi.i-mobile.co.jp/black_koolproxy
ipset=/.spdmg-backend.i-mobile.co.jp/black_koolproxy
ipset=/.spdmg.i-mobile.co.jp/black_koolproxy
ipset=/.ss.subo.me/black_koolproxy
ipset=/.ss2p.uuxs.net/black_koolproxy
ipset=/.ssl-cdn.media.innity.net/black_koolproxy
ipset=/.ssp.tenmax.io/black_koolproxy
ipset=/.stat.cp33.ott.cibntv.net/black_koolproxy
ipset=/.stat.gw.youmi.net/black_koolproxy
ipset=/.stat.pchome.net/black_koolproxy
ipset=/.stat.titan.imgo.tv/black_koolproxy
ipset=/.static.adtimaserver.vn/black_koolproxy
ipset=/.static.anquan.org/black_koolproxy
ipset=/.static.criteo.net/black_koolproxy
ipset=/.static.eclick.vn/black_koolproxy
ipset=/.static.houyi.baofeng.net/black_koolproxy
ipset=/.static.novanet.vn/black_koolproxy
ipset=/.static.snapmobile.asia/black_koolproxy
ipset=/.static.youmi.net/black_koolproxy
ipset=/.stats.g.doubleclick.net/black_koolproxy
ipset=/.store.ptqy.gitv.tv/black_koolproxy
ipset=/.store.tv.api.3g.cp31.ott.cibntv.net/black_koolproxy
ipset=/.super.kdnet.net/black_koolproxy
ipset=/.t-l.play.cp81.ott.cibntv.net/black_koolproxy
ipset=/.t.adcrops.net/black_koolproxy
ipset=/.t.vbxx.net/black_koolproxy
ipset=/.t2.vbxx.net/black_koolproxy
ipset=/.tenmax-static.cacafly.net/black_koolproxy
ipset=/.test.api.xlmc.sandai.net/black_koolproxy
ipset=/.tinydrag.t.cp61.ott.cibntv.net/black_koolproxy
ipset=/.tj.yule8.net/black_koolproxy
ipset=/.tp.sphwq.net/black_koolproxy
ipset=/.track.dmp.youmi.net/black_koolproxy
ipset=/.tw13b093.sandai.net/black_koolproxy
ipset=/.twbill.xyz/black_koolproxy
ipset=/.u.1133.cc/black_koolproxy
ipset=/.ujs.jialiren.net/black_koolproxy
ipset=/.uma.gtags.net/black_koolproxy
ipset=/.union2.50bang.org/black_koolproxy
ipset=/.update.123juzi.net/black_koolproxy
ipset=/.ups.ksmobile.net/black_koolproxy
ipset=/.users.51.la/black_koolproxy
ipset=/.ut.gtags.net/black_koolproxy
ipset=/.util.nphoto.net/black_koolproxy
ipset=/.v.e704.net/black_koolproxy
ipset=/.v.img80.net/black_koolproxy
ipset=/.v.jtxh.net/black_koolproxy
ipset=/.val.atm.cp31.ott.cibntv.net/black_koolproxy
ipset=/.valf.atm.cp31.ott.cibntv.net/black_koolproxy
ipset=/.vip.yoyozz.net/black_koolproxy
ipset=/.vip.yule8.net/black_koolproxy
ipset=/.vipjs.csad.cc/black_koolproxy
ipset=/.vpie.net/black_koolproxy
ipset=/.w.3big.net/black_koolproxy
ipset=/.w.efo.cc/black_koolproxy
ipset=/.w2.3big.net/black_koolproxy
ipset=/.w2.docols.net/black_koolproxy
ipset=/.wazero.online/black_koolproxy
ipset=/.web.51.la/black_koolproxy
ipset=/.web.ali213.net/black_koolproxy
ipset=/.web.houyi.baofeng.net/black_koolproxy
ipset=/.web1.51.la/black_koolproxy
ipset=/.web2.51.la/black_koolproxy
ipset=/.wl.houyi.baofeng.net/black_koolproxy
ipset=/.wm.20150.net/black_koolproxy
ipset=/.ws.ksmobile.net/black_koolproxy
ipset=/.ww202.keyyou.net/black_koolproxy
ipset=/.www.51.la/black_koolproxy
ipset=/.www.6604.org/black_koolproxy
ipset=/.www.ads8.cc/black_koolproxy
ipset=/.www.daima123.cc/black_koolproxy
ipset=/.www.i1236.net/black_koolproxy
ipset=/.www.keydot.net/black_koolproxy
ipset=/.www.laomaotao.net/black_koolproxy
ipset=/.www.umeng.co/black_koolproxy
ipset=/.www.yanjiele8.club/black_koolproxy
ipset=/.www.yoyozz.net/black_koolproxy
ipset=/.xs.houyi.baofeng.net/black_koolproxy
ipset=/.y.one.impact-ad.jp/black_koolproxy
ipset=/.yads.c.yimg.jp/black_koolproxy
ipset=/.yads.yahoo.co.jp/black_koolproxy
ipset=/.yiyuan.nagezan.net/black_koolproxy
ipset=/.yoo.yiiyoo.net/black_koolproxy
ipset=/1000fr.net/black_koolproxy
ipset=/acfun.tv/black_koolproxy
ipset=/baofeng.net/black_koolproxy
ipset=/fun.tv/black_koolproxy
ipset=/pps.tv/black_koolproxy
+132
View File
@@ -0,0 +1,132 @@
# OpenSSL root CA configuration file.
# Copy to `/root/ca/openssl.cnf`.
[ ca ]
# `man ca`
default_ca = CA_default
[ CA_default ]
# Directory and file locations.
dir = ./ca
certs = $dir/certs
crl_dir = $dir/crl
new_certs_dir = $dir/newcerts
database = $dir/index.txt
serial = $dir/serial
RANDFILE = $dir/private/.rand
# The root key and root certificate.
private_key = $dir/private/ca.key.pem
certificate = $dir/certs/ca.cert.pem
# For certificate revocation lists.
crlnumber = $dir/crlnumber
crl = $dir/crl/ca.crl.pem
crl_extensions = crl_ext
default_crl_days = 30
# SHA-1 is deprecated, so use SHA-2 instead.
default_md = sha256
name_opt = ca_default
cert_opt = ca_default
default_days = 375
preserve = no
policy = policy_strict
[ policy_strict ]
# The root CA should only sign intermediate certificates that match.
# See the POLICY FORMAT section of `man ca`.
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[ policy_loose ]
# Allow the intermediate CA to sign a more diverse range of certificates.
# See the POLICY FORMAT section of the `ca` man page.
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[ req ]
# Options for the `req` tool (`man req`).
default_bits = 2048
distinguished_name = req_distinguished_name
string_mask = utf8only
# SHA-1 is deprecated, so use SHA-2 instead.
default_md = sha256
# Extension to add when the -x509 option is used.
x509_extensions = v3_ca
[ req_distinguished_name ]
# See <https://en.wikipedia.org/wiki/Certificate_signing_request>.
countryName = Country Name (2 letter code)
stateOrProvinceName = State or Province Name
localityName = Locality Name
0.organizationName = Organization Name
organizationalUnitName = Organizational Unit Name
commonName = Common Name
emailAddress = Email Address
# Optionally, specify some defaults.
countryName_default = GB
stateOrProvinceName_default = England
localityName_default =
0.organizationName_default = Alice Ltd
organizationalUnitName_default =
emailAddress_default =
[ v3_ca ]
# Extensions for a typical CA (`man x509v3_config`).
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:true
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
[ v3_intermediate_ca ]
# Extensions for a typical intermediate CA (`man x509v3_config`).
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:true, pathlen:0
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
[ usr_cert ]
# Extensions for client certificates (`man x509v3_config`).
basicConstraints = CA:FALSE
nsCertType = client, email
nsComment = "OpenSSL Generated Client Certificate"
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth, emailProtection
[ server_cert ]
# Extensions for server certificates (`man x509v3_config`).
basicConstraints = CA:FALSE
nsCertType = server
nsComment = "OpenSSL Generated Server Certificate"
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer:always
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
[ crl_ext ]
# Extension for CRLs (`man x509v3_config`).
authorityKeyIdentifier=keyid:always
[ ocsp ]
# Extension for OCSP signing certificates (`man ocsp`).
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
keyUsage = critical, digitalSignature
extendedKeyUsage = critical, OCSPSigning
+186
View File
@@ -0,0 +1,186 @@
!x -----------------------------------------------------------------------------------------------------------------
!x -----[KoolProxy Plus 3.7.2]
!x -----update[rules]: 2018-4-22 18:47
!x -----QQ group: 595300867<1-group> 203726739<2-group> 369773525<3-group>
!x -----Thanks: From KP Rule Group -- <houzi-> <Carseason>
!x -----Thanks for help: <yiclear> <adbyby>
!x -----Tip: Welcome to rule group,Please Send mail to <wojiaolinmu008@gmail.com>
!x -----------------------------------------------------------------------------------------------------------------
!|https://www.baidu.com/js/opensug.js
|http://er66uds.m.qiuwu.net
|https://s2.zdmimg.com/www/delivery/ajs.php
|http://s2.zdmimg.com/www/delivery/ajs.php
||https://googlesyndication.com/pagead/imgad?
||https://googlesyndication.com/pagead/js/
@@|http://resolver.msg.xiaomi.net
||creaders.net/ad_func.js
|http://pub.creaders.net/html/site_ad_images/
|https://sp0.baidu.com/*/.gif?
||zimuku.cn/images/v2/js/bn*.js
|https://dm.aizhan.com/tps/noexpire/js/4.0.1/adClosefeedbackUpgrade.min.js
|https://dm.aizhan.com/bvzdpzs.js
|https://statics.aizhan.com/jsa/zone.js
/^http:\/\/vali\.cp31\.ott\.cibntv\.net\/youku\/[0-9,a-f,\/,A-F,-]+\.mp4\?/
||https://77kp.com/jquery/
@@|http://js.passport.qihucdn.com/5.0.3.js
||https://e.lzytt.com/
|https://ss.sysad.cn
|https://s13.cnzz.com
@@|http://p.store.qq.com/photo
@@|http://share.dmhy.org/common/generate-captcha?code=
||https://bdstatic.com^*/plugins/every_cookie_
||km.com/dypcimg/mversion/js/zepto_min.js
||eastday.com/assets/js/resources/detail/
||eastday.com/assets/js/resources/new_detail_
||eastday.com/assets/js/detail_
!x -----------------------------------------------------------------------------------------------------------------
!|https://live.bilibili.com/*$r@/^https:\/\/(.*)/(\d*)/@http://$1/$2@
!|https://www.bilibili.com/*$r@/^https:\/\/(.*)/(\d*)/@http://$1/$2@
|http://hot.cnbeta.com/$s@<div style="display:block !important;*">@<div style="display:none !important;>@
|http://hot.cnbeta.com/$s@JB=function()@@
|http://hot.cnbeta.com/articles/$s@<section class="mt5 cber" style="display:none">*</section>@@
|http://hot.cnbeta.com/assets/js/pages/article.js?v=$s@var CheckBlock=function(options)@@
!|https://bbs.feng.com###nv_forum > div:nth-child(7)
|https://bbs.feng.com##DIV.wrap:nth-child(7)
|https://bbs.feng.com##DIV.wrap:nth-child(9)
!|https://bbs.bbs.feng.com##.inner
|https://bbs.feng.com###wp > DIV.wrap.fl_row:nth-child(2) > DIV.fl_tb > DIV.inner > UL:first-child
|https://bbs.feng.com###wp > DIV.wrap.fl_row:nth-child(2) > DIV.fl_tb > DIV.inner > UL:nth-child(2)
|https://www.feng.com##img[src^="http://bbs.feng.com/aodoo3/view.php?what=zone:"],div.left_light
|https://bbs.feng.com/$s@<div><script type="text/javascript">*<!-- header start -->@<!-- header start -->@
|https://www.feng.com##img[src^="http://bbs.feng.com/aodoo3/view.php?what=zone:"],div.left_light
|https://bbs.feng.com##DIV.wea_d_960_80,DIV[class^="wep_e_"][class$="0"],DIV.wep_e_wrap.clearfix,div.header_treasure,div.wea_d_panel_980.a_t,DIV.wrap.bbs_treasure > DIV.inner > UL[style],img[src^="http://bbs.feng.com/aodoo3/view.php?what=zone:"],div.left_light,div[class^="ad_90-"],img[src^="http://yes1.feng.com/view.php?what=zone:1"],img[src^="http://yes1.feng.com/view.php?what=zone:4"],img[src^="/images_new/ad-"],div.ad_1000,div.dd305,.a_pt,.store_products_wrap,.new_showyes
|https://www.feng.com##DIV.wea_d_960_80,DIV[class^="wep_e_"][class$="0"],DIV.wep_e_wrap.clearfix,div.header_treasure,div.wea_d_panel_980.a_t,DIV.wrap.bbs_treasure > DIV.inner > UL[style],img[src^="http://bbs.feng.com/aodoo3/view.php?what=zone:"],div.left_light,div[class^="ad_90-"],img[src^="http://yes1.feng.com/view.php?what=zone:1"],img[src^="http://yes1.feng.com/view.php?what=zone:4"],img[src^="/images_new/ad-"],div.ad_1000,div.dd305,.a_pt,.store_products_wrap,.new_showyes
|https://bbs.feng.com##div.wp_show,A[href^="http://we.tm/"],[href="http://www.tutuapp.com/"]
||https://80s.tw###ad_rightBottom
|https://wap.baquge.tw/files/article/html/*.html$s@<script type="text/javascript" src="/js/common.js"></script>@@
|http://t66y.com/htm_data$s@<br><img src='http://kk.51688.cc*style='cursor:pointer'>&nbsp;<br>@@
|http://t66y.com/htm_data$s@<b><span class="f24">*</a></span></b><br>@@
|http://t66y.com/htm_data$s@<b><span class="f14">*</a></span></b><br>@@
|http://t66y.com/htm_data$s@<a href='http://www.viidii.info/?http* WIDTH="100%" HEIGHT=500></iframe><br><br>@@
|http://t66y.com/htm_data$s@<br /><div class="tpc_content do_not_catch">*</span></span></a><br></blockquote><br><br><br>@<br /><div class="tpc_content do_not_catch">@
|http://t66y.com/htm_data$s@<br /><div class="tpc_content do_not_catch"><img src='http*.gif' onclick="window.open('*;" style='cursor:pointer'>&nbsp;<br>@<br /><div class="tpc_content do_not_catch">@
|http://t66y.com/htm_data$s@<br><img src='http*.gif' onclick="window.open('*;" style='cursor:pointer'>&nbsp;<br>@@
|http://www.creaders.net$s@<table width="1024" border="0" cellspacing="0" cellpadding="0" style="padding:5px 0px;">@<table width="1024" border="0" cellspacing="0" cellpadding="0" style="display:none;">@
|http://www.creaders.net$s@<table width="1025" border="0" cellspacing="0" cellpadding="0" style="padding:4px 0px;clear:both;">@<table width="1024" border="0" cellspacing="0" cellpadding="0" style="display:none;">@
|https://www.77kp.com/###adfdiv
|http://gaoqing.la$s@<script src="http://dspmy.ge95.com:8008/?aspx=1367">var *</script>@@
|https://www.cnbeta.com/##.trc_rbox.thumbnails-c.trc-content-sponsored
|http://www.zimuku.cn/$s@<li class="li" style="width:820px;height:90px;*#eee;">@@
|http://bbs.pcbeta.com/$s@<style type="text/css">*</style>@<style type="text/css"></style>@
!x -----------------------------------------------------------------------------------------------------------------
||you85./ling/
||dnvod.tv/w
||jb51.net/jslib/jquery/
||jb51.net/js/beitou.js
|http://*/fans/ad.php|
||web.users.51.la
|https://yes1.feng.com/js.php?n=
|https://yes1.feng.com/x.js
|https://share.acgnx.se/images/gDqF4N4b.png
|https://share.acgnx.se/images/cjTQH5PQ.png
|https://sp*.baidu.com^*.gif?
|https://code.zantainet.com^$script
!|https://api.bilibili.com/x/web-show/res/loc?pf=0&id=160
@@|http://music.163.com/eapi/ad/get?_nmclfl=1
!||https://alicdn.com/g/mm/afp-cdn/JS/
|https://afpmm.alicdn.com/g/mm/afp-cdn/JS/
!||v.aty.sohu.com/crossdomain.xml$domain=~cnbeta.com
!|https://v.aty.sohu.com/crossdomain.xml
||gridsumdissector.com^$third-party
|https://afpssp.alimama.com/crossdomain.xml
|https://promotion.aliyun.com/promotion/adv/getAliyunAdv.
|https://alimama.alicdn.com/
||https://mediav.com$domain=~tianqi.so.com
|https://jsjs.nthyn.com/
|http://*/cpv/*.ashx?
||https://jointreport-switch.com^
||discuz.gtimg.cn/cloud/scripts/discuz_tips.js$domain=~you85.net
||ctsywy.com^
|http://www.zimuku.cn/images/v2/js/bn.js
|http://iyes.youku.com/adv?
|https://ads.youtube.com
||https://azabu-u.ac.jp
||https://couchcoaster.jp
||https://crt.comodoca.com
||https://delivery.dmkt-sp.jp
||https://ehg-youtube.hitbox.com
||https://m-78.jp
||https://nichibenren.or.jp
||https://nicorette.co.kr
||https://ssl-youtube.2cnt.net
||https://youtube.112.2o7.net
||https://youtube.2cnt.net
|https://m.youtube.com/_get_ads
|https://hudong.pl.youku.com/interact/player/get/plugins?
|https://hudong.pl.youku.com/interact/web/get/timeLinePlugin?
|https://hudong.pl.youku.com/jsapi/interact/playerPlugins.js
|https://hudong.pl.youku.com/n/interact/player/get/plugins?
|https://mp.weixin.qq.com/mp/ad_video_report?
|http://wbapp.uve.weibo.com/wbapplua/
|https://adimg.uve.weibo.com/public/
!|https://sdkconfig.ad.xiaomi.com/
@@||cdn-thumb.fds.api.xiaomi.com/b2c-bbs
|https://scss-prod-ue1-notif-22.adobesc.com/
||https://17ce.com/118/
|http://ark.letv.com//adx?adzone=
@@|http://image.box.xiaomi.com/mfsv2/
!|https://hm.baidu.com/h
|https://img.xiacaidd.com/xiacai/ad/t18.js
||zmzjstu.com/g3/tool
|http://files.zmzjstu.com/g3/ad-cp
|https://www.80s.tw/80sad/fumeiti.js
|https://www.80s.tw/80sad/80s.js
||ip.hivps.xyz^$third-party
||https://tanx.com^$third-party,domain=~tmall.com|~uc123.com
||https://sdqoi2d.com^
||yxdown.com/cj/
|https://static.ettoday.net/ad/
|https://static.ettoday.net/dfp/dfp-
|https://www.jiang.com/
|http://www.wancai.com
|https://gg.kkcaicai.com/$image
|https://h5.m.youku.com/ju/xcgj.html?
||https://qidian.com/ejs/qd/js/index/bannerTop.
!x -----------------------------------------------------------------------------------------------------------------
!|https://pan.baidu.com,yun.baidu.com##[id^="share-ad-"],A#share_ad_info_panl,div[id^="cpro_"],img.share-center,.ad-platform-tips,.banner-active
jb51.net##.logom.fl,#txtlink,.logor.fr,.blank6,.topimg
http://www.jb51.net##img[src^="http://files.jb51.net/image"]
muchong.com.cn###hd > DIV.wp > DIV.a_mu:nth-child(8) > A > IMG
addic7ed.com###M103396ScriptRootC132912
cnbtkitty.com##img[src^="http://go.gotourl.xyz/"]
||https://v2ex.com##.adsbygoogle
||https://baquge.tw##.con_ad
||https://loldytt.com###ad_rightBottom > A:last-child > IMG
|https://share.acgnx.se##img[src="/images/gDqF4N4b.png"],img[src="/images/cjTQH5PQ.png"]
|https://www.ithome.com##[class^="rm-modal"]
zimuzu.tv##DIV.middle-box:nth-child(2) > DIV.w.subtitle-box > DIV.area-left.fl:nth-child(2) > DIV:nth-child(2) > A > IMG
100pd.cc###qiqi_cpv_adsiframe
tiexue.net##.AreaR > .lunbo
tiexue.net##.ad_xuanfu
m.tiexue.net##.blue
tiexue.net##.goushi
tiexue.net##.gousi
tiexue.net##.jiangWuTang + .mTop10
www.tiexue.net##.main > style + div[class]
tiexue.net##.moveBox
tiexue.net##.qrcode
tiexue.net##.reloadCont > div:first-child
m.tiexue.net##.threeImg.titleUp
tiexue.net##.wangpadan
tiexue.net##.xiaqi
tiexue.net##[id*="junph"]
tiexue.net##[class*="junph"]
tiexue.net##a[href*=".junph."]
tiexue.net##a[href*=".liangada."]
tiexue.net##a[href*="game.tiexue."]
tiexue.net##a[href*=".yueleyu."]
tiexue.net##div[id^="Baidu_"]
tiexue.net##div[style$="top:40px;overflow: hidden;position: fixed;"]
tiexue.net##div[style*="overflow: hidden; position: fixed;"]
www.tiexue.net##style + p + div[class]
tiexue.net##style + script + div + div[class]
|http://www.creaders.net##.ads_pic
btbtt.co##.wrapper_bg_c.hidden-xs
!x -----------------------------------------------------------------------------------------------------------------

Some files were not shown because too many files have changed in this diff Show More