Бесплатная миграция IT-инфраструктуры в облако

Установка и настройка Wireproxy

Никита Долгих
Никита Долгих
Технический писатель
20 декабря 2023 г.
5015
6 минут чтения
Средний рейтинг статьи: 2.9

В этой статье мы рассмотрим процесс создания SOCKS5-прокси с использованием Wireproxy, а также способы подключения к нему через расширение FoxyProxy для браузера Firefox.

Wireproxy — это клиент WireGuard, который выступает в роли прокси-сервера SOCKS5/HTTP или туннеля. Это решение может быть особенно полезным в случаях, когда необходимо подключиться к определенным сайтам через пир WireGuard, но нет желания или возможности настраивать новый сетевой интерфейс по различным причинам​.

Основные причины, по которым Wireproxy может быть предпочтительным выбором:

  • Использование WireGuard в качестве средства проксирования трафика.

  • Отсутствие необходимости получения прав администратора для изменения настроек WireGuard.

Wireproxy обеспечивает полную изоляцию от сетевых интерфейсов устройства, что позволяет использовать его без необходимости конфигурирования с правами администратора. 

Основные функции Wireproxy:

  • Статическая маршрутизация TCP для клиента и сервера.

  • Поддержка прокси SOCKS5/HTTP (на данный момент поддерживается только CONNECT)​​.

Разработчики Wireproxy также работают над добавлением новых возможностей, включая поддержку UDP в SOCKS5 и статическую маршрутизацию UDP​​.

cloud

Установка Wireproxy

Wireproxy — это кроссплатформенная утилита, поддерживающая множество операционных систем, включая Linux, macOS и Windows. Есть два основных способа установки Wireproxy: сборка проекта из исходного кода с использованием Go и загрузка готовой собранной версии для соответствующей платформы. Ниже представлены пошаговые инструкции для каждого из этих методов.

Выбор метода установки зависит от ваших предпочтений и требований: если вам важно использовать последнюю версию исходного кода, предпочтительнее сборка из исходников. Для стабильности и удобства подойдет предварительно скомпилированная версия.

Установка предварительно скомпилированной версии (на примере Windows)

  1. Перейдите на страницу релизов на Гитхабе и скачайте файл архив для вашей операционной системы. Так как в примере рассматривается установка в Windows, загрузите wireproxy_windows_amd64.tar.gz.

  2. Распакуйте архив и поместите wireproxy.exe в удобное место, например, создайте папку wireproxy на рабочем столе.

  3. Откройте командную строку Windows или PowerShell и перейдите в созданную папку с помощью команды cd Desktop\wireproxy.

  4. Выполните команду wireproxy.exe -v для проверки корректной работы утилиты.

Сборка из исходного кода с использованием Go (на примере Linux)

Предварительные требования:

  • Убедитесь, что на вашем устройстве установлена версия Go не ниже 1.20. Это можно проверить командой go version.
  • Если Go не установлен в вашей системе, вы можете воспользоваться этой инструкцией для установки на Ubuntu 22.04 или этой для установки Go в Windows.

Процесс сборки:

  1. Откройте терминал и выполните команды для клонирования репозитория Wireproxy:

git clone https://github.com/octeep/wireproxy
cd wireproxy
  1. В директории проекта выполните команду make для запуска процесса компиляции.
  2. После завершения сборки выполните ./wireproxy -v, чтобы убедиться в корректной работе утилиты.

Настройка Wireproxy

После успешной установки Wireproxy на ваше устройство следующим шагом является настройка утилиты. 

Чтобы начать, вам необходим файл конфигурации для подключения к WireGuard. Вы можете создать новый сервер и настроить WireGuard вручную, следуя, например, этой инструкции Timeweb Cloud.

Другой вариант – использовать раздел «Маркетплейс» при создании сервера и выбрать «Wireguard-GUI»:

Image3

В общем виде, файл конфигурации WireGuard будет выглядеть примерно так:

[Interface]
PrivateKey = [Ваш_личный_ключ]
Address = 10.0.0.2/32
DNS = 8.8.8.8

[Peer]
PublicKey = [Публичный_ключ_сервера]
Endpoint = [IP_сервера:порт]
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20

Конфигурационный файл Wireguard необходимо поместить в папку wireproxy, созданную ранее. В примере конфигурационный файл Wireguard имеет имя wg.conf.

В директории wireproxy создайте файл wp.conf, в котором будет описана конфигурация для создания SOCKS5-прокси:

WGConfig = ./wg.conf

[Socks5]
BindAddress = 127.0.0.1:25344
Username = timeweb
Password = timeweb
  • В параметре WGConfig указывается путь к вашему конфигу WireGuard.

  • BindAddress определяет локальный адрес и порт для прокси.

  • Username и Password — это логин и пароль для подключения к прокси (эти параметры не обязательны).

Чтобы проверить правильность конфигурации, выполните команду ниже.

Для Linux:

./wireproxy -c wp.conf -n
 
Для Windows:
wireproxy.exe -c wp.conf -n

Это позволит убедиться, что конфигурация описана правильно, без запуска самого прокси.

Для запуска Wireproxy выполните команду:

./wireproxy -c wp.conf

Для Windows:

wireproxy.exe -c wp.conf

Для фонового запуска используйте параметр -d:

./wireproxy -c wp.conf -d     #Linux

