mirror of
https://github.com/gSpotx2f/ruantiblock_openwrt.git
synced 2026-05-14 22:50:58 +00:00
Added IGNORE_LOCAL_IP option.
This commit is contained in:
@@ -10,9 +10,9 @@ LUCI_APP=1
|
|||||||
HTTPS_DNS_PROXY=1
|
HTTPS_DNS_PROXY=1
|
||||||
|
|
||||||
OWRT_VERSION="current"
|
OWRT_VERSION="current"
|
||||||
RUAB_VERSION="2.1.9-r1"
|
RUAB_VERSION="2.1.10-r1"
|
||||||
RUAB_MOD_LUA_VERSION="2.1.9-r1"
|
RUAB_MOD_LUA_VERSION="2.1.10-r1"
|
||||||
RUAB_LUCI_APP_VERSION="2.1.9-r1"
|
RUAB_LUCI_APP_VERSION="2.1.10-r1"
|
||||||
BASE_URL="https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master"
|
BASE_URL="https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master"
|
||||||
PKG_DIR="/tmp"
|
PKG_DIR="/tmp"
|
||||||
|
|
||||||
@@ -378,7 +378,7 @@ ConfirmProcessing() {
|
|||||||
printf "Bye...\n"; exit 0
|
printf "Bye...\n"; exit 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
InputError ConfirmLuciApp
|
InputError ConfirmProcessing
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-ruantiblock
|
PKG_NAME:=luci-app-ruantiblock
|
||||||
PKG_VERSION:=2.1.9
|
PKG_VERSION:=2.1.10
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
LUCI_TITLE:=LuCI support for ruantiblock
|
LUCI_TITLE:=LuCI support for ruantiblock
|
||||||
LUCI_DEPENDS:=+ruantiblock
|
LUCI_DEPENDS:=+ruantiblock
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=ruantiblock-mod-lua
|
PKG_NAME:=ruantiblock-mod-lua
|
||||||
PKG_VERSION:=2.1.9
|
PKG_VERSION:=2.1.10
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/ruantiblock_openwrt>
|
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/ruantiblock_openwrt>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=ruantiblock-mod-py
|
PKG_NAME:=ruantiblock-mod-py
|
||||||
PKG_VERSION:=2.1.9
|
PKG_VERSION:=2.1.10
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/ruantiblock_openwrt>
|
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/ruantiblock_openwrt>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=ruantiblock
|
PKG_NAME:=ruantiblock
|
||||||
PKG_VERSION:=2.1.9
|
PKG_VERSION:=2.1.10
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/ruantiblock_openwrt>
|
PKG_MAINTAINER:=gSpot <https://github.com/gSpotx2f/ruantiblock_openwrt>
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ PROXY_MODE=1
|
|||||||
PROXY_LOCAL_CLIENTS=1
|
PROXY_LOCAL_CLIENTS=1
|
||||||
### Удаление записей сетов перед началом обновления (для освобождения оперативной памяти перед обновлением сетов) (0 - выкл, 1 - вкл)
|
### Удаление записей сетов перед началом обновления (для освобождения оперативной памяти перед обновлением сетов) (0 - выкл, 1 - вкл)
|
||||||
NFTSET_CLEAR_SETS=0
|
NFTSET_CLEAR_SETS=0
|
||||||
|
### Искоючить из обхода блокировок пакеты, у которых адрес назначения совпадает с любым IP адресом любого из интерфейсов роутера (0 - выкл, 1 - вкл)
|
||||||
|
IGNORE_LOCAL_IP=1
|
||||||
### Режим фильтра хостов которым разрешено обходить блокировки (0 - выкл., 1 - только адреса из списка, 2 - любые адреса кроме присутствующих в списке)
|
### Режим фильтра хостов которым разрешено обходить блокировки (0 - выкл., 1 - только адреса из списка, 2 - любые адреса кроме присутствующих в списке)
|
||||||
ALLOWED_HOSTS_MODE=0
|
ALLOWED_HOSTS_MODE=0
|
||||||
### Список IP адресов хостов для фильтра, через пробел (прим.: 192.168.0.10 192.168.0.15)
|
### Список IP адресов хостов для фильтра, через пробел (прим.: 192.168.0.10 192.168.0.15)
|
||||||
@@ -81,7 +83,7 @@ ENABLE_FPROXY=0
|
|||||||
### Список IP адресов хостов для режима полного прокси, через пробел (прим.: 192.168.0.10 192.168.0.15)
|
### Список IP адресов хостов для режима полного прокси, через пробел (прим.: 192.168.0.10 192.168.0.15)
|
||||||
FPROXY_LIST=""
|
FPROXY_LIST=""
|
||||||
### Список приватных сетей для режима полного прокси, через пробел
|
### Список приватных сетей для режима полного прокси, через пробел
|
||||||
FPROXY_PRIVATE_NETS="192.168.0.0/16 172.16.0.0/12 10.0.0.0/8"
|
FPROXY_PRIVATE_NETS="192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 100.64.0.0/10 169.254.0.0/16"
|
||||||
### Режим безопасного обновления блэклиста. Скачивание во временный файл и затем замена основного. Увеличивает потребление памяти (0 - выкл, 1 - вкл)
|
### Режим безопасного обновления блэклиста. Скачивание во временный файл и затем замена основного. Увеличивает потребление памяти (0 - выкл, 1 - вкл)
|
||||||
ENABLE_TMP_DOWNLOADS=0
|
ENABLE_TMP_DOWNLOADS=0
|
||||||
### Скачивать блэклисты через прокси
|
### Скачивать блэклисты через прокси
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ export PROXY_MODE=1
|
|||||||
export PROXY_LOCAL_CLIENTS=0
|
export PROXY_LOCAL_CLIENTS=0
|
||||||
### Удаление записей сетов перед началом обновления (для освобождения оперативной памяти перед обновлением сетов) (0 - выкл, 1 - вкл)
|
### Удаление записей сетов перед началом обновления (для освобождения оперативной памяти перед обновлением сетов) (0 - выкл, 1 - вкл)
|
||||||
export NFTSET_CLEAR_SETS=0
|
export NFTSET_CLEAR_SETS=0
|
||||||
|
### Искоючить из обхода блокировок пакеты, у которых адрес назначения совпадает с любым IP адресом любого из интерфейсов роутера (0 - выкл, 1 - вкл)
|
||||||
|
export IGNORE_LOCAL_IP=1
|
||||||
### Режим фильтра хостов которым разрешено обходить блокировки (0 - выкл., 1 - только адреса из списка, 2 - любые адреса кроме присутствующих в списке)
|
### Режим фильтра хостов которым разрешено обходить блокировки (0 - выкл., 1 - только адреса из списка, 2 - любые адреса кроме присутствующих в списке)
|
||||||
export ALLOWED_HOSTS_MODE=0
|
export ALLOWED_HOSTS_MODE=0
|
||||||
### Список IP адресов хостов для фильтра, через пробел (прим.: 192.168.0.10 192.168.0.15)
|
### Список IP адресов хостов для фильтра, через пробел (прим.: 192.168.0.10 192.168.0.15)
|
||||||
@@ -117,7 +119,7 @@ export ENABLE_FPROXY=0
|
|||||||
### Список IP адресов хостов для режима полного прокси, через пробел (прим.: 192.168.0.10 192.168.0.15)
|
### Список IP адресов хостов для режима полного прокси, через пробел (прим.: 192.168.0.10 192.168.0.15)
|
||||||
export FPROXY_LIST=""
|
export FPROXY_LIST=""
|
||||||
### Список приватных сетей для режима полного прокси, через пробел
|
### Список приватных сетей для режима полного прокси, через пробел
|
||||||
export FPROXY_PRIVATE_NETS="192.168.0.0/16 172.16.0.0/12 10.0.0.0/8"
|
export FPROXY_PRIVATE_NETS="192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 100.64.0.0/10 169.254.0.0/16"
|
||||||
### Режим безопасного обновления блэклиста. Скачивание во временный файл и затем замена основного. Увеличивает потребление памяти (0 - выкл, 1 - вкл)
|
### Режим безопасного обновления блэклиста. Скачивание во временный файл и затем замена основного. Увеличивает потребление памяти (0 - выкл, 1 - вкл)
|
||||||
export ENABLE_TMP_DOWNLOADS=0
|
export ENABLE_TMP_DOWNLOADS=0
|
||||||
### Скачивать блэклисты через прокси
|
### Скачивать блэклисты через прокси
|
||||||
@@ -260,21 +262,23 @@ export IP_DATA_FILE_BYPASS="${DATA_DIR}/${NAME}_bypass.ip"
|
|||||||
export IP_DATA_FILE_USER_INSTANCES="${DATA_DIR}/${NAME}_user_instances.ip"
|
export IP_DATA_FILE_USER_INSTANCES="${DATA_DIR}/${NAME}_user_instances.ip"
|
||||||
export NFT_TABLE="ip r"
|
export NFT_TABLE="ip r"
|
||||||
export NFT_TABLE_DNSMASQ="4#ip#r"
|
export NFT_TABLE_DNSMASQ="4#ip#r"
|
||||||
|
export NFTSET_LOCAL_IP="local_ip"
|
||||||
export NFTSET_ALLOWED_HOSTS="allowed_ip"
|
export NFTSET_ALLOWED_HOSTS="allowed_ip"
|
||||||
export NFTSET_BYPASS_IP="bi"
|
export NFTSET_BYPASS_IP="bi"
|
||||||
export NFTSET_BYPASS_FQDN="bd"
|
export NFTSET_BYPASS_FQDN="bd"
|
||||||
export NFTSET_FPROXY="fproxy"
|
export NFTSET_FPROXY="fproxy"
|
||||||
export NFTSET_FPROXY_PRIVATE="fproxy_private"
|
export NFTSET_FPROXY_LOCAL="fproxy_local"
|
||||||
export NFTSET_BLLIST_PROXY="bllist_proxy"
|
export NFTSET_BLLIST_PROXY="bllist_proxy"
|
||||||
export NFTSET_ONION="onion"
|
export NFTSET_ONION="onion"
|
||||||
export NFTSET_CIDR="c"
|
export NFTSET_CIDR="c"
|
||||||
export NFTSET_IP="i"
|
export NFTSET_IP="i"
|
||||||
export NFTSET_DNSMASQ="d"
|
export NFTSET_DNSMASQ="d"
|
||||||
|
export NFTSET_LOCAL_IP_TYPE="ipv4_addr"
|
||||||
export NFTSET_ALLOWED_HOSTS_TYPE="ipv4_addr"
|
export NFTSET_ALLOWED_HOSTS_TYPE="ipv4_addr"
|
||||||
export NFTSET_BYPASS_IP_TYPE="ipv4_addr"
|
export NFTSET_BYPASS_IP_TYPE="ipv4_addr"
|
||||||
export NFTSET_BYPASS_FQDN_TYPE="ipv4_addr"
|
export NFTSET_BYPASS_FQDN_TYPE="ipv4_addr"
|
||||||
export NFTSET_FPROXY_TYPE="ipv4_addr"
|
export NFTSET_FPROXY_TYPE="ipv4_addr"
|
||||||
export NFTSET_FPROXY_PRIVATE_TYPE="ipv4_addr"
|
export NFTSET_FPROXY_LOCAL_TYPE="ipv4_addr"
|
||||||
export NFTSET_BLLIST_PROXY_TYPE="ipv4_addr"
|
export NFTSET_BLLIST_PROXY_TYPE="ipv4_addr"
|
||||||
export NFTSET_CIDR_TYPE="ipv4_addr"
|
export NFTSET_CIDR_TYPE="ipv4_addr"
|
||||||
export NFTSET_IP_TYPE="ipv4_addr"
|
export NFTSET_IP_TYPE="ipv4_addr"
|
||||||
@@ -460,8 +464,26 @@ FormatNftSetElemsList() {
|
|||||||
printf "$1" | $AWK_CMD '{gsub(/[ ]+/, ",", $0); printf $0;}'
|
printf "$1" | $AWK_CMD '{gsub(/[ ]+/, ",", $0); printf $0;}'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UpdateLocalIpSets() {
|
||||||
|
local _local_ips _fproxy_private
|
||||||
|
_local_ips=$($IP_CMD -4 addr list 2> /dev/null | $AWK_CMD '/inet/{if($2 !~ /^(127|0)/) printf $2 ","}')
|
||||||
|
FlushNftSets "$NFTSET_LOCAL_IP"
|
||||||
|
if [ -n "$_local_ips" ]; then
|
||||||
|
$NFT_CMD add element $NFT_TABLE "$NFTSET_LOCAL_IP" { "$_local_ips" }
|
||||||
|
fi
|
||||||
|
FlushNftSets "$NFTSET_FPROXY_LOCAL"
|
||||||
|
_fproxy_private=$(FormatNftSetElemsList "$FPROXY_PRIVATE_NETS")
|
||||||
|
if [ -n "$_fproxy_private" ]; then
|
||||||
|
$NFT_CMD add element $NFT_TABLE "$NFTSET_FPROXY_LOCAL" { "$_fproxy_private" }
|
||||||
|
fi
|
||||||
|
if [ -n "$_local_ips" ]; then
|
||||||
|
$NFT_CMD add element $NFT_TABLE "$NFTSET_FPROXY_LOCAL" { "$_local_ips" }
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
AddBaseNftSets() {
|
AddBaseNftSets() {
|
||||||
local _allowed_hosts _fproxy_private
|
local _allowed_hosts
|
||||||
|
$NFT_CMD add set $NFT_TABLE "$NFTSET_LOCAL_IP" { type "$NFTSET_LOCAL_IP_TYPE"\; policy "$NFTSET_POLICY_CIDR"\; flags interval\; auto-merge\; }
|
||||||
$NFT_CMD add set $NFT_TABLE "$NFTSET_ALLOWED_HOSTS" { type "$NFTSET_ALLOWED_HOSTS_TYPE"\; policy "$NFTSET_POLICY_CIDR"\; flags interval\; auto-merge\; }
|
$NFT_CMD add set $NFT_TABLE "$NFTSET_ALLOWED_HOSTS" { type "$NFTSET_ALLOWED_HOSTS_TYPE"\; policy "$NFTSET_POLICY_CIDR"\; flags interval\; auto-merge\; }
|
||||||
_allowed_hosts=$(FormatNftSetElemsList "$ALLOWED_HOSTS_LIST")
|
_allowed_hosts=$(FormatNftSetElemsList "$ALLOWED_HOSTS_LIST")
|
||||||
if [ -n "$_allowed_hosts" ]; then
|
if [ -n "$_allowed_hosts" ]; then
|
||||||
@@ -469,11 +491,8 @@ AddBaseNftSets() {
|
|||||||
fi
|
fi
|
||||||
$NFT_CMD add set $NFT_TABLE "$NFTSET_BYPASS_IP" { type "$NFTSET_BYPASS_IP_TYPE"\; size $NFTSET_MAXELEM_BYPASS_IP\; policy "$NFTSET_POLICY_CIDR"\; flags interval\; auto-merge\; }
|
$NFT_CMD add set $NFT_TABLE "$NFTSET_BYPASS_IP" { type "$NFTSET_BYPASS_IP_TYPE"\; size $NFTSET_MAXELEM_BYPASS_IP\; policy "$NFTSET_POLICY_CIDR"\; flags interval\; auto-merge\; }
|
||||||
$NFT_CMD add set $NFT_TABLE "$NFTSET_BYPASS_FQDN" { type "$NFTSET_BYPASS_FQDN_TYPE"\; size $NFTSET_MAXELEM_BYPASS_FQDN\; policy "$NFTSET_POLICY_DNSMASQ"\; flags dynamic,timeout\; timeout "$NFTSET_DNSMASQ_TIMEOUT"\; }
|
$NFT_CMD add set $NFT_TABLE "$NFTSET_BYPASS_FQDN" { type "$NFTSET_BYPASS_FQDN_TYPE"\; size $NFTSET_MAXELEM_BYPASS_FQDN\; policy "$NFTSET_POLICY_DNSMASQ"\; flags dynamic,timeout\; timeout "$NFTSET_DNSMASQ_TIMEOUT"\; }
|
||||||
$NFT_CMD add set $NFT_TABLE "$NFTSET_FPROXY_PRIVATE" { type "$NFTSET_FPROXY_PRIVATE_TYPE"\; policy "$NFTSET_POLICY_CIDR"\; flags interval\; auto-merge\; }
|
$NFT_CMD add set $NFT_TABLE "$NFTSET_FPROXY_LOCAL" { type "$NFTSET_FPROXY_LOCAL_TYPE"\; policy "$NFTSET_POLICY_CIDR"\; flags interval\; auto-merge\; }
|
||||||
_fproxy_private=$(FormatNftSetElemsList "$FPROXY_PRIVATE_NETS")
|
UpdateLocalIpSets
|
||||||
if [ -n "$_fproxy_private" ]; then
|
|
||||||
$NFT_CMD add element $NFT_TABLE "$NFTSET_FPROXY_PRIVATE" { "$_fproxy_private" }
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MakeInstanceNftSets() {
|
MakeInstanceNftSets() {
|
||||||
@@ -576,7 +595,7 @@ UpdateBllistSets() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AddUserInstancesNftRules() {
|
AddUserInstancesNftRules() {
|
||||||
local _prio_offset=0 _pkts_mark=$PKTS_MARK_START _chain_prio_first _chain_prio_local _inst _vpn_route_table_id=$VPN_ROUTE_TABLE_ID_START _tproxy_route_table_id=$TPROXY_ROUTE_TABLE_ID_START _route_table_id
|
local _pkts_mark=$PKTS_MARK_START _inst _vpn_route_table_id=$VPN_ROUTE_TABLE_ID_START _tproxy_route_table_id=$TPROXY_ROUTE_TABLE_ID_START _route_table_id
|
||||||
for _inst in $USER_INSTANCES_ALL_FNAMES
|
for _inst in $USER_INSTANCES_ALL_FNAMES
|
||||||
do
|
do
|
||||||
IncludeUserInstanceVars "$_inst"
|
IncludeUserInstanceVars "$_inst"
|
||||||
@@ -592,7 +611,6 @@ AddUserInstancesNftRules() {
|
|||||||
_pkts_mark=$(($_pkts_mark + 1))
|
_pkts_mark=$(($_pkts_mark + 1))
|
||||||
NftInstanceAdd "\"$U_NAME\"" $_pkts_mark ${U_PROXY_MODE:=$INSTANCES_DEF_PROXY_MODE} ${U_TOR_TRANS_PORT:=$INSTANCES_DEF_TOR_TRANS_PORT} $_route_table_id "\"${U_IF_VPN:=$INSTANCES_DEF_IF_VPN}\"" ${U_T_PROXY_TYPE:=$INSTANCES_DEF_T_PROXY_TYPE} ${U_T_PROXY_PORT_TCP:=$INSTANCES_DEF_T_PROXY_PORT_TCP} ${U_T_PROXY_PORT_UDP:=$INSTANCES_DEF_T_PROXY_PORT_UDP} ${U_T_PROXY_ALLOW_UDP:=$INSTANCES_DEF_T_PROXY_ALLOW_UDP} ${U_ENABLE_ENTRIES_REMOTE_PROXY:=$INSTANCES_DEF_ENABLE_BLLIST_PROXY} ${U_ENABLE_FPROXY:=$INSTANCES_DEF_ENABLE_FPROXY} "\"$U_VPN_GW_IP\""
|
NftInstanceAdd "\"$U_NAME\"" $_pkts_mark ${U_PROXY_MODE:=$INSTANCES_DEF_PROXY_MODE} ${U_TOR_TRANS_PORT:=$INSTANCES_DEF_TOR_TRANS_PORT} $_route_table_id "\"${U_IF_VPN:=$INSTANCES_DEF_IF_VPN}\"" ${U_T_PROXY_TYPE:=$INSTANCES_DEF_T_PROXY_TYPE} ${U_T_PROXY_PORT_TCP:=$INSTANCES_DEF_T_PROXY_PORT_TCP} ${U_T_PROXY_PORT_UDP:=$INSTANCES_DEF_T_PROXY_PORT_UDP} ${U_T_PROXY_ALLOW_UDP:=$INSTANCES_DEF_T_PROXY_ALLOW_UDP} ${U_ENABLE_ENTRIES_REMOTE_PROXY:=$INSTANCES_DEF_ENABLE_BLLIST_PROXY} ${U_ENABLE_FPROXY:=$INSTANCES_DEF_ENABLE_FPROXY} "\"$U_VPN_GW_IP\""
|
||||||
ClearUserInstanceVars
|
ClearUserInstanceVars
|
||||||
_prio_offset=$(($_prio_offset - 1))
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -651,7 +669,7 @@ SetNetConfig() {
|
|||||||
DropNetConfig() {
|
DropNetConfig() {
|
||||||
DeleteNftRules
|
DeleteNftRules
|
||||||
FlushInstancesNftSets
|
FlushInstancesNftSets
|
||||||
FlushNftSets "$NFTSET_ALLOWED_HOSTS" "$NFTSET_FPROXY_PRIVATE" "$NFTSET_BLLIST_PROXY" "$NFTSET_BYPASS_IP" "$NFTSET_BYPASS_FQDN"
|
FlushNftSets "$NFTSET_LOCAL_IP" "$NFTSET_ALLOWED_HOSTS" "$NFTSET_FPROXY_LOCAL" "$NFTSET_BLLIST_PROXY" "$NFTSET_BYPASS_IP" "$NFTSET_BYPASS_FQDN"
|
||||||
}
|
}
|
||||||
|
|
||||||
DestroyNetConfig() {
|
DestroyNetConfig() {
|
||||||
@@ -1213,6 +1231,7 @@ Reload() {
|
|||||||
echo " ${NAME} reload..."
|
echo " ${NAME} reload..."
|
||||||
DeleteNftRules &> /dev/null
|
DeleteNftRules &> /dev/null
|
||||||
AddNftRules &> /dev/null
|
AddNftRules &> /dev/null
|
||||||
|
UpdateLocalIpSets
|
||||||
MakeToken
|
MakeToken
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1333,6 +1352,7 @@ case "$1" in
|
|||||||
;;
|
;;
|
||||||
update|force-update)
|
update|force-update)
|
||||||
Init
|
Init
|
||||||
|
UpdateLocalIpSets
|
||||||
if CheckDnsmasqConfDir; then
|
if CheckDnsmasqConfDir; then
|
||||||
Update "$1"
|
Update "$1"
|
||||||
return_code=$?
|
return_code=$?
|
||||||
|
|||||||
@@ -74,6 +74,8 @@ NftRouteAdd() {
|
|||||||
MakeLogRecord "debug" "nft_functions.NftRouteAdd: ${IP_CMD} rule add fwmark ${_pkts_mark} table ${_route_table_id} priority ${VPN_RULE_PRIO}"
|
MakeLogRecord "debug" "nft_functions.NftRouteAdd: ${IP_CMD} rule add fwmark ${_pkts_mark} table ${_route_table_id} priority ${VPN_RULE_PRIO}"
|
||||||
echo " nft_functions.NftRouteAdd: ${IP_CMD} route add default via ${_vpn_ip} table ${_route_table_id}" >&2
|
echo " nft_functions.NftRouteAdd: ${IP_CMD} route add default via ${_vpn_ip} table ${_route_table_id}" >&2
|
||||||
MakeLogRecord "debug" "nft_functions.NftRouteAdd: ${IP_CMD} route add default via ${_vpn_ip} table ${_route_table_id}"
|
MakeLogRecord "debug" "nft_functions.NftRouteAdd: ${IP_CMD} route add default via ${_vpn_ip} table ${_route_table_id}"
|
||||||
|
echo " nft_functions.NftRouteAdd: ${IP_CMD} route add blackhole default table ${_route_table_id} metric 200" >&2
|
||||||
|
MakeLogRecord "debug" "nft_functions.NftRouteAdd: ${IP_CMD} route add blackhole default table ${_route_table_id} metric 200"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -92,8 +94,11 @@ NftAddBaseChains() {
|
|||||||
$NFT_CMD add chain $NFT_TABLE "$NFT_FPROXY_CHAIN" { type filter hook prerouting priority ${_chain_prio_fproxy}\; policy accept\; }
|
$NFT_CMD add chain $NFT_TABLE "$NFT_FPROXY_CHAIN" { type filter hook prerouting priority ${_chain_prio_fproxy}\; policy accept\; }
|
||||||
$NFT_CMD add chain $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" { type filter hook prerouting priority ${_chain_prio_first}\; policy accept\; }
|
$NFT_CMD add chain $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" { type filter hook prerouting priority ${_chain_prio_first}\; policy accept\; }
|
||||||
NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_FPROXY_CHAIN" meta iif lo return
|
NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_FPROXY_CHAIN" meta iif lo return
|
||||||
NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_FPROXY_CHAIN" ip daddr "@${NFTSET_FPROXY_PRIVATE}" return
|
NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_FPROXY_CHAIN" ip daddr "@${NFTSET_FPROXY_LOCAL}" return
|
||||||
NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" meta iif lo return
|
NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" meta iif lo return
|
||||||
|
if [ "$IGNORE_LOCAL_IP" = "1" ]; then
|
||||||
|
NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" ip daddr "@${NFTSET_LOCAL_IP}" return
|
||||||
|
fi
|
||||||
NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" "$NFT_ALLOWED_HOSTS_PATTERN"
|
NftCmdWrapper $NFT_CMD add rule $NFT_TABLE "$NFT_ALLOWED_HOSTS_CHAIN" "$NFT_ALLOWED_HOSTS_PATTERN"
|
||||||
if [ "$BYPASS_MODE" = "1" ]; then
|
if [ "$BYPASS_MODE" = "1" ]; then
|
||||||
for _set in "$NFTSET_BYPASS_IP" "$NFTSET_BYPASS_FQDN"
|
for _set in "$NFTSET_BYPASS_IP" "$NFTSET_BYPASS_FQDN"
|
||||||
|
|||||||
Reference in New Issue
Block a user