The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выборочное туннелирование сайтов через WireGuard
Идея проста: на localhost поднимается SOCKS5 proxy, проталкивающий информацию
на ту сторону туннеля WireGuard. Соответственно, селективность достигается
путём использования прокси для нужных соединений.

1. Клонируем https://github.com/zhsj/wghttp

2. Ставим golang

3. Собираем

     go build

При надобности используем GOOS и GOARCH для кросс-сборки.

4. Читаем

     wghttp --help

и изучаем переменные окружения, используемые для конфигурации.

5. Пишем сценарий оболочки/программу, выставляющий переменные окружения в
нужные значения и запускающий прокси.

6. Пишем unit systemd или используем NSSM/WinSW, запускаем службу. Желательно
дать сервису минимально возможные права. а именно доступ к файловой системе ему
не должен быть нужен вообще.

7а. Устанавливаем браузерное дополнение FoxyProxy Standard (имеется порт для
браузеров на основе Chromium). Конфигурируем его использовать свежеподнятый
прокси для нужных сайтов.

7б или устанавливаем браузерное дополнение Proxy SwitchyOmega Конфигурируем его
использовать свежеподнятый прокси для нужных сайтов.


7в. В качестве альтернативы можно использовать pac-файлы.


8. PROFIT

PS: можно поднять в Docker. 
docker-compose.yaml

   services:
     wghttp:
       image: 'ghcr.io/zhsj/wghttp:latest'
       container_name: wghttp
       restart: always
       ports:
         - '1082:1082'
       environment:
         LISTEN: '0.0.0.0:1080' # SOCKS5 port optional default localhost:8080
         CLIENT_IP: 10.xx.xx.x
         PRIVATE_KEY: yHHxxxxxxxxxxxxxxxxxxxxxcH4Hk8=
         PEER_KEY: u57MDxxxxxxxxxxxxxxxxx7Pb1CMaP0Gk=
         PEER_ENDPOINT: 'xxxxxxxxxx.duckdns.org:4xxx4'
         DNS: 8.8.8.8  # optional
         MTU: 1450  # optional default 1280
        # PRESHARED_KEY=pupxxxxxxxxxxxxxxxxxxxxxxxxxxxxem4=  # optional
 