wireproxy.exe -c wp.conf -d     #Windows

Подключение к Wireproxy через браузерное расширение

Для использования Wireproxy через браузер, можно воспользоваться специализированными расширениями для управления прокси-серверами. В этом примере мы рассмотрим настройку подключения к прокси в браузере Firefox с использованием расширения FoxyProxy, но аналогичные шаги могут быть выполнены и в других браузерах, например, в Google Chrome с помощью расширения Proxy SwitchyOmega.

Установка и настройка FoxyProxy в Firefox

Перейдите по ссылке Foxy Proxy для Firefox и установите расширение в ваш браузер.

После установки нажмите на иконку Foxy Proxy и выберите 'Options' для перехода в меню настроек.

Image5

В меню настроек нажмите на 'Add' для добавления новой конфигурации прокси.

Image4

В разделе 'Proxy Type' выберите 'SOCKS5'.

В поле 'Proxy IP' введите '127.0.0.1', а в поле 'Port' укажите '25344'. Если в конфигурации Wireproxy заданы логин и пароль, введите их в соответствующие поля 'Username' и 'Password'.

Image1

После внесения всех настроек нажмите на кнопку 'Save' для сохранения конфигурации.

Ещё раз нажмите на иконку Foxy Proxy и выберите созданную конфигурацию для подключения к прокси-серверу.

Image6

Для проверки работы прокси перейдите на сайт 2ip.ru и убедитесь, что IP-адрес изменился. Это подтвердит, что ваш трафик теперь проходит через настроенный Wireproxy.

Image2

Для более гибкой настройки работы с прокси, FoxyProxy предлагает функцию паттернов. Это позволяет настроить использование прокси-серверов только для определённых сайтов. Чтобы задать паттерны, откройте меню расширения FoxyProxy и выберите 'Options'. В уже созданном подключении нажмите на кнопку 'Patterns'.

Image7

Затем, чтобы активировать использование паттернов, кликните на иконку расширения FoxyProxy и выберите опцию 'Use Enable Proxies By Patterns and Order'.

Image8

После этих настроек подключение к прокси будет осуществляться только для сайтов, указанных в ваших паттернах.

Подготовили для вас выгодные тарифы на облачные серверы

Заключение

В этой статье мы рассмотрели процесс установки и настройки Wireproxy, инструмента для создания SOCKS5/HTTP-прокси через WireGuard. Отличительной особенностью Wireproxy является его способность работать в пользовательском пространстве, что упрощает настройку и использование, особенно для пользователей, не имеющих прав администратора. Мы также описали интеграцию Wireproxy с браузерными расширениями для управления прокси, добавляющую удобство в использовании.

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
20 декабря 2023 г.
5015
6 минут чтения
Средний рейтинг статьи: 2.9
Комментарии 10
Данило
22.11.2024, 22:28

Добрый день!

При вводе команды ./wireproxy -c wp.conf выдет ошибку "key-value delimiter not found: {\rtf1\ansi\ansicpg1251\cocoartf2820"

Все никак не могу ее побороть. Помогите пожалуйста)

Timeweb Cloud
Timeweb Cloud
26.11.2024, 13:46

Добрый день!

Вероятнее всего, проблема возникла из-за того, что файл wp.conf был сохранен в формате, отличном от обычного текста, например, в RTF, или с использованием кодировки, отличной от UTF-8. Попробуйте пересоздать файл в простом текстовом редакторе (например, nano или vim). Также убедитесь, что в нем нет лишних символов разметки.

Сергей
28.09.2024, 15:56

на команду wireproxy.exe -v в windows выдает ошибку видимо померло все))))

Сергей
28.09.2024, 16:04

получилось, только папку создал так C:\wireproxy

Wild
07.09.2024, 23:11

У вас тут никакой ошибки нет?

"Откройте терминал и выполните команды для клонирования репозитория Wireproxy: git clone https://github.com/octeep/wireproxycd wireproxy"

Timeweb Cloud
Timeweb Cloud
10.09.2024, 15:12

Да, действительно две команды слились в одну. Мы поправили в статье, спасибо!

Dmitriy
19.08.2024, 14:54

инструкция не актуальна. приложение обновилось, данные команды и настройки некорректны.

Timeweb Cloud
Timeweb Cloud
20.08.2024, 14:17

Добрый день! Перепроверили инструкцию — всё отработало, как нужно. Только незначительно обновился интерфейс FoxyProxy. Расскажите подробнее, какое обновление вы имеете в виду и на каком шаге получаете ошибку?

Павел Логинов
Павел Логинов
30.03.2024, 18:28

как сделать чтобы запускалось при старте компьютера в фоновом режиме?

Команда Timeweb Cloud
Команда Timeweb Cloud
03.04.2024, 08:03

Автозапуск можно реализовать при помощи создания юнита systemd.

Создаем новый файл:

sudo nano /etc/systemd/system/wireproxy.service

В файле указываем:

shell

[Unit]
Description=wireproxy
After=network.target
[Service]
Type=simple
ExecStart=/путь/к/wireproxy -c /путь/к/конфигу/wp.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target

Перезапускаем:

sudo systemctl daemon-reload

И добавляем в автозапуск:

sudo systemctl enable wireproxy.service

После проверяем статус:

sudo systemctl status wireproxy.service