The OpenNET Project / Index page

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



"Раздел полезных советов: Выборочное туннелирование сайтов через WireGuard"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Выборочное туннелирование сайтов через WireGuard"  +2 +/
Сообщение от auto_tips (ok), 04-Июл-22, 19:42 
Идея проста: на 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б. В качестве альтернативы можно использовать pac-файлы.

8. PROFIT


URL:
Обсуждается: http://www.opennet.dev/tips/info/3206.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от pavlinux (ok), 04-Июл-22, 19:42   –17 +/
> Желательно дать сервису минимально возможные права.

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


Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #4, #9, #28, #36, #42, #49, #53

2. Сообщение от Аноним (2), 04-Июл-22, 21:39   +2 +/
Раз уже тут такое, то поделюсь своими секретами.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10, #32

3. Сообщение от bircoph (ok), 05-Июл-22, 15:04   +1 +/
И как это влияет на код? Кто финансирует - не важно, важна лицензия кода и кто владеет (последнее для крупных проектов, которые сообществу тяжело форкнуть).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #23, #30

4. Сообщение от Аноним (-), 05-Июл-22, 15:09   –2 +/
А кодит его Jason A Donefield, который ни в чем предосудительном замечен не был. И если бы он хотел что-то плохое, наверное не стал бы фрибсдшникам мешать внедрять код с вулнами, не?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #38

5. Сообщение от Аноним (5), 05-Июл-22, 21:26   +2 +/
Давно так делаю, только прокси поднят на впс, доступ к прокси только через VPN.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11

7. Сообщение от i (??), 06-Июл-22, 01:51   +2 +/
> 5. Пишем сценарий оболочки/программу, выставляющий переменные окружения в

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

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

> 8. PROFIT

Ответить | Правка | Наверх | Cообщить модератору

9. Сообщение от Аноним (9), 06-Июл-22, 11:27   +10 +/
Тебе разрешаю использовать VPN с шифрованием по госту.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

10. Сообщение от Аноним (9), 06-Июл-22, 11:28   –2 +/
> как будто

СХБ

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

11. Сообщение от Аноним (-), 06-Июл-22, 13:14   +/
> Давно так делаю, только прокси поднят на впс, доступ к прокси только через VPN.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #13

12. Сообщение от john_erohin (?), 06-Июл-22, 18:41   –1 +/
модератор, верни мой коммент как было.
за информацию о том, что nssm является spyware,
можно и простить некоторую грубость.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14

13. Сообщение от Аноним (5), 06-Июл-22, 21:02   +/
Не нужна, в качестве прокси использую Dante. Насколько я понял, автор выложил универсальное решение для тех у кого нет VPS, а есть только VPN туннель, решение пригодное как Linux так и для Windows.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

14. Сообщение от Аноним (-), 07-Июл-22, 05:09   +/
обоснуй
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #15

15. Сообщение от john_erohin (?), 07-Июл-22, 10:23   +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) куда он лезет в интернеты ? зачем ? у меня нет ответа.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #26

16. Сообщение от onanim (?), 07-Июл-22, 11:47   –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 туннель до вдски в свободной гейропейской стране.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #21, #43

17. Сообщение от onanim (?), 07-Июл-22, 11:48   +2 +/
а, таки дочитал пост до конца и увидел

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

18. Сообщение от Тот Самый (?), 07-Июл-22, 23:43   +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 он работать не будет.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20, #22

19. Сообщение от mos87 (ok), 08-Июл-22, 09:11   +/
TOR + bridges + proxy.pac
удовлетворит запросы наверное ок. 90% людей
Ответить | Правка | Наверх | Cообщить модератору

20. Сообщение от onanim (?), 08-Июл-22, 10:21   +/
> Аналогично можно использовать PAC, только для домена onion он работать не будет.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

21. Сообщение от Аноним (21), 09-Июл-22, 01:11   +/
>где nosok - SSH туннель до вдски в свободной гейропейской стране.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

22. Сообщение от Аноним (21), 09-Июл-22, 01:13   +/
>Вот, например, выборочное перенаправление в локальный TOR клиент.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

23. Сообщение от Аноним (23), 09-Июл-22, 10:13   –1 +/
> И как это влияет на код? важна лицензия кода и кто владеет (последнее для крупных проектов, которые сообществу тяжело форкнуть)

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #24

24. Сообщение от bircoph (ok), 09-Июл-22, 13:18   +/
Влияние в возможности контроля сообщества над процессом и направлением разработки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #25

25. Сообщение от Аноним (23), 09-Июл-22, 16:26   +/
И куда сообщество направляет разработку Linux?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #31

26. Сообщение от Аноним (26), 09-Июл-22, 20:44   +/
20.99.132.105:443 (TCP)
23.216.147.76:443 (TCP)

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #27

27. Сообщение от john_erohin (?), 09-Июл-22, 23:40   +/
> 20.99.132.105:443 (TCP)
> 23.216.147.76:443 (TCP)
> На Azure хостится, видимо.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

28. Сообщение от achtosluchilos (ok), 10-Июл-22, 15:35   +4 +/
завидуете что не фсб россии? код открыт, код минималистичен, бери да "верифицируй".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

29. Сообщение от Страдивариус (?), 10-Июл-22, 21:31   +1 +/
Все эти танцы с бубном нужно для того, что разделять российский трафик и остальной мир. Для этого iptables умеет geoip. Далее маркируем трафик. Далее делаем policy base routing на основе fwmark.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35, #37, #48

30. Сообщение от pavlinux (ok), 11-Июл-22, 02:22   –1 +/
> И как это влияет на код?

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


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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

31. Сообщение от bircoph (ok), 11-Июл-22, 14:31   +3 +/
> И куда сообщество направляет разработку Linux?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

32. Сообщение от keydon (ok), 12-Июл-22, 08:21   +/
увы, ssh довольно отвратно работает в качестве туннеля по скорости и стабильности
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #33

33. Сообщение от riv1329email (?), 12-Июл-22, 17:34   +/
Я такого не замечал. Ограничений скорости до 1ГБит/сек нет, а выше я не проверял.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #34

34. Сообщение от keydon (ok), 13-Июл-22, 01:38   +2 +/
> Я такого не замечал. Ограничений скорости до 1ГБит/сек нет, а выше я
> не проверял.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #40

35. Сообщение от AKTEON (?), 13-Июл-22, 07:57   +1 +/
Есть некоторые российские национал-предательские сервисы, которые хостятся в германии и банят все ip кроме российских ....
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

36. Сообщение от poehavshiy (?), 14-Июл-22, 08:04   +/
первый раз слышу, можно поподробнее, а луче пруф
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

37. Сообщение от poehavshiy (?), 14-Июл-22, 08:18   +/
ничего не понял, но очень интересно (да я дилетант too)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

38. Сообщение от Аноним (38), 14-Июл-22, 23:16   –5 +/
так пофиг, главное что правительство раши не имело влияние на код.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

40. Сообщение от Аноним (40), 16-Июл-22, 02:45   +/
Я подобную штуку наблюдал, если трафф из ssh заливать в проксю (squid например).
Может там на выходе у провайдера VPN стоит прозрачная прокся, которая пишет всё?
Но да, без ssh всё работало как лучше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

41. Сообщение от даладно (?), 17-Июл-22, 16:02   +/
danted + foxyproxy?
Ответить | Правка | Наверх | Cообщить модератору

42. Сообщение от pridurok (?), 25-Июл-22, 11:05   +4 +/
а вы знаете что модель tcp/ip финонсировалась министерстов обороны сша?! другими словами - so what!? если вы боитесь американских шпиёнов, то тогда ваще не нужне пользоваться интернетом/компьютером
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

43. Сообщение от Аноним (43), 05-Авг-22, 13:42   +2 +/
> (по крайней мере в фаерфоксе работает, любителям гугловских испражнений соболезную)

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #44

44. Сообщение от onanim (?), 17-Авг-22, 11:15   +/
>> (по крайней мере в фаерфоксе работает, любителям гугловских испражнений соболезную)
> Если бы не собственное неуместное мнение, комментарий был бы великолепным

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

45. Сообщение от ABATAPA (ok), 23-Авг-22, 12:25   +/
ipset + iptables / nftables + wireguard
Работает годы.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #46

46. Сообщение от А (??), 25-Авг-22, 14:50   –1 +/
Причём

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

47. Сообщение от l0 (?), 03-Сен-22, 02:18   +1 +/
На самом деле - очень познавательно.
За исключением одного-двух "но".
Ежели ты 0дмин с 10-15-30 летним стажем, ты можешь сказать "о, норм, так тоже хорошо, но у меня ещё 50 разных вариантов есть. И "лично для меня" они лучше/удобнее/проще и т.д.
А ежели ты юзверь мастдайный, то зачем этот пост?
Да и для 0дминов/кодеров.
Где экзамплы из мана? Особенно вот это: "Читаем wghttp --help и изучаем переменные окружения, используемые для конфигурации". Кто так умеет, тому на это можно было и не указывать.
Я не в плане токсичности, решение заслуживает внимания. Большое спасибо топик-стартеру за мысли. Но (имхо) тут или с экзамплами, или в 5 раз короче, решение не описано. Сорян за олдовые вставки.
Ответить | Правка | Наверх | Cообщить модератору

48. Сообщение от nikosd (ok), 05-Сен-22, 11:11   +/
обнаруживаем  иностранный сайт, который среди прочего использует аналитику  от Яндекс и видит что  мы идем  "с запрещенных земель", радуемся результату разделения по IP.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

49. Сообщение от DmA (??), 07-Сен-22, 10:34   +/
TCP тем более нельзя использовать :(
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

50. Сообщение от i (??), 08-Сен-22, 10:25   +/
Еще для подобно задачи есть wireproxy:
https://github.com/octeep/wireproxy

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

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

Ответить | Правка | Наверх | Cообщить модератору

51. Сообщение от lme49860na (?), 08-Сен-22, 18:11   +/
>имеется порт для

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

Ответить | Правка | Наверх | Cообщить модератору

52. Сообщение от Аноним (53), 27-Янв-23, 01:08   +/
Что это за говнокостыль с прокси. Надо было сильно упороться что-бы такое городить.
Ответить | Правка | Наверх | Cообщить модератору

53. Сообщение от Аноним (53), 27-Янв-23, 01:12   +/
И что? Так это отлично, главное что бы в спонсорах никого не было причастных из кремля.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #55

54. Сообщение от alexusfree (ok), 05-Июл-24, 13:49   +/
Простой запуск данного ПО. 8Мб образ шустро работает но только SOCKS5 без авторизации.
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                              # [Interface].Address
      PRIVATE_KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
      PEER_KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=     # [Peer].PublicKey
      PEER_ENDPOINT: 'xxxxxxxxxx.duckdns.org:4xxx'
      DNS: 8.8.8.8         # optional
      MTU: 1450            # optional default 1280

дополнительные настройки.
"private-key"   env:"PRIVATE_KEY"   required:"true" description:"[Interface].PrivateKey for WireGuard client (format: base64)"`
"client-ip"     env:"CLIENT_IP"     required:"true" description:"[Interface].Address for WireGuard client (can be set multiple times)"`
"peer-endpoint" env:"PEER_ENDPOINT" required:"true" description:"[Peer].Endpoint for WireGuard server (format: host:port)"`
"peer-key"      env:"PEER_KEY"      required:"true" description:"[Peer].PublicKey for WireGuard server (format: base64)"`

"dns"           env:"DNS"                description:"[Interface].DNS    for WireGuard network (format: protocol://ip:port) Protocol includes udp(default), tcp, tls(DNS over TLS) and https(DNS over HTTPS)"`
"mtu"           env:"MTU" default:"1280" description:"[Interface].MTU    for WireGuard network"`
"client-port"   env:"CLIENT_PORT"        description:"[Interface].ListenPort    for WireGuard client (optional)"`
"preshared-key" env:"PRESHARED_KEY"      description:"[Peer].PresharedKey    for WireGuard network (optional, format: base64)"`
"keepalive-interval" env:"KEEPALIVE_INTERVAL" description:"[Peer].PersistentKeepalive    for WireGuard network (optional)"`
"resolve-dns"        env:"RESOLVE_DNS"       description:"DNS for resolving WireGuard server address (optional, format: protocol://ip:port) Protocol includes udp(default), tcp, tls(DNS over TLS) and https(DNS over HTTPS)"`
"resolve-interval"   env:"RESOLVE_INTERVAL" default:"1m" description:"Interval for resolving WireGuard server address (set 0 to disable)"`
"listen"             env:"LISTEN" default:"localhost:8080" description:"HTTP & SOCKS5 server address"`
"exit-mode"          env:"EXIT_MODE" choice:"remote" choice:"local" default:"remote" description:"Exit mode"`


Ответить | Правка | Наверх | Cообщить модератору

55. Сообщение от Andr (??), 01-Авг-24, 02:08   +/
В рот возьму, но не поздароваюсь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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