03.07.2022 , Автор: Аноним
Ключи: wireguard, vpn, tunnel / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Туннелинг, VPN, VLAN

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, pavlinux (ok), 19:42, 04/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –17 +/
    > Желательно дать сервису минимально возможные права.

    В курсе, что WireGuard, через CISA, спонсируется Конгрессом США?


     
     
  • 2.3, bircoph (ok), 15:04, 05/07/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И как это влияет на код? Кто финансирует - не важно, важна лицензия кода и кто владеет (последнее для крупных проектов, которые сообществу тяжело форкнуть).
     
     
  • 3.23, Аноним (23), 10:13, 09/07/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И как это влияет на код? важна лицензия кода и кто владеет (последнее для крупных проектов, которые сообществу тяжело форкнуть)

    И как это влияет на код?

     
     
  • 4.24, bircoph (ok), 13:18, 09/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Влияние в возможности контроля сообщества над процессом и направлением разработки.
     
     
  • 5.25, Аноним (23), 16:26, 09/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И куда сообщество направляет разработку Linux?
     
     
  • 6.31, bircoph (ok), 14:31, 11/07/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > И куда сообщество направляет разработку Linux?

    К отсутствию C++ в ядре, к постепенному отказу от проприетарных модулей (EXPORT_SYMBOL_GPL).

     
  • 3.30, pavlinux (ok), 02:22, 11/07/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И как это влияет на код?

    Они обязаны оставлять дыры для спец. служб.


    > Кто финансирует - не важно,

    Кто девушку ужинает, тот её и танцует.

     
  • 2.4, Аноним (-), 15:09, 05/07/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А кодит его Jason A Donefield, который ни в чем предосудительном замечен не был. И если бы он хотел что-то плохое, наверное не стал бы фрибсдшникам мешать внедрять код с вулнами, не?
     
     
  • 3.38, Аноним (38), 23:16, 14/07/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    так пофиг, главное что правительство раши не имело влияние на код.
     
  • 2.9, Аноним (9), 11:27, 06/07/2022 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Тебе разрешаю использовать VPN с шифрованием по госту.
     
  • 2.28, achtosluchilos (ok), 15:35, 10/07/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    завидуете что не фсб россии? код открыт, код минималистичен, бери да "верифицируй".
     
  • 2.36, poehavshiy (?), 08:04, 14/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    первый раз слышу, можно поподробнее, а луче пруф
     
  • 2.42, pridurok (?), 11:05, 25/07/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    а вы знаете что модель tcp/ip финонсировалась министерстов обороны сша?! другими словами - so what!? если вы боитесь американских шпиёнов, то тогда ваще не нужне пользоваться интернетом/компьютером
     
  • 2.49, DmA (??), 10:34, 07/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    TCP тем более нельзя использовать :(
     
  • 2.53, Аноним (53), 01:12, 27/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И что? Так это отлично, главное что бы в спонсорах никого не было причастных из кремля.
     

  • 1.2, Аноним (2), 21:39, 04/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Раз уже тут такое, то поделюсь своими секретами.

    Если есть WireGuard, то где-то неподалеку есть и SSH. Тогда вместо прокси сервера и WireGuard можно использовать SSH:
    ssh -D 1337 -q -i ~/.ssh/user.cer -C -N random@10.0.0.1

    И как будто в статье не раскрыта тема конфигурации WireGuard. Если есть туннель, то это ещё не значит, что сервер будет радостно перенаправлять весь приходящий от клиента трафик. Или я заблуждаюсь?

     
     
  • 2.10, Аноним (9), 11:28, 06/07/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > как будто

    СХБ

     
  • 2.32, keydon (ok), 08:21, 12/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    увы, ssh довольно отвратно работает в качестве туннеля по скорости и стабильности
     
     
  • 3.33, riv1329 (?), 17:34, 12/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я такого не замечал. Ограничений скорости до 1ГБит/сек нет, а выше я не проверял.
     
     
  • 4.34, keydon (ok), 01:38, 13/07/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Я такого не замечал. Ограничений скорости до 1ГБит/сек нет, а выше я
    > не проверял.

    Мб у меня руки кривые, но при банальном веб серфинге ~30 вкладок фурифлкса с туннелем в нидерландах начинается какая-то жесть с подвисанием соединения. И судя по форумам и рассылкам - такая проблема не только у меня и только через ssh. Через vpn (tcp, udp) проблем нет, потерь пакетов нет, латенси в норме порядка 50мс, юзаю foxyproxy. При использовании ssh без туннеля тоже все отлично.
    клиент и сервер оба на OpenSSH_8.2p1

     
     
  • 5.40, Аноним (40), 02:45, 16/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я подобную штуку наблюдал, если трафф из ssh заливать в проксю (squid например).
    Может там на выходе у провайдера VPN стоит прозрачная прокся, которая пишет всё?
    Но да, без ssh всё работало как лучше.
     

  • 1.5, Аноним (5), 21:26, 05/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Давно так делаю, только прокси поднят на впс, доступ к прокси только через VPN.
     
     
  • 2.11, Аноним (-), 13:14, 06/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Давно так делаю, только прокси поднят на впс, доступ к прокси только через VPN.

    Так для этого нафиг не нужна та хрень на игого?!

     
     
  • 3.13, Аноним (5), 21:02, 06/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не нужна, в качестве прокси использую Dante. Насколько я понял, автор выложил универсальное решение для тех у кого нет VPS, а есть только VPN туннель, решение пригодное как Linux так и для Windows.
     

  • 1.7, i (??), 01:51, 06/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > 5. Пишем сценарий оболочки/программу, выставляющий переменные окружения в

    нужные значения и запускающий прокси.

    0. Пишем код выборочно туннелирующий нужные сайты.
    1. PROFIT

    > 8. PROFIT

     
  • 1.12, john_erohin (?), 18:41, 06/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    модератор, верни мой коммент как было.
    за информацию о том, что nssm является spyware,
    можно и простить некоторую грубость.
     
     
  • 2.14, Аноним (-), 05:09, 07/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    обоснуй
     
     
  • 3.15, john_erohin (?), 10:23, 07/07/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    do it yourself.

    1) скачай образцы nssm.exe с оф.сайта и с гитхаба. штуки 4-6 будет достаточно,
    если нет - скачивай все nssm*.exe что попадутся в поиске.

    2) добавь в конец каждого .exe рандомный мусор 5-10 байт, например так:
    echo sd--5676==jyg >> nssmxxx.exe

    3) залей nssmxxx.exe на virustotal.com

    4) сигнатурный анализ можно игнорировать (но можно и учесть).
    главное - поведенческий анализ. дождись его окончания.

    5) куда он лезет в интернеты ? зачем ? у меня нет ответа.

     
     
  • 4.26, Аноним (26), 20:44, 09/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    20.99.132.105:443 (TCP)
    23.216.147.76:443 (TCP)

    На Azure хостится, видимо.

     
     
  • 5.27, john_erohin (?), 23:40, 09/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > 20.99.132.105:443 (TCP)
    > 23.216.147.76:443 (TCP)
    > На Azure хостится, видимо.

    без разницы вообще: Azure, DO, AWS или еще какая помойка.

    srvany почему-то никуда не лез.

     

  • 1.16, onanim (?), 11:47, 07/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    нафига такие сложности?! уже лет двадцать как все нормальные браузеры поддерживают файлы PAC (proxy auto config).
    (по крайней мере в фаерфоксе работает, любителям гугловских испражнений соболезную)

    пишешь всего десять строк и наслаждаешься.

    function FindProxyForURL(url, host) {
      nosok = "127.0.0.1:12345";
      nenosok = "DIRECT";
    // тут перечисляешь свои сайты и подсети
    if (shExpMatch(host,"pornhub.com") || shExpMatch(host,"vk.com") || isInNet(host, "12.34.0.0")) {
      return nosok;
    }
    // что не попало в список - подключаемся напрямую
    return nenosok;
    }

    где nosok - SSH туннель до вдски в свободной гейропейской стране.

     
     
  • 2.17, onanim (?), 11:48, 07/07/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    а, таки дочитал пост до конца и увидел

    > 7б. В качестве альтернативы можно использовать pac-файлы.

    это первым пунктом должно было идти, вместо выкачивания 700 мегабайт добра в пункте 2

     
  • 2.21, Аноним (21), 01:11, 09/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >где nosok - SSH туннель до вдски в свободной гейропейской стране.

    А тут - туннель вайргард. "Бесплатный". Как сыр в мышеловке, но у меня всё по TLS, так что срать я хотел, что они там прослушают, всё равно не расшифруют. Впска не нужна. Вдска тоже. В отщичие от них у впна айпишник один для многих пользователей.

     
  • 2.43, Аноним (43), 13:42, 05/08/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > (по крайней мере в фаерфоксе работает, любителям гугловских испражнений соболезную)

    Если бы не собственное неуместное мнение, комментарий был бы великолепным

     
     
  • 3.44, onanim (?), 11:15, 17/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> (по крайней мере в фаерфоксе работает, любителям гугловских испражнений соболезную)
    > Если бы не собственное неуместное мнение, комментарий был бы великолепным

    вполне уместное, в вашем гугле скоро umatrix и ublock работать перестанут.

     

  • 1.18, Тот Самый (?), 23:43, 07/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >1. Клонируем git
    >2. Ставим golang
    >3. Собираем
    >4. Читаем
    >5. Пишем сценарий оболочки/программу
    >6. Пишем unit systemd
    >7. Устанавливаем браузерное дополнение

    Яркий пример перректального удаления гланд

    Откройте для себя Privoxy - HTTP(S) прокси с возможностью редиректа в socks5. (Privoxy есть в любом Linux дистрибутиве, а также для Android, FreeBSD, iOS, Win, OS/2 ...)
    Вот, например, выборочное перенаправление в локальный TOR клиент:

    {+forward-override{forward-socks5 127.0.0.1:9050 .}}
    .onion/
    .protonmail.com/
    .protonvpn.ch/
    и т.п.

    Всё! Больше ни чего не требуется.

    PS
    Аналогично можно использовать PAC, только для домена onion он работать не будет.

     
     
  • 2.20, onanim (?), 10:21, 08/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Аналогично можно использовать PAC, только для домена onion он работать не будет.

    будет, я именно для хождения в тор с обычного браузера PAC и использовал.

     
  • 2.22, Аноним (21), 01:13, 09/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Вот, например, выборочное перенаправление в локальный TOR клиент.

    А тут - в wireguard туннель.

     

  • 1.19, mos87 (ok), 09:11, 08/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    TOR + bridges + proxy.pac
    удовлетворит запросы наверное ок. 90% людей
     
  • 1.29, Страдивариус (?), 21:31, 10/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Все эти танцы с бубном нужно для того, что разделять российский трафик и остальной мир. Для этого iptables умеет geoip. Далее маркируем трафик. Далее делаем policy base routing на основе fwmark.

    А вы, товарищи - дилетанты.

     
     
  • 2.35, AKTEON (?), 07:57, 13/07/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть некоторые российские национал-предательские сервисы, которые хостятся в германии и банят все ip кроме российских ....
     
  • 2.37, poehavshiy (?), 08:18, 14/07/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ничего не понял, но очень интересно (да я дилетант too)
     
  • 2.48, nikosd (ok), 11:11, 05/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    обнаруживаем  иностранный сайт, который среди прочего использует аналитику  от Яндекс и видит что  мы идем  "с запрещенных земель", радуемся результату разделения по IP.
     

  • 1.41, даладно (?), 16:02, 17/07/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    danted + foxyproxy?
     
  • 1.45, ABATAPA (ok), 12:25, 23/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ipset + iptables / nftables + wireguard
    Работает годы.
     
     
  • 2.46, А (??), 14:50, 25/08/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Причём

    > Устанавливаем браузерное дополнение

    делает время жизни решения равным короткому времени сушествования неизвестного дополнения под диапазон версий браузера.

    Как упражнение - неплохо. Как решение - нет.

     

  • 1.47, l0 (?), 02:18, 03/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    На самом деле - очень познавательно.
    За исключением одного-двух "но".
    Ежели ты 0дмин с 10-15-30 летним стажем, ты можешь сказать "о, норм, так тоже хорошо, но у меня ещё 50 разных вариантов есть. И "лично для меня" они лучше/удобнее/проще и т.д.
    А ежели ты юзверь мастдайный, то зачем этот пост?
    Да и для 0дминов/кодеров.
    Где экзамплы из мана? Особенно вот это: "Читаем wghttp --help и изучаем переменные окружения, используемые для конфигурации". Кто так умеет, тому на это можно было и не указывать.
    Я не в плане токсичности, решение заслуживает внимания. Большое спасибо топик-стартеру за мысли. Но (имхо) тут или с экзамплами, или в 5 раз короче, решение не описано. Сорян за олдовые вставки.
     
  • 1.50, i (??), 10:25, 08/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Еще для подобно задачи есть wireproxy:
    https://github.com/octeep/wireproxy

    A wireguard client that exposes itself as a socks5 proxy or tunnels.

    Клиент не создает сетевых интерфейсов в системе.

     
  • 1.51, lme49860na (?), 18:11, 08/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >имеется порт для

    браузеров на основе Chromium
    Не работает

     
  • 1.52, Аноним (53), 01:08, 27/01/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что это за говнокостыль с прокси. Надо было сильно упороться что-бы такое городить.
     
  • 1.54, alexusfree (ok), 13:49, 05/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Простой запуск данного ПО 8Мб образ шустро работает но только SOCKS5 без автори... большой текст свёрнут, показать
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру