diff --git a/package/lienol/luci-app-passwall/Makefile b/package/lienol/luci-app-passwall/Makefile index 5b618c2507..ab1b992ea7 100644 --- a/package/lienol/luci-app-passwall/Makefile +++ b/package/lienol/luci-app-passwall/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall PKG_VERSION:=3.3 -PKG_RELEASE:=38-20200128 +PKG_RELEASE:=39-20200130 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/other.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/other.lua index 47c4254771..26fb12b43a 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/other.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/other.lua @@ -12,7 +12,7 @@ s.addremove = false ---- Delay Start o = s:option(Value, "start_delay", translate("Delay Start"), translate("Units:seconds")) -o.default = "0" +o.default = "1" o.rmempty = true ---- Open and close Daemon @@ -20,6 +20,7 @@ o = s:option(Flag, "start_daemon", translate("Open and close Daemon")) o.default = 1 o.rmempty = false +--[[ ---- Open and close automatically o = s:option(Flag, "auto_on", translate("Open and close automatically")) o.default = 0 @@ -45,6 +46,7 @@ o.default = nil o:depends("auto_on", "1") o:value(nil, translate("Disable")) for e = 0, 23 do o:value(e, e .. translate("oclock")) end +--]] -- [[ Forwarding Settings ]]-- s = m:section(TypedSection, "global_forwarding", @@ -77,11 +79,18 @@ o:value("2", "2 " .. translate("Process")) o:value("3", "3 " .. translate("Process")) o:value("4", "4 " .. translate("Process")) --- [[ Proxy Settings ]]-- -s = m:section(TypedSection, "global_proxy", translate("Proxy Settings")) -s.anonymous = true -s.addremove = false +---- Socks5 Proxy Port +o = s:option(Value, "socks5_proxy_port", translate("Socks5 Proxy Port")) +o.datatype = "port" +o.default = 1081 +o.rmempty = true +---- Proxy IPv6 +o = s:option(Flag, "proxy_ipv6", translate("Proxy IPv6"), + translate("The IPv6 traffic can be proxyed when selected")) +o.default = 0 + +--[[ ---- TCP Redir Port o = s:option(Value, "tcp_redir_port", translate("TCP Redir Port")) o.datatype = "port" @@ -94,22 +103,12 @@ o.datatype = "port" o.default = 1051 o.rmempty = true ----- Socks5 Proxy Port -o = s:option(Value, "socks5_proxy_port", translate("Socks5 Proxy Port")) -o.datatype = "port" -o.default = 1061 -o.rmempty = true - ---- Kcptun Port o = s:option(Value, "kcptun_port", translate("Kcptun Port")) o.datatype = "port" -o.default = 11183 +o.default = 12948 o.rmempty = true - ----- Proxy IPv6 -o = s:option(Flag, "proxy_ipv6", translate("Proxy IPv6"), - translate("The IPv6 traffic can be proxyed when selected")) -o.default = 0 +--]] -- [[ Other Settings ]]-- s = m:section(TypedSection, "global_other", translate("Other Settings"), diff --git a/package/lienol/luci-app-passwall/root/etc/config/passwall b/package/lienol/luci-app-passwall/root/etc/config/passwall index d98b76991a..c13c264acd 100644 --- a/package/lienol/luci-app-passwall/root/etc/config/passwall +++ b/package/lienol/luci-app-passwall/root/etc/config/passwall @@ -18,18 +18,13 @@ config global_haproxy config global_delay option auto_on '0' option start_daemon '0' - option start_delay '20' + option start_delay '1' config global_forwarding - option udp_redir_ports '1:65535' - option tcp_redir_ports '1:65535' option process '1' - -config global_proxy - option tcp_redir_port '1041' - option udp_redir_port '1051' - option socks5_proxy_port '1061' - option kcptun_port '11183' + option tcp_redir_ports '1:65535' + option udp_redir_ports '1:65535' + option socks5_proxy_port '1081' option proxy_ipv6 '0' config global_other diff --git a/package/lienol/luci-app-passwall/root/usr/share/passwall/app.sh b/package/lienol/luci-app-passwall/root/usr/share/passwall/app.sh index ea7f357124..f21ac8dbc5 100755 --- a/package/lienol/luci-app-passwall/root/usr/share/passwall/app.sh +++ b/package/lienol/luci-app-passwall/root/usr/share/passwall/app.sh @@ -175,10 +175,9 @@ SOCKS5_NODE1_TYPE="" BROOK_SOCKS5_CMD="" BROOK_TCP_CMD="" BROOK_UDP_CMD="" -AUTO_SWITCH_ENABLE=$(config_t_get auto_switch enable 0) TCP_REDIR_PORTS=$(config_t_get global_forwarding tcp_redir_ports '80,443') UDP_REDIR_PORTS=$(config_t_get global_forwarding udp_redir_ports '1:65535') -KCPTUN_REDIR_PORT=$(config_t_get global_proxy kcptun_port 11183) +KCPTUN_REDIR_PORT=$(config_t_get global_forwarding kcptun_port 12948) PROXY_MODE=$(config_t_get global proxy_mode gfwlist) load_config() { @@ -212,16 +211,16 @@ load_config() { local dns2=$(cat $RESOLVFILE 2>/dev/null | grep -E -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | grep -v 0.0.0.0 | grep -v 127.0.0.1 | sed -n '2P') [ -n "$dns1" -a -n "$dns2" ] && UP_CHINA_DNS="$dns1,$dns2" } - TCP_REDIR_PORT1=$(config_t_get global_proxy tcp_redir_port 1041) + TCP_REDIR_PORT1=$(config_t_get global_forwarding tcp_redir_port 1041) TCP_REDIR_PORT2=$(expr $TCP_REDIR_PORT1 + 1) TCP_REDIR_PORT3=$(expr $TCP_REDIR_PORT2 + 1) - UDP_REDIR_PORT1=$(config_t_get global_proxy udp_redir_port 1051) + UDP_REDIR_PORT1=$(config_t_get global_forwarding udp_redir_port 1051) UDP_REDIR_PORT2=$(expr $UDP_REDIR_PORT1 + 1) UDP_REDIR_PORT3=$(expr $UDP_REDIR_PORT2 + 1) - SOCKS5_PROXY_PORT1=$(config_t_get global_proxy socks5_proxy_port 1061) + SOCKS5_PROXY_PORT1=$(config_t_get global_forwarding socks5_proxy_port 1081) SOCKS5_PROXY_PORT2=$(expr $SOCKS5_PROXY_PORT1 + 1) SOCKS5_PROXY_PORT3=$(expr $SOCKS5_PROXY_PORT2 + 1) - PROXY_IPV6=$(config_t_get global_proxy proxy_ipv6 0) + PROXY_IPV6=$(config_t_get global_forwarding proxy_ipv6 0) mkdir -p /var/etc $CONFIG_PATH $RUN_PID_PATH $RUN_ID_PATH $RUN_IP_PATH $RUN_PORT_PATH config_load $CONFIG return 0 @@ -245,8 +244,8 @@ gen_ss_ssr_config_file() { } cat <<-EOF >$configfile { - "server": "$server_host", "_comment": "$server_ip", + "server": "$server_host", "server_port": $port, "local_address": "0.0.0.0", "local_port": $local_port, @@ -662,7 +661,7 @@ start_crontab() { echolog "已启动守护进程。" fi - auto_on=$(config_t_get global_delay auto_on) + auto_on=$(config_t_get global_delay auto_on 0) if [ "$auto_on" = "1" ]; then time_off=$(config_t_get global_delay time_off) time_on=$(config_t_get global_delay time_on) @@ -681,6 +680,7 @@ start_crontab() { } fi + AUTO_SWITCH_ENABLE=$(config_t_get auto_switch enable 0) [ "$AUTO_SWITCH_ENABLE" = "1" ] && { testing_time=$(config_t_get auto_switch testing_time) [ -n "$testing_time" ] && { @@ -694,7 +694,7 @@ start_crontab() { stop_crontab() { sed -i "/$CONFIG/d" /etc/crontabs/root >/dev/null 2>&1 & ps | grep "$APP_PATH/test.sh" | grep -v "grep" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 & - rm -f /var/lock/passwall_test.lock >/dev/null 2>&1 & + rm -f /var/lock/${CONFIG}_test.lock >/dev/null 2>&1 & /etc/init.d/cron restart echolog "清除定时执行命令。" } @@ -1108,12 +1108,10 @@ force_stop() { } boot() { - local delay=$(config_t_get global_delay start_delay 0) + local delay=$(config_t_get global_delay start_delay 1) if [ "$delay" -gt 0 ]; then - [ "$TCP_NODE1" != "nil" -o "$UDP_NODE1" != "nil" ] && { - echolog "执行启动延时 $delay 秒后再启动!" - sleep $delay && start >/dev/null 2>&1 & - } + echolog "执行启动延时 $delay 秒后再启动!" + sleep $delay && start >/dev/null 2>&1 & else start fi diff --git a/package/lienol/luci-app-passwall/root/usr/share/passwall/iptables.sh b/package/lienol/luci-app-passwall/root/usr/share/passwall/iptables.sh index fb2b5d6eb8..e763dfba31 100755 --- a/package/lienol/luci-app-passwall/root/usr/share/passwall/iptables.sh +++ b/package/lienol/luci-app-passwall/root/usr/share/passwall/iptables.sh @@ -187,20 +187,9 @@ filter_vpsip() { dns_hijack() { dnshijack=$(config_t_get global dns_53) if [ "$dnshijack" = "1" -o "$1" = "force" ]; then - chromecast_nu=$($iptables_nat -L PSW -v -n --line-numbers | grep "dpt:53" | awk '{print $1}') - is_right_lanip=$($iptables_nat -L PSW -v -n --line-numbers | grep "dpt:53" | grep "$lanip") - if [ -z "$chromecast_nu" ]; then - echolog "添加DNS劫持规则..." - $iptables_nat -I PSW -i br-lan -p udp --dport 53 -j DNAT --to $lanip 2>/dev/null - else - if [ -z "$is_right_lanip" ]; then - echolog "添加DNS劫持规则..." - $iptables_nat -D PSW $chromecast_nu >/dev/null 2>&1 & - $iptables_nat -I PSW -i br-lan -p udp --dport 53 -j DNAT --to $lanip 2>/dev/null - else - echolog "DNS劫持规则已经添加,跳过~" >>$LOG_FILE - fi - fi + echolog "添加DNS劫持规则..." + $iptables_nat -I PSW -p udp --dport 53 -j REDIRECT --to-ports 53 + $iptables_nat -I PSW -p tcp --dport 53 -j REDIRECT --to-ports 53 fi }