-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexclude.sh
More file actions
30 lines (26 loc) · 1.22 KB
/
exclude.sh
File metadata and controls
30 lines (26 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# --- IPv4 setup ---
ipset -q flush masscan-exclude-v4
ipset -q create masscan-exclude-v4 hash:net family inet
# --- IPv6 setup ---
ipset -q flush masscan-exclude-v6
ipset -q create masscan-exclude-v6 hash:net family inet6
# --- Populate both sets from the same exclude list ---
curl --compressed https://raw.githubusercontent.com/scriptzteam/masscan-exclude/refs/heads/main/exclude.conf 2>/dev/null \
| cut -f1 \
| while read ip; do
if [[ $ip == *:* ]]; then
ipset add masscan-exclude-v6 "$ip"
else
ipset add masscan-exclude-v4 "$ip"
fi
done
# --- IPv4 iptables rules ---
iptables -D INPUT -m set --match-set masscan-exclude-v4 src -j DROP 2>/dev/null
iptables -I INPUT -m set --match-set masscan-exclude-v4 src -j DROP
iptables -D OUTPUT -m set --match-set masscan-exclude-v4 dst -j DROP 2>/dev/null
iptables -I OUTPUT -m set --match-set masscan-exclude-v4 dst -j DROP
# --- IPv6 ip6tables rules ---
ip6tables -D INPUT -m set --match-set masscan-exclude-v6 src -j DROP 2>/dev/null
ip6tables -I INPUT -m set --match-set masscan-exclude-v6 src -j DROP
ip6tables -D OUTPUT -m set --match-set masscan-exclude-v6 dst -j DROP 2>/dev/null
ip6tables -I OUTPUT -m set --match-set masscan-exclude-v6 dst -j DROP