# this custom script demonstrates how to use 2 copies of nfqws
# it preserves config settings : MODE_HTTP, MODE_HTTP_KEEPALIVE, MODE_HTTPS, MODE_FILTER, NFQWS_OPT_DESYNC
# NFQWS_OPT_DESYNC - parameters for http
# NFQWS_OPT_DESYNC2 - parameters for https. you should add this variable to config file, its absent there

QNUM2=$(($QNUM+1))

zapret_custom_daemons()
{
	local opt

	[ "$MODE_HTTP" = "1" ] && {
		opt="$NFQWS_OPT_BASE $NFQWS_OPT_DESYNC"
		filter_apply_hostlist_target opt
		run_daemon 1 $NFQWS "$opt"
	}

	[ "$MODE_HTTPS" = "1" ] && {
		opt="$NFQWS_OPT_BASE $NFQWS_OPT_DESYNC2 --qnum=$QNUM2"
		filter_apply_hostlist_target opt
		run_daemon 2 $NFQWS "$opt"
	}
}
zapret_custom_firewall()
{
	local f4 f6
	local first_packet_only="-m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 2:4"
	local desync="-m mark ! --mark $DESYNC_MARK/$DESYNC_MARK"

	[ "$MODE_HTTP" = "1" ] && {
		f4="--dport 80"
		[ "$MODE_HTTP_KEEPALIVE" = "1" ] || f4="$f4 $first_packet_only"
		f6=$f4
		filter_apply_ipset_target f4 f6
		fw_nfqws_post "$f4 $desync" "$f6 $desync" $QNUM
	}
	
	[ "$MODE_HTTPS" = "1" ] && {
		f4="--dport 443 $first_packet_only"
		f6=$f4
		filter_apply_ipset_target f4 f6
		fw_nfqws_post "$f4 $desync" "$f6 $desync" $QNUM2
	}
}