-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.sh
More file actions
49 lines (40 loc) · 1.83 KB
/
Copy pathscript.sh
File metadata and controls
49 lines (40 loc) · 1.83 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
set -e # Прерывать выполнение при ошибке
# Установка Squid
echo "Обновление списка пакетов..."
sudo /usr/bin/apt update
echo "Установка apache2-utils и Squid..."
sudo /usr/bin/apt -y install apache2-utils squid
# Настройка Squid
echo "Настройка Squid..."
sudo touch /etc/squid/passwd
sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.bak
sudo /usr/bin/touch /etc/squid/blacklist.acl
echo "Загрузка конфигурационного файла..."
sudo /usr/bin/wget --no-check-certificate -O /etc/squid/squid.conf https://raw.githubusercontent.com/serverok/squid-proxy-installer/master/conf/ubuntu-2204.conf
# Разрешение трафика через iptables
echo "Настройка iptables..."
if [ -f /sbin/iptables ]; then
sudo /sbin/iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
fi
# Создание пользователя с случайным именем и паролем
echo "Создание пользователя Squid..."
USERNAME="user_$(openssl rand -hex 4)"
PASSWORD=$(openssl rand -base64 12)
echo -n "$USERNAME:$PASSWORD" | sudo tee /etc/squid/passwd
sudo chown proxy:proxy /etc/squid/passwd
sudo chmod 600 /etc/squid/passwd
echo "Добавление пользователя в htpasswd..."
sudo htpasswd -b /etc/squid/passwd $USERNAME $PASSWORD
# Перезапуск Squid
echo "Перезапуск Squid..."
sudo systemctl enable squid
echo "Запуск Squid..."
sudo service squid restart
# Получение IP-адреса
echo "Получение IP-адреса..."
IP=$(hostname -I | cut -f1 -d' ')
PORT=3128
# Вывод строки подключения
echo "Прокси доступен по адресу: $IP:$PORT:$USERNAME:$PASSWORD" >> squid_proxy_result.txt
cat squid_proxy_result.txt