-
Notifications
You must be signed in to change notification settings - Fork 0
/
killswitch
67 lines (54 loc) · 1.78 KB
/
killswitch
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/bash
#github.com/krakodjaba t.me/telanalysis
# Установка зависимостей
apt install ufw -y
# Код скрипта
ufw --force reset
ufw default deny incoming
ufw default deny outgoing
echo "Введите IP для легитимного подключения (IP VPN):"
read ip
if [[ ! $ip =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Неверный формат IP-адреса."
exit 1
fi
echo "IP Address: $ip"
echo "Введите количество сетевых интерфейсов для конфигурации:"
read count
if ! [[ $count =~ ^[0-9]+$ ]]; then
echo "Количество должно быть числом."
exit 1
fi
echo "Количество Интерфейсов: $count"
in_ips="$ip 192.168.0.0/24 127.0.0.1"
out_ips="$ip 192.168.0.0/24 127.0.0.1"
for i in $(seq 1 $count); do
echo "Введите название интерфейса $i:"
read interface
if [[ -z $interface ]]; then
echo "Название интерфейса не может быть пустым."
exit 1
fi
echo "Интерфейс: $interface"
for in_ip in $in_ips; do
ufw allow in on $interface from $in_ip
echo "allow in on $interface from $in_ip"
done
for out_ip in $out_ips; do
ufw allow out on $interface to $out_ip
echo "allow out on $interface to $out_ip"
done
done
echo "Введите название интерфейса vpn (tun, tun0, nekoray-tun):"
read vpn
if [[ -z $vpn ]]; then
echo "Название интерфейса VPN не может быть пустым."
exit 1
fi
echo "vpn interface: $vpn"
ufw allow in on $vpn
ufw allow out on $vpn
echo "allow in on $vpn"
echo "allow out on $vpn"
ufw enable
echo "started firewall"