passwall: try use ipt2socks replace redsocks2
This commit is contained in:
parent
dd10803768
commit
cdc66ef655
48
package/lienol/ipt2socks/Makefile
Normal file
48
package/lienol/ipt2socks/Makefile
Normal file
@ -0,0 +1,48 @@
|
||||
#
|
||||
# Copyright (C) 2014 OpenWrt-dist
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ipt2socks
|
||||
PKG_VERSION:=1.0.1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/zfl9/ipt2socks.git
|
||||
PKG_SOURCE_VERSION:=b9bd7d888f2f95a6d7306030c8a5e252732dc451
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/ipt2socks
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=Utility for converting iptables (REDIRECT/TPROXY) to SOCKS5
|
||||
URL:=https://github.com/zfl9/ipt2socks
|
||||
DEPENDS:=+libuv
|
||||
endef
|
||||
|
||||
define Package/ipt2socks/description
|
||||
Utility for converting iptables (REDIRECT/TPROXY) to SOCKS5.
|
||||
endef
|
||||
|
||||
define Package/ipt2socks/conffiles
|
||||
/etc/config/ipt2socks
|
||||
endef
|
||||
|
||||
#MAKE_FLAGS += INCLUDES="-I$(STAGING_DIR)/usr/include"
|
||||
#MAKE_FLAGS += LDFLAGS="-L$(STAGING_DIR)/usr/lib"
|
||||
MAKE_FLAGS += LIBS="-l:libuv_a.a"
|
||||
|
||||
define Package/ipt2socks/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ipt2socks $(1)/usr/bin
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,ipt2socks))
|
||||
@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-passwall
|
||||
PKG_VERSION:=2.0
|
||||
PKG_RELEASE:=99-20191114
|
||||
PKG_RELEASE:=100-20191116
|
||||
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PO2LMO:=./po2lmo
|
||||
@ -17,8 +17,8 @@ include $(INCLUDE_DIR)/package.mk
|
||||
define Package/$(PKG_NAME)/config
|
||||
menu "Configuration"
|
||||
|
||||
config PACKAGE_$(PKG_NAME)_INCLUDE_redsocks2
|
||||
bool "Include RedSocks2"
|
||||
config PACKAGE_$(PKG_NAME)_INCLUDE_ipt2socks
|
||||
bool "Include ipt2socks"
|
||||
default y
|
||||
|
||||
config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks
|
||||
@ -83,13 +83,13 @@ define Package/$(PKG_NAME)
|
||||
PKGARCH:=all
|
||||
DEPENDS:=+curl +libcurl +libmbedtls +ca-bundle +ca-certificates +resolveip +iptables-mod-tproxy +kmod-ipt-tproxy +iptables-mod-ipopt +kmod-ipt-ipopt +ip +ipset +coreutils +coreutils-base64 +coreutils-nohup +luci-lib-jsonc +unzip \
|
||||
+dnsmasq-full \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_redsocks2:redsocks2 \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_ipt2socks:ipt2socks \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks:shadowsocks-libev-ss-redir \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR:shadowsocksr-libev-alt \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_socks:shadowsocks-libev-ss-local \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_socks:shadowsocksr-libev-ssr-local \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:v2ray \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:trojan +redsocks2 \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:trojan +ipt2socks \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_Brook:brook \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_kcptun:kcptun-client \
|
||||
+PACKAGE_$(PKG_NAME)_INCLUDE_haproxy:haproxy \
|
||||
@ -128,7 +128,6 @@ endef
|
||||
define Package/$(PKG_NAME)/postinst
|
||||
#!/bin/sh
|
||||
chmod a+x $${IPKG_INSTROOT}/usr/share/passwall/* >/dev/null 2>&1
|
||||
rm -rf $${IPKG_INSTROOT}/etc/chinadns_chnroute.txt >/dev/null 2>&1
|
||||
exit 0
|
||||
endef
|
||||
|
||||
|
||||
@ -127,8 +127,8 @@ function server_status()
|
||||
i, i))
|
||||
e["tcp_redir_server%s_status" % i] =
|
||||
luci.sys.call(string.format(
|
||||
"ps -w | grep -v grep | grep -i -E '%s/TCP_%s|brook tproxy -l 0.0.0.0:%s' >/dev/null",
|
||||
appname, i, listen_port)) == 0
|
||||
"ps -w | grep -v grep | grep -i -E '%s/TCP_%s|brook tproxy -l 0.0.0.0:%s|ipt2socks -T -l %s' >/dev/null",
|
||||
appname, i, listen_port, listen_port)) == 0
|
||||
end
|
||||
|
||||
local udp_redir_server_num = luci.sys.exec(
|
||||
@ -141,8 +141,8 @@ function server_status()
|
||||
i, i))
|
||||
e["udp_redir_server%s_status" % i] =
|
||||
luci.sys.call(string.format(
|
||||
"ps -w | grep -v grep | grep -i -E '%s/UDP_%s|brook tproxy -l 0.0.0.0:%s' >/dev/null",
|
||||
appname, i, listen_port)) == 0
|
||||
"ps -w | grep -v grep | grep -i -E '%s/UDP_%s|brook tproxy -l 0.0.0.0:%s|ipt2socks -U -l %s' >/dev/null",
|
||||
appname, i, listen_port, listen_port)) == 0
|
||||
end
|
||||
|
||||
local socks5_proxy_server_num = luci.sys.exec(
|
||||
|
||||
@ -102,7 +102,7 @@ end
|
||||
o = s:option(ListValue, "dns_mode", translate("DNS Forward Mode"))
|
||||
o.rmempty = false
|
||||
o:reset_values()
|
||||
if is_installed("openwrt_chinadns") or is_finded("chinadns") then
|
||||
if is_installed("ChinaDNS") or is_finded("chinadns") then
|
||||
o:value("chinadns", "ChinaDNS")
|
||||
end
|
||||
if is_installed("dns2socks") or is_finded("dns2socks") then
|
||||
|
||||
@ -58,7 +58,8 @@ remarks.default = translate("Node Remarks")
|
||||
remarks.rmempty = false
|
||||
|
||||
server_type = s:option(ListValue, "server_type", translate("Server Type"))
|
||||
if is_installed("redsocks2") or is_finded("redsocks2") then
|
||||
if ((is_installed("redsocks2") or is_finded("redsocks2")) or
|
||||
(is_installed("ipt2socks") or is_finded("ipt2socks"))) then
|
||||
server_type:value("Socks5", translate("Socks5 Server"))
|
||||
end
|
||||
if is_finded("ss-redir") then
|
||||
@ -352,8 +353,6 @@ server_type.validate = function(self, value)
|
||||
return value
|
||||
end
|
||||
|
||||
v2ray_transport.validate = function(self, value)
|
||||
return value
|
||||
end
|
||||
v2ray_transport.validate = function(self, value) return value end
|
||||
|
||||
return m
|
||||
|
||||
@ -50,7 +50,7 @@ config global_rules
|
||||
option Pcap_WhiteList_update '0'
|
||||
option auto_update '0'
|
||||
option chnroute_version '2019-10-18'
|
||||
option gfwlist_version '2019-10-28'
|
||||
option gfwlist_version '2019-11-16'
|
||||
|
||||
config global_app
|
||||
option v2ray_client_file '/usr/bin/v2ray/'
|
||||
|
||||
@ -388,16 +388,20 @@ start_tcp_redir() {
|
||||
trojan_bin=$(find_bin trojan)
|
||||
[ -n "$trojan_bin" ] && $trojan_bin -c $config_file >/dev/null 2>&1 &
|
||||
elif [ "$TYPE" == "socks5" ]; then
|
||||
redsocks_bin=$(find_bin redsocks2)
|
||||
[ -n "$redsocks_bin" ] && {
|
||||
local server=$(config_get $temp_server server)
|
||||
local server_port=$(config_get $temp_server server_port)
|
||||
local server_username=$(config_get $temp_server username)
|
||||
local server_password=$(config_get $temp_server password)
|
||||
local redsocks_config_file=$CONFIG_PATH/TCP_$i.conf
|
||||
gen_redsocks_config $redsocks_config_file tcp $port $server $server_port $server_username $server_password
|
||||
$redsocks_bin -c $redsocks_config_file >/dev/null &
|
||||
local server=$(config_get $temp_server server)
|
||||
local server_port=$(config_get $temp_server server_port)
|
||||
local server_username=$(config_get $temp_server username)
|
||||
local server_password=$(config_get $temp_server password)
|
||||
ipt2socks_bin=$(find_bin ipt2socks)
|
||||
[ -n "$ipt2socks_bin" ] && {
|
||||
$ipt2socks_bin -T -l $port -b 0.0.0.0 -s $server -p $server_port -R >/dev/null &
|
||||
}
|
||||
#redsocks_bin=$(find_bin redsocks2)
|
||||
#[ -n "$redsocks_bin" ] && {
|
||||
# local redsocks_config_file=$CONFIG_PATH/TCP_$i.conf
|
||||
# gen_redsocks_config $redsocks_config_file tcp $port $server $server_port $server_username $server_password
|
||||
# $redsocks_bin -c $redsocks_config_file >/dev/null &
|
||||
#}
|
||||
elif [ "$TYPE" == "ss" -o "$TYPE" == "ssr" ]; then
|
||||
ss_bin=$(find_bin "$TYPE"-redir)
|
||||
[ -n "$ss_bin" ] && {
|
||||
@ -435,23 +439,36 @@ start_udp_redir() {
|
||||
elif [ "$TYPE" == "trojan" ]; then
|
||||
trojan_bin=$(find_bin trojan)
|
||||
[ -n "$trojan_bin" ] && $trojan_bin -c $config_file >/dev/null 2>&1 &
|
||||
redsocks_bin=$(find_bin redsocks2)
|
||||
[ -n "$redsocks_bin" ] && {
|
||||
local redsocks_config_file=$CONFIG_PATH/redsocks_UDP_$i.conf
|
||||
gen_redsocks_config $redsocks_config_file udp $port "127.0.0.1" $socks5_port
|
||||
$redsocks_bin -c $redsocks_config_file >/dev/null &
|
||||
local server=$(config_get $temp_server server)
|
||||
local server_port=$(config_get $temp_server server_port)
|
||||
local server_username=$(config_get $temp_server username)
|
||||
local server_password=$(config_get $temp_server password)
|
||||
ipt2socks_bin=$(find_bin ipt2socks)
|
||||
[ -n "$ipt2socks_bin" ] && {
|
||||
$ipt2socks_bin -U -l $port -b 0.0.0.0 -s 127.0.0.1 -p $socks5_port -R >/dev/null &
|
||||
}
|
||||
|
||||
#redsocks_bin=$(find_bin redsocks2)
|
||||
#[ -n "$redsocks_bin" ] && {
|
||||
# local redsocks_config_file=$CONFIG_PATH/redsocks_UDP_$i.conf
|
||||
# gen_redsocks_config $redsocks_config_file udp $port "127.0.0.1" $socks5_port
|
||||
# $redsocks_bin -c $redsocks_config_file >/dev/null &
|
||||
#}
|
||||
elif [ "$TYPE" == "socks5" ]; then
|
||||
redsocks_bin=$(find_bin redsocks2)
|
||||
[ -n "$redsocks_bin" ] && {
|
||||
local server=$(config_get $temp_server server)
|
||||
local server_port=$(config_get $temp_server server_port)
|
||||
local server_username=$(config_get $temp_server username)
|
||||
local server_password=$(config_get $temp_server password)
|
||||
local redsocks_config_file=$CONFIG_PATH/UDP_$i.conf
|
||||
gen_redsocks_config $redsocks_config_file udp $port $server $server_port $server_username $server_password
|
||||
$redsocks_bin -c $redsocks_config_file >/dev/null &
|
||||
local server=$(config_get $temp_server server)
|
||||
local server_port=$(config_get $temp_server server_port)
|
||||
local server_username=$(config_get $temp_server username)
|
||||
local server_password=$(config_get $temp_server password)
|
||||
ipt2socks_bin=$(find_bin ipt2socks)
|
||||
[ -n "$ipt2socks_bin" ] && {
|
||||
$ipt2socks_bin -U -l $port -b 0.0.0.0 -s $server -p $server_port -R >/dev/null &
|
||||
}
|
||||
#redsocks_bin=$(find_bin redsocks2)
|
||||
#[ -n "$redsocks_bin" ] && {
|
||||
# local redsocks_config_file=$CONFIG_PATH/UDP_$i.conf
|
||||
# gen_redsocks_config $redsocks_config_file udp $port $server $server_port $server_username $server_password
|
||||
# $redsocks_bin -c $redsocks_config_file >/dev/null &
|
||||
#}
|
||||
elif [ "$TYPE" == "ss" -o "$TYPE" == "ssr" ]; then
|
||||
ss_bin=$(find_bin "$TYPE"-redir)
|
||||
[ -n "$ss_bin" ] && {
|
||||
@ -1130,7 +1147,7 @@ stop() {
|
||||
clean_log
|
||||
source $APP_PATH/iptables.sh stop
|
||||
del_vps_port
|
||||
kill_all pdnsd Pcap_DNSProxy brook dns2socks haproxy dns-forwarder chinadns dnsproxy
|
||||
kill_all pdnsd Pcap_DNSProxy brook dns2socks haproxy dns-forwarder chinadns dnsproxy ipt2socks
|
||||
ps -w | grep -E "$CONFIG_TCP_FILE|$CONFIG_UDP_FILE|$CONFIG_SOCKS5_FILE" | grep -v "grep" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 &
|
||||
ps -w | grep -E "$CONFIG_PATH" | grep -v "grep" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 &
|
||||
ps -w | grep "kcptun_client" | grep "$KCPTUN_REDIR_PORT" | grep -v "grep" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 &
|
||||
|
||||
@ -192,6 +192,8 @@ server=/.6park.com/127.0.0.1#7913
|
||||
ipset=/.6park.com/gfwlist
|
||||
server=/.6parker.com/127.0.0.1#7913
|
||||
ipset=/.6parker.com/gfwlist
|
||||
server=/.6parknews.com/127.0.0.1#7913
|
||||
ipset=/.6parknews.com/gfwlist
|
||||
server=/.7capture.com/127.0.0.1#7913
|
||||
ipset=/.7capture.com/gfwlist
|
||||
server=/.7cow.com/127.0.0.1#7913
|
||||
@ -748,6 +750,8 @@ server=/.avdb.tv/127.0.0.1#7913
|
||||
ipset=/.avdb.tv/gfwlist
|
||||
server=/.avfantasy.com/127.0.0.1#7913
|
||||
ipset=/.avfantasy.com/gfwlist
|
||||
server=/.avg.com/127.0.0.1#7913
|
||||
ipset=/.avg.com/gfwlist
|
||||
server=/.avgle.com/127.0.0.1#7913
|
||||
ipset=/.avgle.com/gfwlist
|
||||
server=/.avidemux.org/127.0.0.1#7913
|
||||
@ -2436,6 +2440,8 @@ server=/.dm530.net/127.0.0.1#7913
|
||||
ipset=/.dm530.net/gfwlist
|
||||
server=/.dmcdn.net/127.0.0.1#7913
|
||||
ipset=/.dmcdn.net/gfwlist
|
||||
server=/.dmhy.org/127.0.0.1#7913
|
||||
ipset=/.dmhy.org/gfwlist
|
||||
server=/.dmm.co.jp/127.0.0.1#7913
|
||||
ipset=/.dmm.co.jp/gfwlist
|
||||
server=/.dns-dns.com/127.0.0.1#7913
|
||||
@ -2466,6 +2472,8 @@ server=/.dnvod.tv/127.0.0.1#7913
|
||||
ipset=/.dnvod.tv/gfwlist
|
||||
server=/.doctorvoice.org/127.0.0.1#7913
|
||||
ipset=/.doctorvoice.org/gfwlist
|
||||
server=/.documentingreality.com/127.0.0.1#7913
|
||||
ipset=/.documentingreality.com/gfwlist
|
||||
server=/.dogfartnetwork.com/127.0.0.1#7913
|
||||
ipset=/.dogfartnetwork.com/gfwlist
|
||||
server=/.dojin.com/127.0.0.1#7913
|
||||
@ -3138,6 +3146,8 @@ server=/.feedburner.com/127.0.0.1#7913
|
||||
ipset=/.feedburner.com/gfwlist
|
||||
server=/.feeds.fileforum.com/127.0.0.1#7913
|
||||
ipset=/.feeds.fileforum.com/gfwlist
|
||||
server=/.feedx.net/127.0.0.1#7913
|
||||
ipset=/.feedx.net/gfwlist
|
||||
server=/.feelssh.com/127.0.0.1#7913
|
||||
ipset=/.feelssh.com/gfwlist
|
||||
server=/.feer.com/127.0.0.1#7913
|
||||
@ -4272,6 +4282,8 @@ server=/.guaneryu.com/127.0.0.1#7913
|
||||
ipset=/.guaneryu.com/gfwlist
|
||||
server=/.guangming.com.my/127.0.0.1#7913
|
||||
ipset=/.guangming.com.my/gfwlist
|
||||
server=/.guangnianvpn.com/127.0.0.1#7913
|
||||
ipset=/.guangnianvpn.com/gfwlist
|
||||
server=/.guardster.com/127.0.0.1#7913
|
||||
ipset=/.guardster.com/gfwlist
|
||||
server=/.guishan.org/127.0.0.1#7913
|
||||
@ -4346,6 +4358,8 @@ server=/.hakkatv.org.tw/127.0.0.1#7913
|
||||
ipset=/.hakkatv.org.tw/gfwlist
|
||||
server=/.handcraftedsoftware.org/127.0.0.1#7913
|
||||
ipset=/.handcraftedsoftware.org/gfwlist
|
||||
server=/.hanime.tv/127.0.0.1#7913
|
||||
ipset=/.hanime.tv/gfwlist
|
||||
server=/.hanunyi.com/127.0.0.1#7913
|
||||
ipset=/.hanunyi.com/gfwlist
|
||||
server=/.hao.news/127.0.0.1#7913
|
||||
@ -5668,6 +5682,8 @@ server=/.lighti.me/127.0.0.1#7913
|
||||
ipset=/.lighti.me/gfwlist
|
||||
server=/.lightnovel.cn/127.0.0.1#7913
|
||||
ipset=/.lightnovel.cn/gfwlist
|
||||
server=/.lightyearvpn.com/127.0.0.1#7913
|
||||
ipset=/.lightyearvpn.com/gfwlist
|
||||
server=/.lihkg.com/127.0.0.1#7913
|
||||
ipset=/.lihkg.com/gfwlist
|
||||
server=/.like.com/127.0.0.1#7913
|
||||
@ -7576,6 +7592,8 @@ server=/.qvodzy.org/127.0.0.1#7913
|
||||
ipset=/.qvodzy.org/gfwlist
|
||||
server=/.qxbbs.org/127.0.0.1#7913
|
||||
ipset=/.qxbbs.org/gfwlist
|
||||
server=/.qz.com/127.0.0.1#7913
|
||||
ipset=/.qz.com/gfwlist
|
||||
server=/.r18.com/127.0.0.1#7913
|
||||
ipset=/.r18.com/gfwlist
|
||||
server=/.ra.gg/127.0.0.1#7913
|
||||
@ -10208,6 +10226,8 @@ server=/.waselpro.com/127.0.0.1#7913
|
||||
ipset=/.waselpro.com/gfwlist
|
||||
server=/.washeng.net/127.0.0.1#7913
|
||||
ipset=/.washeng.net/gfwlist
|
||||
server=/.washingtonpost.com/127.0.0.1#7913
|
||||
ipset=/.washingtonpost.com/gfwlist
|
||||
server=/.watch8x.com/127.0.0.1#7913
|
||||
ipset=/.watch8x.com/gfwlist
|
||||
server=/.watchinese.com/127.0.0.1#7913
|
||||
|
||||
@ -48,7 +48,7 @@ for i in $(seq 1 $TCP_REDIR_SERVER_NUM); do
|
||||
fi
|
||||
fi
|
||||
[ -f "/var/etc/passwall/port/TCP_$i" ] && listen_port=$(echo -n `cat /var/etc/passwall/port/TCP_$i`)
|
||||
icount=$(ps -w | grep -v grep | grep -i -E "${CONFIG}/TCP_${i}|brook tproxy -l 0.0.0.0:${listen_port}" | wc -l)
|
||||
icount=$(ps -w | grep -v grep | grep -i -E "${CONFIG}/TCP_${i}|brook tproxy -l 0.0.0.0:${listen_port}|ipt2socks -T -l ${listen_port}" | wc -l)
|
||||
if [ $icount = 0 ]; then
|
||||
/etc/init.d/passwall restart
|
||||
exit 0
|
||||
@ -63,7 +63,7 @@ for i in $(seq 1 $UDP_REDIR_SERVER_NUM); do
|
||||
if [ "$temp_server" != "nil" ]; then
|
||||
[ "$temp_server" == "default" ] && temp_server=$TCP_REDIR_SERVER1
|
||||
[ -f "/var/etc/passwall/port/UDP_$i" ] && listen_port=$(echo -n `cat /var/etc/passwall/port/UDP_$i`)
|
||||
icount=$(ps -w | grep -v grep | grep -i -E "${CONFIG}/UDP_${i}|brook tproxy -l 0.0.0.0:${listen_port}" | wc -l)
|
||||
icount=$(ps -w | grep -v grep | grep -i -E "${CONFIG}/UDP_${i}|brook tproxy -l 0.0.0.0:${listen_port}|ipt2socks -U -l ${listen_port}" | wc -l)
|
||||
if [ $icount = 0 ]; then
|
||||
/etc/init.d/passwall restart
|
||||
exit 0
|
||||
|
||||
Loading…
Reference in New Issue
Block a user