Идея проста: на 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.me/tips/info/3206.shtml
> Желательно дать сервису минимально возможные права.В курсе, что WireGuard, через CISA, спонсируется Конгрессом США?
И как это влияет на код? Кто финансирует - не важно, важна лицензия кода и кто владеет (последнее для крупных проектов, которые сообществу тяжело форкнуть).
> И как это влияет на код? важна лицензия кода и кто владеет (последнее для крупных проектов, которые сообществу тяжело форкнуть)И как это влияет на код?
Влияние в возможности контроля сообщества над процессом и направлением разработки.
И куда сообщество направляет разработку Linux?
> И куда сообщество направляет разработку Linux?К отсутствию C++ в ядре, к постепенному отказу от проприетарных модулей (EXPORT_SYMBOL_GPL).
> И как это влияет на код?Они обязаны оставлять дыры для спец. служб.
> Кто финансирует - не важно,Кто девушку ужинает, тот её и танцует.
А кодит его Jason A Donefield, который ни в чем предосудительном замечен не был. И если бы он хотел что-то плохое, наверное не стал бы фрибсдшникам мешать внедрять код с вулнами, не?
так пофиг, главное что правительство раши не имело влияние на код.
Тебе разрешаю использовать VPN с шифрованием по госту.
завидуете что не фсб россии? код открыт, код минималистичен, бери да "верифицируй".
первый раз слышу, можно поподробнее, а луче пруф
а вы знаете что модель tcp/ip финонсировалась министерстов обороны сша?! другими словами - so what!? если вы боитесь американских шпиёнов, то тогда ваще не нужне пользоваться интернетом/компьютером
TCP тем более нельзя использовать :(
И что? Так это отлично, главное что бы в спонсорах никого не было причастных из кремля.
Раз уже тут такое, то поделюсь своими секретами.Если есть WireGuard, то где-то неподалеку есть и SSH. Тогда вместо прокси сервера и WireGuard можно использовать SSH:
ssh -D 1337 -q -i ~/.ssh/user.cer -C -N random@10.0.0.1И как будто в статье не раскрыта тема конфигурации WireGuard. Если есть туннель, то это ещё не значит, что сервер будет радостно перенаправлять весь приходящий от клиента трафик. Или я заблуждаюсь?
> как будтоСХБ
увы, ssh довольно отвратно работает в качестве туннеля по скорости и стабильности
Я такого не замечал. Ограничений скорости до 1ГБит/сек нет, а выше я не проверял.
> Я такого не замечал. Ограничений скорости до 1ГБит/сек нет, а выше я
> не проверял.Мб у меня руки кривые, но при банальном веб серфинге ~30 вкладок фурифлкса с туннелем в нидерландах начинается какая-то жесть с подвисанием соединения. И судя по форумам и рассылкам - такая проблема не только у меня и только через ssh. Через vpn (tcp, udp) проблем нет, потерь пакетов нет, латенси в норме порядка 50мс, юзаю foxyproxy. При использовании ssh без туннеля тоже все отлично.
клиент и сервер оба на OpenSSH_8.2p1
Я подобную штуку наблюдал, если трафф из ssh заливать в проксю (squid например).
Может там на выходе у провайдера VPN стоит прозрачная прокся, которая пишет всё?
Но да, без ssh всё работало как лучше.
Давно так делаю, только прокси поднят на впс, доступ к прокси только через VPN.
> Давно так делаю, только прокси поднят на впс, доступ к прокси только через VPN.Так для этого нафиг не нужна та хрень на игого?!
Не нужна, в качестве прокси использую Dante. Насколько я понял, автор выложил универсальное решение для тех у кого нет VPS, а есть только VPN туннель, решение пригодное как Linux так и для Windows.
> 5. Пишем сценарий оболочки/программу, выставляющий переменные окружения внужные значения и запускающий прокси.
0. Пишем код выборочно туннелирующий нужные сайты.
1. PROFIT> 8. PROFIT
модератор, верни мой коммент как было.
за информацию о том, что nssm является spyware,
можно и простить некоторую грубость.
обоснуй
do it yourself.1) скачай образцы nssm.exe с оф.сайта и с гитхаба. штуки 4-6 будет достаточно,
если нет - скачивай все nssm*.exe что попадутся в поиске.2) добавь в конец каждого .exe рандомный мусор 5-10 байт, например так:
echo sd--5676==jyg >> nssmxxx.exe3) залей nssmxxx.exe на virustotal.com
4) сигнатурный анализ можно игнорировать (но можно и учесть).
главное - поведенческий анализ. дождись его окончания.5) куда он лезет в интернеты ? зачем ? у меня нет ответа.
20.99.132.105:443 (TCP)
23.216.147.76:443 (TCP)На Azure хостится, видимо.
> 20.99.132.105:443 (TCP)
> 23.216.147.76:443 (TCP)
> На Azure хостится, видимо.без разницы вообще: Azure, DO, AWS или еще какая помойка.
srvany почему-то никуда не лез.
нафига такие сложности?! уже лет двадцать как все нормальные браузеры поддерживают файлы 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 туннель до вдски в свободной гейропейской стране.
а, таки дочитал пост до конца и увидел> 7б. В качестве альтернативы можно использовать pac-файлы.
это первым пунктом должно было идти, вместо выкачивания 700 мегабайт добра в пункте 2
>где nosok - SSH туннель до вдски в свободной гейропейской стране.А тут - туннель вайргард. "Бесплатный". Как сыр в мышеловке, но у меня всё по TLS, так что срать я хотел, что они там прослушают, всё равно не расшифруют. Впска не нужна. Вдска тоже. В отщичие от них у впна айпишник один для многих пользователей.
> (по крайней мере в фаерфоксе работает, любителям гугловских испражнений соболезную)Если бы не собственное неуместное мнение, комментарий был бы великолепным
>> (по крайней мере в фаерфоксе работает, любителям гугловских испражнений соболезную)
> Если бы не собственное неуместное мнение, комментарий был бы великолепнымвполне уместное, в вашем гугле скоро umatrix и ublock работать перестанут.
>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 он работать не будет.
> Аналогично можно использовать PAC, только для домена onion он работать не будет.будет, я именно для хождения в тор с обычного браузера PAC и использовал.
>Вот, например, выборочное перенаправление в локальный TOR клиент.А тут - в wireguard туннель.
TOR + bridges + proxy.pac
удовлетворит запросы наверное ок. 90% людей
Все эти танцы с бубном нужно для того, что разделять российский трафик и остальной мир. Для этого iptables умеет geoip. Далее маркируем трафик. Далее делаем policy base routing на основе fwmark.А вы, товарищи - дилетанты.
Есть некоторые российские национал-предательские сервисы, которые хостятся в германии и банят все ip кроме российских ....
ничего не понял, но очень интересно (да я дилетант too)
обнаруживаем иностранный сайт, который среди прочего использует аналитику от Яндекс и видит что мы идем "с запрещенных земель", радуемся результату разделения по IP.
danted + foxyproxy?
ipset + iptables / nftables + wireguard
Работает годы.
Причём> Устанавливаем браузерное дополнение
делает время жизни решения равным короткому времени сушествования неизвестного дополнения под диапазон версий браузера.
Как упражнение - неплохо. Как решение - нет.
На самом деле - очень познавательно.
За исключением одного-двух "но".
Ежели ты 0дмин с 10-15-30 летним стажем, ты можешь сказать "о, норм, так тоже хорошо, но у меня ещё 50 разных вариантов есть. И "лично для меня" они лучше/удобнее/проще и т.д.
А ежели ты юзверь мастдайный, то зачем этот пост?
Да и для 0дминов/кодеров.
Где экзамплы из мана? Особенно вот это: "Читаем wghttp --help и изучаем переменные окружения, используемые для конфигурации". Кто так умеет, тому на это можно было и не указывать.
Я не в плане токсичности, решение заслуживает внимания. Большое спасибо топик-стартеру за мысли. Но (имхо) тут или с экзамплами, или в 5 раз короче, решение не описано. Сорян за олдовые вставки.
Еще для подобно задачи есть wireproxy:
https://github.com/octeep/wireproxyA wireguard client that exposes itself as a socks5 proxy or tunnels.
Клиент не создает сетевых интерфейсов в системе.
>имеется порт длябраузеров на основе Chromium
Не работает
Что это за говнокостыль с прокси. Надо было сильно упороться что-бы такое городить.