Найти тему
skibidi

Установка и настройка прокси-сервера 3proxy на Debian/Ubuntu

какая то фигня, но работает

Установка

sudo apt-get install -y build-essential
cd
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar xzf 0.9.3.tar.gz

Компилируем

cd ~/3proxy-0.9.3
sudo make -f Makefile.Linux

Создаем папку и копируем туда

sudo mkdir /etc/3proxy
cd ~/3proxy-0.9.3/bin
sudo cp 3proxy /usr/bin/

Создание пользователя "proxy3"

sudo adduser --system --no-create-home --disabled-login --group proxy3

Узнаем его id

id proxy3

Берём uid и gid

uid=109(proxy3) gid=115(proxy3) groups=115(proxy3)

Создаем файл настроек

sudo nano /etc/3proxy/3proxy.cfg

Вставляем туда код

# Запускаем сервер от пользователя proxy3
# (возможно в вашей ОС uid и gid пользователя proxy3
# будут другими. Для их определения воспользуйтесь командой id proxy3)
setgid 115
setuid 109
#
# Пропишите правильные серверы имен посмотрев их
# на своем сервере в /etc/resolv.conf
nserver 8.8.8.8
#
# Оставьте размер кэша для запросов DNS по умолчанию
nscache 65536
#
# Равно как и таймауты
timeouts 1 5 30 60 180 1800 15 60
#
# Если несколько IP на одном сервере, указываем тот,
# через который будем ходить во внешний мир.
# Иначе эту строку игнорируем
#external <YOURSERVERIP>
# Тоже самое, только указываем IP, который надо слушать
# Если проигнорировать, то прокси слушает все адреса на сервере
#internal <YOURSERVERIP>
#
# Указываем на расположение файла с пользователями и паролями
users $/etc/3proxy/.proxyauth
#
# укажите режим запуска как deamon
daemon
#
# путь к логам и формат лога, к имени лога будет добавляться дата создания
log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
#
# Включаем авторизацию по логинам и паролям
auth cache strong
#
# Конфигурация http(s) proxy
# Запускаем анонимный (-a) HTTP-proxy на порту (-p) 3128 и
# c отключенной NTLM-авторизацией (-n)
proxy -n -p3128 -a

Ну а если по простому

setgid 115 #меняем 115 на свой
setuid 109
#меняем 109 на свой
nserver 8.8.8.8 #dns сервак гугла
nserver 77.88.8.8 #
dns сервак яндекса
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
users $/etc/3proxy/.proxyauth
daemon
auth cache strong
proxy -n -p3128 -a #порт
3128

Создаем файл с пользователями и паролями

sudo nano /etc/3proxy/.proxyauth

Вставляем в него следующий код (username-ваш логин, strongpassword-ваш пароль)

## addusers in this format: #user:CL:password
username:CL:strongpassword

Выдача прав неграм

sudo chown proxy3:proxy3 -R /etc/3proxy
sudo chown proxy3:proxy3 /usr/bin/3proxy sudo chmod 444 /etc/3proxy/3proxy.cfg sudo chmod 400 /etc/3proxy/.proxyauth

Папка для логов(нафиг надо)

sudo mkdir /var/log/3proxy
sudo chown proxy3:proxy3 /var/log/3proxy

Создаем файл-инициализации для systemd:

sudo nano /etc/systemd/system/3proxy.service

Пишем туда

[Unit]
Description=3proxy Proxy Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill `/usr/bin/pgrep -u proxy3`
RemainAfterExit=yes
Restart=on-failure
[Install]
WantedBy=multi-user.target

Сохраняем и теперь нужно обновить конфигурацию systemd

sudo systemctl daemon-reload

Добавляем в автозагрузку

sudo systemctl enable 3proxy

Запускаем прокси-сервер

sudo systemctl start 3proxy

Открываем порт

sudo iptables -I INPUT -p tcp -m tcp --dport 3128 -j ACCEPT