mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-31 16:05:13 +08:00
🤞 Sync 2026-04-23 06:19:46
This commit is contained in:
1 parent
a1df15cd3d
commit
b86d032e91
250 files changed
+41507
-188
No files matched your search
Executable
+50
@@ -0,0 +1,50 @@
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=pptpd-ext
|
||||
PKG_VERSION:=1
|
||||
PKG_RELEASE:=1
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/pptpd-ext
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/pptpd-ext
|
||||
TITLE:=pptpd server additional scripts
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=VPN
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/pptpd-ext/description
|
||||
This package contains additional scripts and configuration files for pptpd
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/pptpd-ext/install
|
||||
$(INSTALL_DIR) $(1)/etc
|
||||
$(CP) ./files/pptpd.conf $(1)/etc/pptpd.conf
|
||||
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/pptpd.init $(1)/etc/init.d/pptpd
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pptpd
|
||||
$(INSTALL_BIN) ./files/pptp-up $(1)/usr/lib/pptpd/pptp-up
|
||||
$(INSTALL_BIN) ./files/pptp-down $(1)/usr/lib/pptpd/pptp-down
|
||||
|
||||
$(INSTALL_DIR) $(1)/etc/ppp
|
||||
$(CP) ./files/options.pptpd $(1)/etc/ppp/options.pptpd
|
||||
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(CP) ./files/pptpd.config $(1)/etc/config/pptpd
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,pptpd-ext))
|
||||
@@ -0,0 +1,25 @@
|
||||
#debug
|
||||
#logfile /tmp/pptp-server.log
|
||||
auth
|
||||
name "pptp-server"
|
||||
lcp-echo-failure 3
|
||||
lcp-echo-interval 20
|
||||
default-asyncmap
|
||||
mtu 1482
|
||||
mru 1482
|
||||
nobsdcomp
|
||||
nodeflate
|
||||
#noproxyarp
|
||||
#nomppc
|
||||
require-mschap-v2
|
||||
refuse-chap
|
||||
refuse-mschap
|
||||
refuse-eap
|
||||
refuse-pap
|
||||
#ms-dns 172.16.1.1
|
||||
#plugin radius.so
|
||||
#radius-config-file /etc/radius.conf
|
||||
ip-up-script /usr/lib/pptpd/pptp-up
|
||||
#ipv6-up-script /usr/lib/pptpd/pptp-up
|
||||
ip-down-script /usr/lib/pptpd/pptp-down
|
||||
#ipv6-down-script /usr/lib/pptpd/pptp-down
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
sed -i "/$1/d" /tmp/pptpd/clients
|
||||
|
||||
[ -d /etc/ppp/ip-down.d ] && {
|
||||
for SCRIPT in /etc/ppp/ip-down.d/*
|
||||
do
|
||||
[ -x "$SCRIPT" ] && "$SCRIPT" "$@"
|
||||
done
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
mkdir /tmp/pptpd
|
||||
echo "ifname:$1;server:$4;client:$5;ip:$6" >> /tmp/pptpd/clients
|
||||
|
||||
section=$(uci show pptpd | grep $5 | awk -F '.' '{print $2}')
|
||||
route=$(uci get pptpd.$section.route)
|
||||
[ -n "$route" ] && {
|
||||
ip route add $route via $4 dev $1
|
||||
}
|
||||
|
||||
[ -d /etc/ppp/ip-up.d ] && {
|
||||
for SCRIPT in /etc/ppp/ip-up.d/*
|
||||
do
|
||||
[ -x "$SCRIPT" ] && "$SCRIPT" "$@"
|
||||
done
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
#debug
|
||||
speed 115200
|
||||
stimeout 10
|
||||
#localip & remoteip are not needed, ip management is done by pppd
|
||||
@@ -0,0 +1,4 @@
|
||||
config service 'pptpd'
|
||||
option 'enabled' '0'
|
||||
option 'logwtmp' '1'
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
|
||||
START=60
|
||||
USE_PROCD=1
|
||||
|
||||
BIN=/usr/sbin/pptpd
|
||||
CONFIG=/var/etc/pptpd.conf
|
||||
CHAP_SECRETS=/var/etc/chap-secrets
|
||||
OPTIONS_PPTP=/var/etc/options.pptpd
|
||||
|
||||
validate_login_section() {
|
||||
uci_load_validate pptpd login "$1" "$2" \
|
||||
'enabled:uinteger' \
|
||||
'username:string' \
|
||||
'password:string' \
|
||||
'remoteip:string'
|
||||
}
|
||||
|
||||
validate_pptpd_section() {
|
||||
uci_load_validate pptpd service "$1" "$2" \
|
||||
'enabled:uinteger' \
|
||||
'localip:string' \
|
||||
'remoteip_start:string' \
|
||||
'remoteip_end:string' \
|
||||
'mppe:list(string):required no40 no56 stateless' \
|
||||
'logwtmp:uinteger'
|
||||
}
|
||||
|
||||
setup_login() {
|
||||
[ "$2" = 0 ] || {
|
||||
echo "validation failed"
|
||||
return 1
|
||||
}
|
||||
|
||||
[ "$enabled" -eq 1 ] || return 0
|
||||
[ -n "$username" ] || return 0
|
||||
[ -n "$password" ] || return 0
|
||||
[ -n "$remoteip" ] || remoteip=*
|
||||
|
||||
echo "$username pptp-server $password $remoteip" >> $CHAP_SECRETS
|
||||
}
|
||||
|
||||
setup_config() {
|
||||
[ "$2" = 0 ] || {
|
||||
echo "validation failed"
|
||||
return 1
|
||||
}
|
||||
|
||||
[ "$enabled" -eq 0 ] && return 1
|
||||
|
||||
mkdir -p /var/etc
|
||||
cp /etc/pptpd.conf $CONFIG
|
||||
cp /etc/ppp/options.pptpd $OPTIONS_PPTP
|
||||
|
||||
[ -n "$localip" ] && echo "localip $localip" >> $CONFIG
|
||||
[ -n "$remoteip_start" ] && [ -n "$remoteip_end" ] && echo "remoteip $remoteip_start-${remoteip_end##*.}" >> $CONFIG
|
||||
[ "$logwtmp" -eq 1 ] && echo "logwtmp" >> $CONFIG
|
||||
|
||||
echo "mppe $(echo $mppe | sed -e 's/\s/,/g')" >> $OPTIONS_PPTP
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
start_service() {
|
||||
config_load pptpd
|
||||
validate_pptpd_section pptpd setup_config || return
|
||||
sed -i '/pptp-server/d' $CHAP_SECRETS
|
||||
config_foreach validate_login_section login setup_login
|
||||
|
||||
ln -sfn $CHAP_SECRETS /etc/ppp/chap-secrets
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command $BIN -c $CONFIG --fg -o $OPTIONS_PPTP
|
||||
procd_set_param respawn
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger "pptpd"
|
||||
|
||||
procd_open_validate
|
||||
validate_pptpd_section
|
||||
validate_login_section
|
||||
procd_close_validate
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
ps | grep "$OPTIONS_PPTP" | grep -v "grep" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1
|
||||
rm /tmp/pptpd/clients >/dev/null 2>&1
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
Reference in new issue
Block a user