mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Update v2ray-core, add default config and init
This commit is contained in:
		
							parent
							
								
									cf601c7eba
								
							
						
					
					
						commit
						9f5dab8608
					
				
					 4 changed files with 2474 additions and 2 deletions
				
			
		|  | @ -9,12 +9,12 @@ | |||
| include $(TOPDIR)/rules.mk | ||||
| 
 | ||||
| PKG_NAME:=v2ray-core | ||||
| PKG_VERSION:=4.22.1 | ||||
| PKG_VERSION:=4.27.0 | ||||
| PKG_RELEASE:=1 | ||||
| 
 | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | ||||
| PKG_SOURCE_URL:=https://codeload.github.com/v2ray/v2ray-core/tar.gz/v$(PKG_VERSION)? | ||||
| PKG_HASH:=31c1934eeac3552c7ab68eac9dc3e964e05f3c743b3733b0b6a0159c495019d6 | ||||
| PKG_HASH:=f6c903ce4f100c14cb4c0004fc27db5225fc5d3c2daa7fac46fe354150e778d3 | ||||
| 
 | ||||
| PKG_LICENSE:=MIT | ||||
| PKG_LICENSE_FILES:=LICENSE | ||||
|  | @ -285,6 +285,7 @@ define Package/v2ray-core/install | |||
| 	$(INSTALL_DIR) $(1)/usr/bin | ||||
| 
 | ||||
