1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
This commit is contained in:
suyuan 2024-09-19 20:28:53 +08:00 committed by GitHub
commit 9a6fac9ff0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 45 additions and 28 deletions

View file

@ -1334,7 +1334,7 @@ function settings_add()
--local dump = require("luci.util").ubus("openmptcprouter", "disableipv6", { disable_ipv6 = tonumber(disable_ipv6)})
-- Disable 6in4
local disable_6in4 = luci.http.formvalue("enable6in4") or "1"
local disable_6in4 = luci.http.formvalue("enable6in4") or "0"
ucic:set("openmptcprouter","settings","disable_6in4",disable_6in4)

View file

@ -190,9 +190,9 @@
</div>
</div>
<div class="cbi-value">
<label class="cbi-value-title"><%:Enable 6in4%></label>
<label class="cbi-value-title"><%:Disable 6in4%></label>
<div class="cbi-value-field">
<input type="checkbox" name="enable6in4" class="cbi-input-checkbox" value="0" <% if luci.model.uci.cursor():get("openmptcprouter","settings","disable_6in4") == "0" then %>checked<% end %>>
<input type="checkbox" name="enable6in4" class="cbi-input-checkbox" value="1" <% if luci.model.uci.cursor():get("openmptcprouter","settings","disable_6in4") == "1" then %>checked<% end %>>
</div>
</div>
<div class="cbi-value">

View file

