mirror of
https://github.com/monlor/MIXBOX-ARCHIVE.git
synced 2026-03-11 07:51:54 +00:00
moxbox init
This commit is contained in:
BIN
apps/pptpd/bin/bcrelay_linux_arm
Normal file
BIN
apps/pptpd/bin/bcrelay_linux_arm
Normal file
Binary file not shown.
BIN
apps/pptpd/bin/bcrelay_linux_mips
Normal file
BIN
apps/pptpd/bin/bcrelay_linux_mips
Normal file
Binary file not shown.
BIN
apps/pptpd/bin/pptpctrl_linux_arm
Normal file
BIN
apps/pptpd/bin/pptpctrl_linux_arm
Normal file
Binary file not shown.
BIN
apps/pptpd/bin/pptpctrl_linux_mips
Normal file
BIN
apps/pptpd/bin/pptpctrl_linux_mips
Normal file
Binary file not shown.
BIN
apps/pptpd/bin/pptpd_linux_arm
Normal file
BIN
apps/pptpd/bin/pptpd_linux_arm
Normal file
Binary file not shown.
BIN
apps/pptpd/bin/pptpd_linux_mips
Normal file
BIN
apps/pptpd/bin/pptpd_linux_mips
Normal file
Binary file not shown.
49
apps/pptpd/config/mixbox.conf
Normal file
49
apps/pptpd/config/mixbox.conf
Normal file
@@ -0,0 +1,49 @@
|
||||
#------------------【PPTPD】--------------------
|
||||
pptpd() {
|
||||
|
||||
eval `mbdb export pptpd`
|
||||
source /etc/mixbox/bin/base
|
||||
echo "********* $service ***********"
|
||||
echo "[${appinfo}]"
|
||||
if [ -f /tmp/pptp_connected ]; then
|
||||
echo "已连接用户信息:"
|
||||
cat /tmp/pptp_connected
|
||||
fi
|
||||
|
||||
readsh "启动${appname}服务[1/0] " "enable" "1"
|
||||
if [ "$enable" == '1' ]; then
|
||||
# Scripts Here
|
||||
read -p "更改${appname}配置?[1/0] " res
|
||||
if [ "$res" = '1' ]; then
|
||||
readsh "请输入${appname}本地IP地址" "localip" "192.168.111.1"
|
||||
readsh "请输入${appname}起始IP地址" "ip_min" "2"
|
||||
readsh "请输入${appname}结束IP地址" "ip_max" "100"
|
||||
readsh "请输入${appname}解析DNS地址" "dns1" "223.5.5.5"
|
||||
readsh "请输入${appname}解析DNS备用地址" "dns2" "223.6.6.6"
|
||||
fi
|
||||
cat /etc/ppp/chap-secrets 2> /dev/null
|
||||
read -p "管理${appname}用户?[1/0] " res
|
||||
if [ "$res" = '1' ]; then
|
||||
while true; do
|
||||
read -p "请输入${appname}用户名[回车结束]:" user
|
||||
[ -z "$user" ] && break || read -p "请输入${appname}密码:" pwd
|
||||
echo "添加用户:$user $pwd"
|
||||
${mbroot}/apps/${appname}/scripts/${appname}.sh add $user $pwd
|
||||
done
|
||||
while true; do
|
||||
read -p "请输入要删除的用户名[回车结束]:" user
|
||||
[ -z "$user" ] && break
|
||||
echo "删除用户:$user"
|
||||
${mbroot}/apps/${appname}/scripts/${appname}.sh del $user
|
||||
done
|
||||
fi
|
||||
|
||||
readsh "请输入${appname}外网访问配置[1/0]" "openport" "1"
|
||||
read -p "重启${appname}服务?[1/0] " res
|
||||
[ "$res" = '1' -o -z "$res" ] && ${mbroot}/apps/${appname}/scripts/${appname}.sh restart
|
||||
else
|
||||
${mbroot}/apps/${appname}/scripts/${appname}.sh stop
|
||||
fi
|
||||
|
||||
}
|
||||
#------------------【PPTPD】--------------------
|
||||
19
apps/pptpd/config/options.pptpd
Normal file
19
apps/pptpd/config/options.pptpd
Normal file
@@ -0,0 +1,19 @@
|
||||
name pptpd
|
||||
refuse-pap
|
||||
refuse-chap
|
||||
refuse-mschap
|
||||
require-mschap-v2
|
||||
mppe required,no40,no56,stateless
|
||||
mtu 1450
|
||||
mru 1450
|
||||
proxyarp
|
||||
lock
|
||||
nobsdcomp
|
||||
novj
|
||||
novjccomp
|
||||
nologfd
|
||||
lcp-echo-interval 2
|
||||
lcp-echo-failure 3
|
||||
ip-up-script /etc/mixbox/apps/pptpd/scripts/ip-up
|
||||
ip-down-script /etc/mixbox/apps/pptpd/scripts/ip-down
|
||||
# tools
|
||||
2
apps/pptpd/config/pptpd.conf
Normal file
2
apps/pptpd/config/pptpd.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
option /tmp/options.pptpd
|
||||
# tools
|
||||
8
apps/pptpd/config/pptpd.uci
Normal file
8
apps/pptpd/config/pptpd.uci
Normal file
@@ -0,0 +1,8 @@
|
||||
service="PPTPD"
|
||||
appname="pptpd"
|
||||
needver="0.0.1"
|
||||
backupfiles=""
|
||||
supports="linux_arm,linux_mips,linux_x86_64"
|
||||
appinfo="简单但并不安全的VPN服务器"
|
||||
newinfo=""
|
||||
version="0.0.2"
|
||||
1
apps/pptpd/config/version.txt
Normal file
1
apps/pptpd/config/version.txt
Normal file
@@ -0,0 +1 @@
|
||||
1.0.0
|
||||
3
apps/pptpd/scripts/ip-down
Normal file
3
apps/pptpd/scripts/ip-down
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
grep -v $1 /tmp/pptp_connected > /tmp/pptp_connected.new
|
||||
mv /tmp/pptp_connected.new /tmp/pptp_connected
|
||||
3
apps/pptpd/scripts/ip-up
Normal file
3
apps/pptpd/scripts/ip-up
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
DATE=`date "+%Y-%m-%d %H:%M:%S"`
|
||||
echo $1 $5 $6 $PEERNAME $DATE $PPPD_PID >> /tmp/pptp_connected
|
||||
127
apps/pptpd/scripts/pptpd.sh
Normal file
127
apps/pptpd/scripts/pptpd.sh
Normal file
@@ -0,0 +1,127 @@
|
||||
#!/bin/sh
|
||||
source /etc/mixbox/bin/base
|
||||
eval `mbdb export pptpd`
|
||||
source "$(mbdb get mixbox.main.path)"/apps/entware/scripts/functions.sh
|
||||
port=1723
|
||||
|
||||
open_ports () {
|
||||
iptables -I FORWARD -i ppp+ -j ACCEPT -m comment --comment "mixbox-${appname}" &> /dev/null
|
||||
open_port
|
||||
}
|
||||
|
||||
add(){
|
||||
[ -z "$1" -o -z "$2" ] && exit 1
|
||||
sed -i "/^$1/"d /etc/ppp/chap-secrets
|
||||
echo "$1 pptpd $2 * #tools" >> /etc/ppp/chap-secrets
|
||||
}
|
||||
del(){
|
||||
[ -z "$1" ] && exit 1
|
||||
sed -i "/^$1/{/tools$/d}" /etc/ppp/chap-secrets
|
||||
cat /tmp/pptp_connected | grep $1 | awk -F " " '{print $7}' | xargs kill -9
|
||||
sed -i "/$1/"d /tmp/pptp_connected
|
||||
}
|
||||
|
||||
detect_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
|
||||
}
|
||||
|
||||
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安装失败!" && exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
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
|
||||
# 检查entware
|
||||
detect_entware
|
||||
|
||||
install_entware_app ${appname}
|
||||
|
||||
cp -rf ${mbroot}/apps/${appname}/config/pptpd.conf /tmp/pptpd.conf
|
||||
cp -rf ${mbroot}/apps/${appname}/config/options.pptpd /tmp/options.pptpd
|
||||
|
||||
echo "localip "$localip >> /tmp/pptpd.conf
|
||||
network=$(echo $localip | awk -F "." '{print $1"."$2"."$3"."}')
|
||||
echo "remoteip " $network$ip_min"-"$ip_max >> /tmp/pptpd.conf
|
||||
echo "ms-dns "$dns1 >> /tmp/options.pptpd
|
||||
echo "ms-dns "$dns2 >> /tmp/options.pptpd
|
||||
echo "ms-wins "$lanip >> /tmp/options.pptpd
|
||||
|
||||
auto_start_enable ${appname}
|
||||
open_ports
|
||||
write_firewall_start
|
||||
daemon /opt/sbin/pptpd -c /tmp/pptpd.conf -o /tmp/options.pptpd
|
||||
if [ $? -ne 0 ]; then
|
||||
logsh "【$service】" "启动${appname}服务失败!" && end
|
||||
else
|
||||
logsh "【$service】" "启动${appname}服务完成!"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
||||
logsh "【$service】" "正在停止${appname}服务... "
|
||||
[ "$enable" == '0' ] && destroy
|
||||
close_port
|
||||
remove_firewall_start
|
||||
rm -rf {${mbtmp}}/*pptp*
|
||||
killall -9 ${appname} &> /dev/null
|
||||
# ps |grep pptpd | grep -v grep | grep -v {pptpd} | grep -v restart | awk '{print $1}' | xargs kill -9
|
||||
|
||||
}
|
||||
|
||||
destroy() {
|
||||
|
||||
auto_start_disable ${appname}
|
||||
# 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_ports ;;
|
||||
status) status ;;
|
||||
add) add "$2" "$3" ;;
|
||||
del) del "$2" ;;
|
||||
esac
|
||||
|
||||
|
||||
Reference in New Issue
Block a user