[personal profile] alexp
В прошлом посте разобрались с WireGuard в Ubuntu. Но при этом получили решение, которое не позволяет перенаправлять трафик для выбранных приложений и/или сайтов. Для этого нам понадобится WireProxy


Чтобы скомпилировать WireProxy в Ubuntu, выполните команды в терминале:
git clone https://github.com/octeep/wireproxy
cd wireproxy
sudo apt install golang-go
go build ./cmd/wireproxy


Далее для проверки работоспособности запустите в терминале
./wireproxy -v

Поместите конфигурационный файл WireGuard (в данном случае с именем server-country-wireguard.conf) в папку /opt/myfiles/
sudo mkdir /opt/myfiles
cp server-country-wireguard.conf /opt/myfiles


Создайте файл wireproxy.conf, в котором будет описана конфигурация для создания SOCKS5-прокси
sudo gedit /opt/myfiles/wireproxy.conf

WGConfig = /opt/myfiles/server-country-wireguard.conf

[Socks4]
BindAddress = 127.0.0.1:64422

[Socks5]
BindAddress = 127.0.0.1:64423

[http]
BindAddress = 127.0.0.1:64424
Username = alex
Password = alex



BindAddress определяет локальный адрес и порт для прокси. Username и Password — это логин и пароль для подключения к прокси (их не обязательно использовать, тем более что расширение для Google Chrome в Ubuntu выдавало у меня сообщение, что данный браузер не поддерживает авторизацию для Sock5/Sock4 Proxy).

Скопируйте wireproxy в папку /usr/bin
cp wireproxy /usr/bin

Чтобы проверить правильность конфигурации wireproxy, введите в терминале
/usr/bin/wireproxy -c /opt/myfiles/wireproxy.conf -n

Для запуска wireproxy выполните:
/usr/bin/wireproxy -c /opt/myfiles/wireproxy.conf

Для автозапуска можно использовать systemd

Создаем новый файл:
sudo gedit /etc/systemd/system/wireproxy.service

В данном конфигурационном файле указываем:
[Unit]
Description=Wireproxy socks5/http tunnel
Wants=network-online.target
After=network-online.target
#After=network.target


[Service]
#User=wireproxy
#Group=wireproxy
SyslogIdentifier=wireproxy
Type=simple
Restart=on-failure
RestartSec=30s

DynamicUser=yes

LoadCredential=conf:/opt/myfiles/wireproxy.conf
ExecStartPre=/usr/bin/wireproxy -n -c ${CREDENTIALS_DIRECTORY}/conf
ExecStart=/usr/bin/wireproxy -c ${CREDENTIALS_DIRECTORY}/conf

#LoadCredential=conf:/etc/wireproxy.conf
#ExecStartPre=/opt/wireproxy/wireproxy -n -c ${CREDENTIALS_DIRECTORY}/conf
#ExecStart=/opt/wireproxy/wireproxy -c ${CREDENTIALS_DIRECTORY}/conf

# Required if <1024 port
#AmbientCapabilities=CAP_NET_BIND_SERVICE
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
LimitNPROC=64
LockPersonality=true
MemoryDenyWriteExecute=true
NoNewPrivileges=true
PrivateDevices=true
PrivateTmp=true
PrivateUsers=true
ProcSubset=pid
ProtectClock=true
ProtectControlGroups=true
ProtectHome=true
ProtectHostname=true
ProtectKernelLogs=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectProc=invisible
ProtectSystem=strict
RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK
RestrictNamespaces=true
RestrictRealtime=true
SystemCallArchitectures=native
SystemCallFilter=@system-service

[Install]
WantedBy=multi-user.target


Далее перезапускаем
sudo systemctl daemon-reload

Добавляем в автозапуск:
sudo systemctl enable wireproxy.service

После проверяем статус работы:
sudo systemctl status wireproxy.service

При некорректной работе смотрим журнал ошибок
journalctl -u wireproxy.service

Когда локальный прокси для Wireguard работает, можем его использовать. Для этого хорошо подходят расширения Proxy SwitchyOmega, FoxyProxy для Chrome и FoxyProxy для FireFox.

Просто добавляем в настройках Proxies новый прокси сервер типа Sock5 с хостом 127.0.0.1 и номером порта из wireproxy.conf для Sock5.



После этого можно также указать домены, для которых будет применяться локальный прокси сервер (перенаправляющий трафик через Wireguard).

February 2026

S M T W T F S
1234567
8910 11121314
15161718192021
22232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 5th, 2026 02:22 pm
Powered by Dreamwidth Studios