| 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/v2ray $(1)/usr/bin | ||||
| 	$(CP) ./files/* $(1)/ | ||||
| 
 | ||||
| ifneq ($(CONFIG_V2RAY_EXCLUDE_V2CTL),y) | ||||
| 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/v2ctl $(1)/usr/bin | ||||
|  |  | |||
							
								
								
									
										2109
									
								
								v2ray-core/files/etc/init.d/v2ray
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										2109
									
								
								v2ray-core/files/etc/init.d/v2ray
									
										
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										75
									
								
								v2ray-core/files/etc/uci-defaults/3010-omr-v2ray
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								v2ray-core/files/etc/uci-defaults/3010-omr-v2ray
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,75 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| if [ -z "$(uci -q get v2ray.main2)" ]; then | ||||
| 	touch /etc/config/v2ray | ||||
| 	uci batch <<-EOF | ||||
| 		set v2ray.main=v2ray | ||||
| 		set v2ray.main.v2ray_file='/usr/bin/v2ray' | ||||
| 		set v2ray.main.mem_percentage='0' | ||||
| 		set v2ray.main.loglevel='warning' | ||||
| 		set v2ray.main.access_log='/dev/null' | ||||
| 		set v2ray.main.error_log='/var/log/v2ray-error.log' | ||||
| 		set v2ray.main.enabled='0' | ||||
| 		set v2ray.main.outbounds='omrout' | ||||
| 		set v2ray.main.inbounds='omr' | ||||
| 		set v2ray.main_dns=dns | ||||
| 		set v2ray.main_dns.hosts='example.com|127.0.0.1' | ||||
| 		set v2ray.main_dns.enabled='0' | ||||
| 		set v2ray.main_routing=routing | ||||
| 		set v2ray.main_routing.domain_strategy='IPOnDemand' | ||||
| 		set v2ray.main_policy=policy | ||||
| 		set v2ray.main_policy.enabled='1' | ||||
| 		set v2ray.main_policy.levels='policy_level_0' | ||||
| 		set v2ray.policy_level_0=policy_level | ||||
| 		set v2ray.policy_level_0.level='0' | ||||
| 		set v2ray.policy_level_0.handshake='4' | ||||
| 		set v2ray.policy_level_0.conn_idle='600' | ||||
| 		set v2ray.policy_level_0.uplink_only='0' | ||||
| 		set v2ray.policy_level_0.downlink_only='0' | ||||
| 		set v2ray.policy_level_0.buffer_size='512' | ||||
| 		set v2ray.main_reverse=reverse | ||||
| 		set v2ray.main_reverse.enabled='0' | ||||
| 		set v2ray.main_reverse.bridges='bridge|test.v2ray.com' | ||||
| 		set v2ray.main_reverse.portals='portal|test.v2ray.com' | ||||
| 		set v2ray.main_transparent_proxy=transparent_proxy | ||||
| 		set v2ray.main_transparent_proxy.proxy_mode='default' | ||||
| 		set v2ray.main_transparent_proxy.apnic_delegated_mirror='apnic' | ||||
| 		set v2ray.main_transparent_proxy.gfwlist_mirror='github' | ||||
| 		set v2ray.main_transparent_proxy.redirect_udp='1' | ||||
| 		set v2ray.main_transparent_proxy.redirect_port='1897' | ||||
| 		set v2ray.omrout=outbound | ||||
| 		set v2ray.omrout.alias='out' | ||||
| 		set v2ray.omrout.protocol='vless' | ||||
| 		set v2ray.omrout.s_vmess_address='' | ||||
| 		set v2ray.omrout.s_vmess_port='65228' | ||||
| 		set v2ray.omrout.s_vmess_user_id='' | ||||
| 		set v2ray.omrout.s_vmess_user_security='none' | ||||
| 		set v2ray.omrout.s_vmess_user_alter_id='0' | ||||
| 		set v2ray.omrout.s_vless_address='' | ||||
| 		set v2ray.omrout.s_vless_port='65228' | ||||
| 		set v2ray.omrout.s_vless_user_id='' | ||||
| 		set v2ray.omrout.s_vless_user_security='none' | ||||
| 		set v2ray.omrout.s_vless_user_encryption='none' | ||||
| 		set v2ray.omrout.s_vless_user_alter_id='0' | ||||
| 		set v2ray.omrout.ss_network='tcp' | ||||
| 		set v2ray.omrout.ss_security='tls' | ||||
| 		set v2ray.omrout.ss_tls_allow_insecure='1' | ||||
| 		set v2ray.omrout.ss_tls_disable_system_root='1' | ||||
| 		set v2ray.omrout.ss_tls_cert_usage='verify' | ||||
| 		set v2ray.omrout.ss_tls_key_file='/etc/luci-uploads/client.key' | ||||
| 		set v2ray.omrout.mux_concurrency='8' | ||||
| 		set v2ray.omr=inbound | ||||
| 		set v2ray.omr.alias='V2RayServer' | ||||
| 		set v2ray.omr.listen='127.0.0.1' | ||||
| 		set v2ray.omr.port='1897' | ||||
| 		set v2ray.omr.protocol='dokodemo-door' | ||||
| 		set v2ray.omr.s_dokodemo_door_network='tcp' | ||||
| 		add_list v2ray.omr.s_dokodemo_door_network='udp' | ||||
| 		set v2ray.omr.ss_sockopt_tproxy='redirect' | ||||
| 		set v2ray.omr.ss_sockopt_tcp_fast_open='1' | ||||
| 		set v2ray.omr.s_dokodemo_door_follow_redirect='1' | ||||
| 		commit v2ray | ||||
| 	EOF | ||||
| fi | ||||
| 
 | ||||
| exit 0 | ||||
							
								
								
									
										287
									
								
								v2ray-core/files/usr/bin/v2ray-rules
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										287
									
								
								v2ray-core/files/usr/bin/v2ray-rules
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,287 @@ | |||
| #!/bin/sh -e | ||||
| # | ||||
| # Copyright (C) 2017 Yousong Zhou <yszhou4tech@gmail.com> | ||||
| # Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter | ||||
| # | ||||
| # The design idea was derived from ss-rules by Jian Chang <aa65535@live.com> | ||||
| # | ||||
| # This is free software, licensed under the GNU General Public License v3. | ||||
| # See /LICENSE for more information. | ||||
| # | ||||
| 
 | ||||
| v2r_rules_usage() { | ||||
| 	cat >&2 <<EOF | ||||
| Usage: v2ray-rules [options] | ||||
| 
 | ||||
| 	-h, --help      Show this help message then exit | ||||
| 	-f, --flush     Flush rules, ipset then exit | ||||
| 	-l <port>       Local port number of ss-redir with TCP mode | ||||
| 	-L <port>       Local port number of ss-redir with UDP mode | ||||
| 	-s <ips>        List of ip addresses of remote shadowsocks server | ||||
| 	--ifnames       Only apply rules on packets from these ifnames | ||||
| 	--src-bypass <ips|cidr> | ||||
| 	--src-forward <ips|cidr> | ||||
| 	--src-checkdst <ips|cidr> | ||||
| 	--src-default <bypass|forward|checkdst> | ||||
| 	                Packets will have their src ip checked in order against | ||||
| 	                bypass, forward, checkdst list and will bypass, forward | ||||
| 	                through, or continue to have their dst ip checked | ||||
| 	                respectively on the first match.  Otherwise, --src-default | ||||
| 	                decide the default action | ||||
| 	--dst-bypass <ips|cidr> | ||||
| 	--dst-forward <ips|cidr> | ||||
| 	--dst-bypass-file <file> | ||||
| 	--dst-forward-file <file> | ||||
| 	--dst-default <bypass|forward> | ||||
| 	                Same as with their --src-xx equivalent | ||||
| 	--dst-forward-recentrst | ||||
| 	                Forward those packets whose destinations have recently | ||||
| 	                sent to us multiple tcp-rst packets | ||||
| 	--local-default <bypass|forward|checkdst> | ||||
| 	                Default action for local out TCP traffic | ||||
| 
 | ||||
| The following ipsets will be created by ss-rules.  They are also intended to be | ||||
| populated by other programs like dnsmasq with ipset support | ||||
| 
 | ||||
| 	ss_rules_src_bypass | ||||
| 	ss_rules_src_forward | ||||
| 	ss_rules_src_checkdst | ||||
| 	ss_rules_dst_bypass | ||||
| 	ss_rules_dst_bypass_all | ||||
| 	ss_rules_dst_forward | ||||
| EOF | ||||
| } | ||||
| 
 | ||||
| o_dst_bypass_=" | ||||
| 	0.0.0.0/8 | ||||
| 	10.0.0.0/8 | ||||
| 	100.64.0.0/10 | ||||
| 	127.0.0.0/8 | ||||
| 	169.254.0.0/16 | ||||
| 	172.16.0.0/12 | ||||
| 	192.0.0.0/24 | ||||
| 	192.0.2.0/24 | ||||
| 	192.31.196.0/24 | ||||
| 	192.52.193.0/24 | ||||
| 	192.88.99.0/24 | ||||
| 	192.168.0.0/16 | ||||
| 	192.175.48.0/24 | ||||
| 	198.18.0.0/15 | ||||
| 	198.51.100.0/24 | ||||
| 	203.0.113.0/24 | ||||
| 	224.0.0.0/4 | ||||
| 	240.0.0.0/4 | ||||
| 	255.255.255.255 | ||||
| " | ||||
| o_src_default=bypass | ||||
| o_dst_default=bypass | ||||
| o_local_default=bypass | ||||
| 
 | ||||
| __errmsg() { | ||||
| 	echo "v2ray-rules: $*" >&2 | ||||
| } | ||||
| 
 | ||||
| v2r_rules_parse_args() { | ||||
| 	while [ "$#" -gt 0 ]; do | ||||
| 		case "$1" in | ||||
| 			-h|--help) v2r_rules_usage; exit 0;; | ||||
| 			-f|--flush) v2r_rules_flush; exit 0;; | ||||
| 			-l) o_redir_tcp_port="$2"; shift 2;; | ||||
| 			-L) o_redir_udp_port="$2"; shift 2;; | ||||
| 			-s) o_remote_servers="$2"; shift 2;; | ||||
| 			--ifnames) o_ifnames="$2"; shift 2;; | ||||
| 			--ipt-extra) o_ipt_extra="$2"; shift 2;; | ||||
| 			--src-default) o_src_default="$2"; shift 2;; | ||||
| 			--dst-default) o_dst_default="$2"; shift 2;; | ||||
| 			--local-default) o_local_default="$2"; shift 2;; | ||||
| 			--src-bypass) o_src_bypass="$2"; shift 2;; | ||||
| 			--src-forward) o_src_forward="$2"; shift 2;; | ||||
| 			--src-checkdst) o_src_checkdst="$2"; shift 2;; | ||||
| 			--dst-bypass) o_dst_bypass="$2"; shift 2;; | ||||
| 			--dst-bypass_all) o_dst_bypass_all="$2"; shift 2;; | ||||
| 			--dst-forward) o_dst_forward="$2"; shift 2;; | ||||
| 			--dst-forward-recentrst) o_dst_forward_recentrst=1; shift 1;; | ||||
| 			--dst-bypass-file) o_dst_bypass_file="$2"; shift 2;; | ||||
| 			--dst-forward-file) o_dst_forward_file="$2"; shift 2;; | ||||
| 			--rule-name) rule="$2"; shift 2;; | ||||
| 			*) __errmsg "unknown option $1"; return 1;; | ||||
| 		esac | ||||
| 	done | ||||
| 
 | ||||
| 	if [ -z "$o_redir_tcp_port" -a -z "$o_redir_udp_port" ]; then | ||||
| 		__errmsg "Requires at least -l or -L option" | ||||
| 		return 1 | ||||
| 	fi | ||||
| 	if [ -n "$o_dst_forward_recentrst" ] && ! iptables -m recent -h >/dev/null; then | ||||
| 		__errmsg "Please install iptables-mod-conntrack-extra with opkg" | ||||
| 		return 1 | ||||
| 	fi | ||||
| 	o_remote_servers="$(for s in $o_remote_servers; do resolveip -4 "$s"; done)" | ||||
| } | ||||
| 
 | ||||
| v2r_rules_flush() { | ||||
| 	local setname | ||||
| 
 | ||||
| 	iptables-save --counters | grep -v v2r_rules_ | iptables-restore -w --counters | ||||
| 	while ip rule del fwmark 1 lookup 100 2>/dev/null; do true; done | ||||
| 	ip route flush table 100 || true | ||||
| 	for setname in $(ipset -n list | grep "ss_rules_"); do | ||||
| 		ipset destroy "$setname" 2>/dev/null || true | ||||
| 	done | ||||
| } | ||||
| 
 | ||||
| v2r_rules_ipset_init() { | ||||
| 	ipset --exist restore <<-EOF | ||||
| 		create ss_rules_src_bypass hash:net hashsize 64 | ||||
| 		create ss_rules_src_forward hash:net hashsize 64 | ||||
| 		create ss_rules_src_checkdst hash:net hashsize 64 | ||||
| 		create ss_rules_dst_bypass_all hash:net hashsize 64 | ||||
| 		create ss_rules_dst_bypass hash:net hashsize 64 | ||||
| 		create ss_rules_dst_bypass_ hash:net hashsize 64 | ||||
| 		create ss_rules_dst_forward hash:net hashsize 64 | ||||
| 		create ss_rules_dst_forward_recentrst_ hash:ip hashsize 64 timeout 3600 | ||||
| 		$(v2r_rules_ipset_mkadd ss_rules_dst_bypass_ "$o_dst_bypass_ $o_remote_servers") | ||||
| 		$(v2r_rules_ipset_mkadd ss_rules_dst_bypass_all "$o_dst_bypass_all") | ||||
| 		$(v2r_rules_ipset_mkadd ss_rules_dst_bypass "$o_dst_bypass $(cat "$o_dst_bypass_file" 2>/dev/null | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}')") | ||||
| 		$(v2r_rules_ipset_mkadd ss_rules_src_bypass "$o_src_bypass") | ||||
| 		$(v2r_rules_ipset_mkadd ss_rules_src_forward "$o_src_forward") | ||||
| 		$(v2r_rules_ipset_mkadd ss_rules_src_checkdst "$o_src_checkdst") | ||||
| 		$(v2r_rules_ipset_mkadd ss_rules_dst_forward "$o_dst_forward $(cat "$o_dst_forward_file" 2>/dev/null | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}')") | ||||
| 	EOF | ||||
| } | ||||
| 
 | ||||
| v2r_rules_ipset_mkadd() { | ||||
| 	local setname="$1"; shift | ||||
| 	local i | ||||
| 
 | ||||
| 	for i in $*; do | ||||
| 		echo "add $setname $i" | ||||
| 	done | ||||
| } | ||||
| 
 | ||||
| v2r_rules_iptchains_init() { | ||||
| 	v2r_rules_iptchains_init_mark | ||||
| 	v2r_rules_iptchains_init_tcp | ||||
| 	v2r_rules_iptchains_init_udp | ||||
| } | ||||
| 
 | ||||
| v2r_rules_iptchains_init_mark() { | ||||
| 	iptables-restore -w --noflush <<-EOF | ||||
| 		*mangle | ||||
| 		-A PREROUTING -m set --match-set ss_rules_dst_bypass_all dst -j MARK --set-mark 0x539 | ||||
| 		COMMIT | ||||
| 	EOF | ||||
| } | ||||
| 
 | ||||
| v2r_rules_iptchains_init_tcp() { | ||||
| 	local local_target | ||||
| 
 | ||||
| 	[ -n "$o_redir_tcp_port" ] || return 0 | ||||
| 
 | ||||
| 	v2r_rules_iptchains_init_ nat tcp | ||||
| 
 | ||||
| 	case "$o_local_default" in | ||||
| 		checkdst) local_target=v2r_rules_${rule}_dst ;; | ||||
| 		forward) local_target=v2r_rules_${rule}_forward ;; | ||||
| 		bypass|*) return 0;; | ||||
| 	esac | ||||
| 
 | ||||
| 	iptables-restore -w --noflush <<-EOF | ||||
| 		*nat | ||||
| 		:v2r_rules_${rule}_local_out - | ||||
| 		-I OUTPUT 1 -p tcp -j v2r_rules_${rule}_local_out | ||||
| 		-A v2r_rules_${rule}_local_out -m set --match-set ss_rules_dst_bypass dst -j RETURN | ||||
| 		-A v2r_rules_${rule}_local_out -m set --match-set ss_rules_dst_bypass_all dst -j RETURN | ||||
| 		-A v2r_rules_${rule}_local_out -m set --match-set ss_rules_dst_bypass_ dst -j RETURN | ||||
| 		-A v2r_rules_${rule}_local_out -m mark --mark 0x539 -j RETURN | ||||
| 		-A v2r_rules_${rule}_local_out -p tcp $o_ipt_extra -j $local_target -m comment --comment "local_default: $o_local_default" | ||||
| 		COMMIT | ||||
| 	EOF | ||||
| } | ||||
| 
 | ||||
| v2r_rules_iptchains_init_udp() { | ||||
| 	[ -n "$o_redir_udp_port" ] || return 0 | ||||
| 	v2r_rules_iptchains_init_ mangle udp | ||||
| } | ||||
| 
 | ||||
| v2r_rules_iptchains_init_() { | ||||
| 	local table="$1" | ||||
| 	local proto="$2" | ||||
| 	local forward_rules | ||||
| 	local src_default_target dst_default_target | ||||
| 	local recentrst_mangle_rules recentrst_addset_rules | ||||
| 
 | ||||
| 	case "$proto" in | ||||
| 		tcp) | ||||
| 			forward_rules="-A v2r_rules_${rule}_forward -p tcp -j REDIRECT --to-ports $o_redir_tcp_port" | ||||
| 			if [ -n "$o_dst_forward_recentrst" ]; then | ||||
| 				recentrst_mangle_rules=" | ||||
| 					*mangle | ||||
| 					-I PREROUTING 1 -p tcp -m tcp --tcp-flags RST RST -m recent --name v2r_rules_recentrst --set --rsource | ||||
| 					COMMIT | ||||
| 				" | ||||
| 				recentrst_addset_rules=" | ||||
| 					-A v2r_rules_${rule}_dst -m recent --name v2r_rules_recentrst --rcheck --rdest --seconds 3 --hitcount 3 -j SET --add-set ss_rules_dst_forward_recentrst_ dst --exist | ||||
| 					-A v2r_rules_${rule}_dst -m set --match-set ss_rules_dst_forward_recentrst_ dst -j v2r_rules_${rule}_forward | ||||
| 				" | ||||
| 			fi | ||||
| 			;; | ||||
| 		udp) | ||||
| 			ip rule add fwmark 1 lookup 100 | ||||
| 			ip route add local default dev lo table 100 | ||||
| 			forward_rules="-A v2r_rules_${rule}_forward -p udp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01" | ||||
| 			;; | ||||
| 	esac | ||||
| 	case "$o_src_default" in | ||||
| 		forward) src_default_target=v2r_rules_${rule}_forward ;; | ||||
| 		checkdst) src_default_target=v2r_rules_${rule}_dst ;; | ||||
| 		bypass|*) src_default_target=RETURN ;; | ||||
| 	esac | ||||
| 	case "$o_dst_default" in | ||||
| 		forward) dst_default_target=v2r_rules_${rule}_forward ;; | ||||
| 		bypass|*) dst_default_target=RETURN ;; | ||||
| 	esac | ||||
| 	sed -e '/^\s*$/d' -e 's/^\s\+//' <<-EOF | iptables-restore -w --noflush | ||||
| 		*$table | ||||
| 		:v2r_rules_${rule}_pre_src - | ||||
| 		:v2r_rules_${rule}_src - | ||||
| 		:v2r_rules_${rule}_dst - | ||||
| 		:v2r_rules_${rule}_forward - | ||||
| 		$(v2r_rules_iptchains_mkprerules "$proto") | ||||
| 		-A v2r_rules_${rule}_pre_src -m set --match-set ss_rules_dst_bypass_ dst -j RETURN | ||||
| 		-A v2r_rules_${rule}_pre_src -m set --match-set ss_rules_dst_bypass_all dst -j MARK --set-mark 0x539 | ||||
| 		-A v2r_rules_${rule}_pre_src -m set --match-set ss_rules_dst_bypass_all dst -j RETURN | ||||
| 		-A v2r_rules_${rule}_pre_src -m set --match-set ss_rules_dst_bypass dst -j RETURN | ||||
| 		-A v2r_rules_${rule}_pre_src -m mark --mark 0x539 -j RETURN | ||||
| 		-A v2r_rules_${rule}_dst -m set --match-set ss_rules_dst_bypass_all dst -j RETURN | ||||
| 		-A v2r_rules_${rule}_dst -m set --match-set ss_rules_dst_bypass dst -j RETURN | ||||
| 		-A v2r_rules_${rule}_pre_src -p $proto $o_ipt_extra -j v2r_rules_${rule}_src | ||||
| 		-A v2r_rules_${rule}_src -m set --match-set ss_rules_src_bypass src -j RETURN | ||||
| 		-A v2r_rules_${rule}_src -m set --match-set ss_rules_src_forward src -j v2r_rules_${rule}_forward | ||||
| 		-A v2r_rules_${rule}_src -m set --match-set ss_rules_src_checkdst src -j v2r_rules_${rule}_dst | ||||
| 		-A v2r_rules_${rule}_src -j $src_default_target -m comment --comment "src_default: $o_src_default" | ||||
| 		-A v2r_rules_${rule}_dst -m set --match-set ss_rules_dst_forward dst -j v2r_rules_${rule}_forward | ||||
| 		$recentrst_addset_rules | ||||
| 		-A v2r_rules_${rule}_dst -j $dst_default_target -m comment --comment "dst_default: $o_dst_default" | ||||
| 		$forward_rules | ||||
| 		COMMIT | ||||
| 		$recentrst_mangle_rules | ||||
| 	EOF | ||||
| } | ||||
| 
 | ||||
| v2r_rules_iptchains_mkprerules() { | ||||
| 	local proto="$1" | ||||
| 
 | ||||
| 	if [ -z "$o_ifnames" ]; then | ||||
| 		echo "-I PREROUTING 1 -p $proto -j v2r_rules_${rule}_pre_src" | ||||
| 	else | ||||
| 		echo $o_ifnames \ | ||||
| 			| tr ' ' '\n' \ | ||||
| 			| sed "s/.*/-I PREROUTING 1 -i \\0 -p $proto -j v2r_rules_${rule}_pre_src/" | ||||
| 	fi | ||||
| } | ||||
| 
 | ||||
| v2r_rules_parse_args "$@" | ||||
| #v2r_rules_flush | ||||
| v2r_rules_ipset_init | ||||
| v2r_rules_iptchains_init | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue