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.

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"

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】--------------------

View File

@@ -0,0 +1 @@
1.0.5

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.

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

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"

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】--------------------

BIN
apps/aria2/lib/libstdc++.so Normal file

Binary file not shown.

Binary file not shown.

BIN
apps/aria2/lib/libxml2.so.2 Normal file

Binary file not shown.

129
apps/aria2/scripts/aria2.sh Normal file
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

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
apps/aria2/web/AriaNG/index.html Executable 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.

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"

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】--------------------

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

View File

@@ -0,0 +1,9 @@
-----------------------------------------------------
Welcome to MIXBOX!
-----------------------------------------------------
__ ______ __ ________ __ ____ ____ _ __
/ / / / _/ / |/ / _/ |/ // __ )/ __ \ |/ /
/ /_/ // / / /|_/ // / | // __ / / / / /
/ __ // / / / / // / / |/ /_/ / /_/ / |
/_/ /_/___/ /_/ /_/___//_/|_/_____/\____/_/|_|

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"

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】--------------------

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.

View File

@@ -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"

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】--------------------

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

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"

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】--------------------

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

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
}

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"

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】--------------------

View File

@@ -0,0 +1 @@
1.0.6

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.

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"

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】--------------------

View File

@@ -0,0 +1 @@
1.0.3

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

View File

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

View File

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

View File

@@ -0,0 +1 @@
1.1.0

View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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"

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
apps/frpc/scripts/frpc.sh Normal file
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.

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"

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】--------------------

View File

@@ -0,0 +1 @@
1.0.4

94
apps/frps/scripts/frps.sh Normal file
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

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"

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】--------------------

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.

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"

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】--------------------

View File

@@ -0,0 +1 @@
1.0.3

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.

BIN
apps/kms/bin/kms_linux_arm Normal file

Binary file not shown.

BIN
apps/kms/bin/kms_linux_mips Normal file

Binary file not shown.

Binary file not shown.

7
apps/kms/config/kms.uci Normal file
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"

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】--------------------

View File

@@ -0,0 +1 @@
1.1.5

67
apps/kms/scripts/kms.sh Normal file
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

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"

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】--------------------

View File

@@ -0,0 +1 @@
1.4.1

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

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

View File

@@ -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

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

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