@ -159,6 +159,10 @@ return network.registerProtocol('modemmanager', {
s.taboption('advanced', form.Flag, 'debugmode', _('Enable Debugmode'));
o = s.taboption('advanced', form.Value, 'delay', _('Modem init timeout'), _('Amount of seconds to wait for the modem to become ready'));
o.datatype = 'uinteger';
o.placeholder = '120';
o = s.taboption('advanced', form.ListValue, 'loglevel', _('Log output level'));
o.value('ERR', _('Error'))
o.value('WARN', _('Warning'));

View file

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=modemmanager
PKG_SOURCE_VERSION:=1.23.10-dev
PKG_SOURCE_VERSION:=1.23.11-dev
#PKG_SOURCE_VERSION:=df8287bf6c2febd068d06f0f45194bc622118bd4
PKG_RELEASE:=20

View file

@ -180,6 +180,7 @@ interface_multipath_settings() {
[ -z "$mptcpmintf" ] && mptcpmintf="$config"
uci -q set network.${config}.defaultroute=0
uci -q set network.${config}.peerdns=0
uci -q delete network.${config}.dns=0
echo '' > /etc/resolv.conf >/dev/null 2>&1
}
[ "$mode" = "master" ] && {
@ -575,8 +576,8 @@ start_service() {
uci -q set openmptcprouter.${intfmaster}.multipath="master"
}
fi
uci -q commit network
uci -q commit openmptcprouter
[ -n "$(uci -q changes network)" ] && uci -q commit network
[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter
[ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep raspberry)" ] && [ -z "$(ubus call system board | jsonfilter -e '@.board_name' | grep '4-model-b')" ] && {
ethtool --offload eth0 rx off tx off > /dev/null 2>&1
}

View file

@ -41,7 +41,7 @@ define Package/iptables-mod-ndpi
# DEPENDS:=+iptables +iptables-mod-conntrack-extra +kmod-ipt-ndpi +libpcap
# DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap @(LINUX_5_4||LINUX_5_15||TARGET_x86_64)
# DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap @(LINUX_5_4||LINUX_5_15) @!TARGET_ramips
DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap @!TARGET_ramips @!LINUX_6_6 @!LINUX_6_10
DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap @!TARGET_ramips @!LINUX_6_6 @!LINUX_6_10 @!LINUX_6_11
MAINTAINER:=Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
endef
@ -83,7 +83,7 @@ define KernelPackage/ipt-ndpi
TITLE:= nDPI net netfilter module
# DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +kmod-ipt-compat-xtables +libpcap @(LINUX_5_4||LINUX_5_15||TARGET_x86_64)
# DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +kmod-ipt-compat-xtables +libpcap @(LINUX_5_4||LINUX_5_15) @!TARGET_ramips
DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +(LINUX_5_4||LINUX_6_1):kmod-ipt-compat-xtables +libpcap @!TARGET_ramips @!LINUX_6_6 @!LINUX_6_10
DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +(LINUX_5_4||LINUX_6_1):kmod-ipt-compat-xtables +libpcap @!TARGET_ramips @!LINUX_6_6 @!LINUX_6_10 @!LINUX_6_11
# DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +kmod-ipt-compat-xtables +libpcap
KCONFIG:=CONFIG_NF_CONNTRACK_LABELS=y \
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y

View file

@ -1,5 +1,5 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
# Copyright (C) 2018-2024 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
START=98
STOP=10
@ -124,6 +124,7 @@ _bypass_domain() {
local family=$3
local noipv6=$4
intf=$(echo $intf | sed -e 's/\./_/')
intf=$(echo $intf | sed -e 's/-/_/')
[ -z "$intf" ] && intf="all"
if [ -n "$domain" ]; then
domain=$(echo $domain | sed 's:^\.::')
@ -160,6 +161,7 @@ _bypass_mac() {
config_get enabled $1 enabled
[ "$enabled" = "0" ] && return
intf=$(echo $intf | sed -e 's/\./_/')
intf=$(echo $intf | sed -e 's/-/_/')
local intfid="$(uci -q get omr-bypass.$intf.id)"
[ -z "$intf" ] && intf="all"
@ -186,6 +188,7 @@ _bypass_lan_ip() {
config_get enabled $1 enabled
[ "$enabled" = "0" ] && return
intf=$(echo $intf | sed -e 's/\./_/')
intf=$(echo $intf | sed -e 's/-/_/')
#[ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return
local intfid="$(uci -q get omr-bypass.$intf.id)"
@ -217,6 +220,7 @@ _bypass_dest_port() {
config_get enabled $1 enabled
[ "$enabled" = "0" ] && return
intf=$(echo $intf | sed -e 's/\./_/')
intf=$(echo $intf | sed -e 's/-/_/')
#[ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return
local intfid="$(uci -q get omr-bypass.$intf.id)"
@ -259,6 +263,7 @@ _bypass_src_port() {
config_get enabled $1 enabled
[ "$enabled" = "0" ] && return
intf=$(echo $intf | sed -e 's/\./_/')
intf=$(echo $intf | sed -e 's/-/_/')
#[ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return
local intfid="$(uci -q get omr-bypass.$intf.id)"
@ -307,6 +312,7 @@ _bypass_proto() {
[ -z "$noipv6" ] && noipv6="0"
[ -z "$family" ] && family="ipv4ipv6"
intf=$(echo $intf | sed -e 's/\./_/')
intf=$(echo $intf | sed -e 's/-/_/')
#[ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return
local intfid="$(uci -q get omr-bypass.$intf.id)"
@ -406,6 +412,7 @@ _bypass_proto_without_ndpi() {
[ -z "$noipv6" ] && noipv6="0"
[ -z "$family" ] && family="ipv4ipv6"
intf=$(echo $intf | sed -e 's/\./_/')
intf=$(echo $intf | sed -e 's/-/_/')
#[ -n "$intf" ] && [ -z "$(ipset --list | grep omr_dst_bypass_$intf)" ] && return
local intfid="$(uci -q get omr-bypass.$intf.id)"
@ -732,9 +739,9 @@ _intf_rule() {
#config_load shadowsocks-rust
#config_foreach _intf_rule_ss_rules ss_rules
_intf_rule_ss_rules
elif [ "$(uci -q get openmptcprouter.settings.proxy)" = "v2ray" ] && [ "$(uci -q get v2ray.main.enabled)" = "1" ]; then
elif [ -n "$(uci -q get openmptcprouter.settings.proxy | grep v2ray)" ] && [ "$(uci -q get v2ray.main.enabled)" = "1" ]; then
_intf_rule_v2ray_rules
elif [ "$(uci -q get openmptcprouter.settings.proxy)" = "xray" ] && [ "$(uci -q get xray.main.enabled)" = "1" ]; then
elif [ -n "$(uci -q get openmptcprouter.settings.proxy | grep xray)" ] && [ "$(uci -q get xray.main.enabled)" = "1" ]; then
_intf_rule_xray_rules
fi

View file

@ -263,6 +263,8 @@ _restart
OMR_TRACKER_INTERFACE_PROTO="$(uci -q get network.${OMR_TRACKER_INTERFACE}.proto)"
OMR_TRACKER_PREV_STATUS=""
[ "$OMR_TRACKER_INTERFACE_PROTO" = "modemmanager" ] && sleep $(uci -q get network.${OMR_TRACKER_INTERFACE}.delay || echo '120')
# main loop
while true; do
# setup tracker variables

View file

@ -41,7 +41,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
if [ "$mm_state_failed" = "unknown-capabilities" ]; then
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
/usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1
sleep 30
sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
elif false && [ "$mm_state_failed" = "sim-missing" ]; then
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
/usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1
@ -49,25 +49,27 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
#mm_primary_port=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.primary-port")
#mbimcli -p -d /dev/$mm_primary_port --ms-device-reset >/dev/null 2>&1
fi
elif [ "$mm_state" = "connected" ] || [ "$mm_state" = "enabled" ]; then
elif [ "$mm_state" = "enabled" ] || [ "$mm_state" = "connected" ]; then
_log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface"
_log "Set $OMR_TRACKER_INTERFACE down"
ifdown $OMR_TRACKER_INTERFACE
sleep 5
_log "Set $OMR_TRACKER_INTERFACE up"
ifup $OMR_TRACKER_INTERFACE
sleep 30
sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.restart_intf=1
uci -q commit openmptcprouter
elif [ "$mm_state" = "disabled" ]; then
# [ -n "$(echo $modeminfo | grep 'modem.3gpp.registration-state ' | grep home)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) disabled, set it up"
/usr/bin/mmcli -m ${modem} -e >/dev/null 2>&1
ifup $OMR_TRACKER_INTERFACE
sleep 30
sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
elif [ "$mm_state" = "registered" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) registered, reset it"
#ifup $OMR_TRACKER_INTERFACE
/usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1
sleep 30
sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
elif [ "$mm_state" = "locked" ]; then
mm_unlock_required=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.unlock-required")
mm_generic_sim=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.sim")
@ -80,15 +82,15 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
if [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PIN"
mmcli -a -m ${modem} -i $mm_generic_sim --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) >/dev/null 2>&1
sleep 20
sleep 30
ifup $OMR_TRACKER_INTERFACE
fi
fi
elif [ "$mm_unlock_required" = "sim-puk" ] && [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode)" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PUK"
mmcli -i $mm_generic_sim --puk=$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode) --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) >/dev/null 2>&1
sleep 30
fi
sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
fi
fi
if [ "$modemfind" = "0" ]; then
@ -97,7 +99,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp
#_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager, restart modemmanager..."
_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager"
#/etc/init.d/modemmanager restart
sleep 30
sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120')
fi
fi
#elif [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_available" = "false" ]; then

View file

@ -837,6 +837,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACK
fi
exit 0
fi
uci -q del openmptcprouter.$OMR_TRACKER_INTERFACE.restart_intf
if [ "$OMR_TRACKER_PREV_STATUS" != "" ] && [ "$OMR_TRACKER_PREV_STATUS" != "$OMR_TRACKER_STATUS" ] && [ -n "$OMR_TRACKER_INTERFACE" ]; then
_log "$OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) switched up"

View file

@ -84,7 +84,7 @@ MY_DEPENDS := \
luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard kmod-crypto-lib-blake2s \
!(LINUX_5_4):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils v2ray-core LINUX_5_4:v2ray-config !LINUX_5_4:v2ray-config-nft \
(TARGET_x86||TARGET_x86_64):kmod-mlx4-core \
!(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10):iptables-mod-ndpi !(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10):kmod-ipt-ndpi libip4tc libip6tc \
!(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10||LINUX_6_11):iptables-mod-ndpi !(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10||LINUX_6_11):kmod-ipt-ndpi libip4tc libip6tc \
xray-core LINUX_5_4:xray-config !LINUX_5_4:xray-config-nft \
shadowsocks-rust-sslocal shadowsocks-rust-ssservice LINUX_5_4:shadowsocks-rust-config !LINUX_5_4:shadowsocks-rust-config-nft luci-app-shadowsocks-rust \
luci-proto-external omr-schedule jq luci-app-ddns \
@ -93,7 +93,7 @@ MY_DEPENDS := \
(LINUX_5_4&&(TARGET_x86_64||TARGET_aarch64)):kmod-tcp-bbr2 \
TARGET_x86_64:kmod-atlantic \
!(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \
!LINUX_6_10:kmod-ovpn-dco-v2 lspci
!(LINUX_6_10||LINUX_6_11):kmod-ovpn-dco-v2 lspci
# !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 \
# !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware

View file

@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk
define KernelPackage/ovpn-dco-v2
SUBMENU:=Network Support
TITLE:=OpenVPN data channel offload
DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6 @!LINUX_6_10
DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6 @!LINUX_6_10 @!LINUX_6_11
FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco-v2.ko
AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2)
endef

View file

@ -25,7 +25,7 @@ define KernelPackage/r8125
SUBMENU:=Network Devices
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
FILES:= $(PKG_BUILD_DIR)/src/r8125.ko
DEPENDS:=@!LINUX_6_10
DEPENDS:=@!LINUX_6_10 @!LINUX_6_11
AUTOLOAD:=$(call AutoProbe,r8125)
endef

View file

@ -80,7 +80,7 @@ define BuildTemplate
$$(call Package/xtables-addons)
CATEGORY:=Network
TITLE:=$(2) iptables extension
DEPENDS:=iptables $(if $(4),+kmod-ipt-$(1)) @!LINUX_6_10
DEPENDS:=iptables $(if $(4),+kmod-ipt-$(1)) @!LINUX_6_10 @!LINUX_6_11
endef
define Package/iptables-mod-$(1)/install
@ -99,7 +99,7 @@ define BuildTemplate
define KernelPackage/ipt-$(1)
SUBMENU:=Netfilter Extensions
TITLE:=$(2) netfilter module
DEPENDS:=+kmod-ipt-core $(5) @!LINUX_6_10
DEPENDS:=+kmod-ipt-core $(5) @!LINUX_6_10 @!LINUX_6_11
FILES:=$(foreach mod,$(4),$(PKG_BUILD_DIR)/extensions/$(mod).$(LINUX_KMOD_SUFFIX))
AUTOLOAD:=$(call AutoProbe,$(notdir $(4)))
endef
@ -114,7 +114,7 @@ define Package/iptaccount
$(call Package/xtables-addons)
CATEGORY:=Network
TITLE:=iptables-mod-account control utility
DEPENDS:=iptables +iptables-mod-account @!LINUX_6_10
DEPENDS:=iptables +iptables-mod-account @!LINUX_6_10 @!LINUX_6_11
endef
define Package/iptaccount/install
@ -136,7 +136,7 @@ define Package/iptasn
DEPENDS:=iptables +iptables-mod-asn \
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
+perl-net-cidr-lite \
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10 @!LINUX_6_11
endef
define Package/iptasn/config
@ -172,7 +172,7 @@ define Package/iptgeoip
DEPENDS:=iptables +iptables-mod-geoip \
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
+perl-net-cidr-lite \
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10 @!LINUX_6_11
endef
define Package/iptgeoip/config